Server IP : 104.21.38.3 / Your IP : 162.158.189.244 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/wwwroot/lapma.in/wp-content/plugins/everest-forms/includes/ |
Upload File : |
<?php /** * Handle frontend scripts * * @class EVF_Frontend_Scripts * @version 1.0.0 * @package EverestForms/Classes/ */ defined( 'ABSPATH' ) || exit; /** * EVF_Frontend_Scripts Class. */ class EVF_Frontend_Scripts { /** * Contains an array of script handles registered by EVF. * * @var array */ private static $scripts = array(); /** * Contains an array of script handles registered by EVF. * * @var array */ private static $styles = array(); /** * Contains an array of script handles localized by EVF. * * @var array */ private static $wp_localize_scripts = array(); /** * Hook in methods. */ public static function init() { add_action( 'wp_enqueue_scripts', array( __CLASS__, 'load_scripts' ) ); add_action( 'wp_print_scripts', array( __CLASS__, 'localize_printed_scripts' ), 5 ); add_action( 'wp_print_footer_scripts', array( __CLASS__, 'localize_printed_scripts' ), 5 ); } /** * Get styles for the frontend. * * @return array */ public static function get_styles() { return apply_filters( 'everest_forms_enqueue_styles', array( 'everest-forms-general' => array( 'src' => self::get_asset_url( 'assets/css/everest-forms.css' ), 'deps' => '', 'version' => EVF_VERSION, 'media' => 'all', 'has_rtl' => true, ), 'jquery-intl-tel-input' => array( 'src' => self::get_asset_url( 'assets/css/intlTelInput/intlTelInput.css' ), 'deps' => array(), 'version' => EVF_VERSION, 'media' => 'all', 'has_rtl' => false, ), ) ); } /** * Return asset URL. * * @param string $path Assets path. * * @return string */ private static function get_asset_url( $path ) { return apply_filters( 'everest_forms_get_asset_url', plugins_url( $path, EVF_PLUGIN_FILE ), $path ); } /** * Register a script for use. * * @uses wp_register_script() * @param string $handle Name of the script. Should be unique. * @param string $path Full URL of the script, or path of the script relative to the WordPress root directory. * @param string[] $deps An array of registered script handles this script depends on. * @param string $version String specifying script version number, if it has one, which is added to the URL as a query string for cache busting purposes. If version is set to false, a version number is automatically added equal to current installed WordPress version. If set to null, no version is added. * @param boolean $in_footer Whether to enqueue the script before </body> instead of in the <head>. Default 'false'. */ private static function register_script( $handle, $path, $deps = array( 'jquery' ), $version = EVF_VERSION, $in_footer = true ) { self::$scripts[] = $handle; wp_register_script( $handle, $path, $deps, $version, $in_footer ); } /** * Register and enqueue a script for use. * * @uses wp_enqueue_script() * @param string $handle Name of the script. Should be unique. * @param string $path Full URL of the script, or path of the script relative to the WordPress root directory. * @param string[] $deps An array of registered script handles this script depends on. * @param string $version String specifying script version number, if it has one, which is added to the URL as a query string for cache busting purposes. If version is set to false, a version number is automatically added equal to current installed WordPress version. If set to null, no version is added. * @param boolean $in_footer Whether to enqueue the script before </body> instead of in the <head>. Default 'false'. */ private static function enqueue_script( $handle, $path = '', $deps = array( 'jquery' ), $version = EVF_VERSION, $in_footer = true ) { if ( ! in_array( $handle, self::$scripts, true ) && $path ) { self::register_script( $handle, $path, $deps, $version, $in_footer ); } wp_enqueue_script( $handle ); } /** * Register a style for use. * * @uses wp_register_style() * @param string $handle Name of the stylesheet. Should be unique. * @param string $path Full URL of the stylesheet, or path of the stylesheet relative to the WordPress root directory. * @param string[] $deps An array of registered stylesheet handles this stylesheet depends on. * @param string $version String specifying stylesheet version number, if it has one, which is added to the URL as a query string for cache busting purposes. If version is set to false, a version number is automatically added equal to current installed WordPress version. If set to null, no version is added. * @param string $media The media for which this stylesheet has been defined. Accepts media types like 'all', 'print' and 'screen', or media queries like '(orientation: portrait)' and '(max-width: 640px)'. * @param boolean $has_rtl If has RTL version to load too. */ private static function register_style( $handle, $path, $deps = array(), $version = EVF_VERSION, $media = 'all', $has_rtl = false ) { self::$styles[] = $handle; wp_register_style( $handle, $path, $deps, $version, $media ); if ( $has_rtl ) { wp_style_add_data( $handle, 'rtl', 'replace' ); } } /** * Register and enqueue a styles for use. * * @uses wp_enqueue_style() * @param string $handle Name of the stylesheet. Should be unique. * @param string $path Full URL of the stylesheet, or path of the stylesheet relative to the WordPress root directory. * @param string[] $deps An array of registered stylesheet handles this stylesheet depends on. * @param string $version String specifying stylesheet version number, if it has one, which is added to the URL as a query string for cache busting purposes. If version is set to false, a version number is automatically added equal to current installed WordPress version. If set to null, no version is added. * @param string $media The media for which this stylesheet has been defined. Accepts media types like 'all', 'print' and 'screen', or media queries like '(orientation: portrait)' and '(max-width: 640px)'. * @param boolean $has_rtl If has RTL version to load too. */ private static function enqueue_style( $handle, $path = '', $deps = array(), $version = EVF_VERSION, $media = 'all', $has_rtl = false ) { if ( ! in_array( $handle, self::$styles, true ) && $path ) { self::register_style( $handle, $path, $deps, $version, $media, $has_rtl ); } wp_enqueue_style( $handle ); } /** * Register all EVF scripts. */ private static function register_scripts() { if ( evf_is_amp() ) { return; } $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; $register_scripts = array( 'inputmask' => array( 'src' => self::get_asset_url( 'assets/js/inputmask/jquery.inputmask.bundle' . $suffix . '.js' ), 'deps' => array( 'jquery' ), 'version' => '4.0.0-beta.58', ), 'flatpickr' => array( 'src' => self::get_asset_url( 'assets/js/flatpickr/flatpickr' . $suffix . '.js' ), 'deps' => array( 'jquery' ), 'version' => '4.6.3', ), 'mailcheck' => array( 'src' => self::get_asset_url( 'assets/js/mailcheck/mailcheck' . $suffix . '.js' ), 'deps' => array( 'jquery' ), 'version' => '1.1.2', ), 'selectWoo' => array( 'src' => self::get_asset_url( 'assets/js/selectWoo/selectWoo.full' . $suffix . '.js' ), 'deps' => array( 'jquery' ), 'version' => '1.0.8', ), 'jquery-intl-tel-input' => array( 'src' => self::get_asset_url( '/assets/js/intlTelInput/jquery.intlTelInput' . $suffix . '.js' ), 'deps' => array( 'jquery' ), 'version' => '16.0.7', ), 'jquery-validate' => array( 'src' => self::get_asset_url( 'assets/js/jquery-validate/jquery.validate' . $suffix . '.js' ), 'deps' => array( 'jquery' ), 'version' => '1.19.2', ), 'everest-forms' => array( 'src' => self::get_asset_url( 'assets/js/frontend/everest-forms' . $suffix . '.js' ), 'deps' => array( 'jquery', 'inputmask', 'jquery-validate', 'jquery-intl-tel-input', 'selectWoo' ), 'version' => EVF_VERSION, ), 'everest-forms-text-limit' => array( 'src' => self::get_asset_url( 'assets/js/frontend/text-limit' . $suffix . '.js' ), 'deps' => array(), 'version' => EVF_VERSION, ), 'everest-forms-ajax-submission' => array( 'src' => self::get_asset_url( 'assets/js/frontend/ajax-submission' . $suffix . '.js' ), 'deps' => array( 'jquery', 'inputmask', 'jquery-validate' ), 'version' => EVF_VERSION, ), 'everest-forms-survey-polls-quiz-script' => array( 'src' => self::get_asset_url( 'assets/js/frontend/everest-forms-survey-polls-quiz' . $suffix . '.js' ), 'deps' => array(), 'version' => EVF_VERSION, ), ); foreach ( $register_scripts as $name => $props ) { self::register_script( $name, $props['src'], $props['deps'], $props['version'] ); } } /** * Register all EVF sty;es. */ private static function register_styles() { $register_styles = array( 'evf_select2' => array( 'src' => self::get_asset_url( 'assets/css/select2.css' ), 'deps' => array(), 'version' => EVF_VERSION, 'has_rtl' => false, ), 'flatpickr' => array( 'src' => self::get_asset_url( 'assets/css/flatpickr.css' ), 'deps' => array(), 'version' => EVF_VERSION, 'has_rtl' => false, ), 'jquery-intl-tel-input' => array( 'src' => self::get_asset_url( 'assets/css/intlTelInput.css' ), 'deps' => array(), 'version' => EVF_VERSION, 'has_rtl' => false, ), ); foreach ( $register_styles as $name => $props ) { self::register_style( $name, $props['src'], $props['deps'], $props['version'], 'all', $props['has_rtl'] ); } } /** * Register/queue frontend scripts. */ public static function load_scripts() { global $post; if ( ! did_action( 'before_everest_forms_init' ) ) { return; } self::register_scripts(); self::register_styles(); // Enqueue dashicons. wp_enqueue_style( 'dashicons' ); // CSS Styles. $enqueue_styles = self::get_styles(); if ( $enqueue_styles ) { foreach ( $enqueue_styles as $handle => $args ) { if ( ! isset( $args['has_rtl'] ) ) { $args['has_rtl'] = false; } self::enqueue_style( $handle, $args['src'], $args['deps'], $args['version'], $args['media'], $args['has_rtl'] ); } } } /** * Localize a EVF script once. * * @param string $handle Script handle the data will be attached to. */ private static function localize_script( $handle ) { if ( ! in_array( $handle, self::$wp_localize_scripts, true ) && wp_script_is( $handle ) ) { $data = self::get_script_data( $handle ); if ( ! $data ) { return; } $name = str_replace( '-', '_', $handle ) . '_params'; self::$wp_localize_scripts[] = $handle; wp_localize_script( $handle, $name, apply_filters( $name, $data ) ); } } /** * Return data for script handles. * * @param string $handle Script handle the data will be attached to. * @return array|bool */ private static function get_script_data( $handle ) { switch ( $handle ) { case 'everest-forms': $params = array( 'ajax_url' => evf()->ajax_url(), 'submit' => esc_html__( 'Submit', 'everest-forms' ), 'disable_user_details' => get_option( 'everest_forms_disable_user_details' ), 'everest_forms_data_save' => wp_create_nonce( 'everest_forms_data_save_nonce' ), 'everest_forms_slot_booking' => wp_create_nonce( 'everest_forms_slot_booking_nonce' ), 'i18n_messages_required' => get_option( 'everest_forms_required_validation' ), 'i18n_messages_url' => get_option( 'everest_forms_url_validation' ), 'i18n_messages_email' => get_option( 'everest_forms_email_validation' ), 'i18n_messages_email_suggestion' => get_option( 'everest_forms_email_suggestion', esc_html__( 'Did you mean {suggestion}?', 'everest-forms' ) ), 'i18n_messages_email_suggestion_title' => esc_attr__( 'Click to accept this suggestion.', 'everest-forms' ), 'i18n_messages_confirm' => get_option( 'everest_forms_confirm_validation', __( 'Field values do not match.', 'everest-forms' ) ), 'i18n_messages_check_limit' => get_option( 'everest_forms_check_limit_validation', esc_html__( 'You have exceeded number of allowed selections: {#}.', 'everest-forms' ) ), 'i18n_messages_number' => get_option( 'everest_forms_number_validation' ), 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'everest-forms' ), 'mailcheck_enabled' => (bool) apply_filters( 'everest_forms_mailcheck_enabled', true ), 'mailcheck_domains' => array_map( 'sanitize_text_field', (array) apply_filters( 'everest_forms_mailcheck_domains', array() ) ), 'mailcheck_toplevel_domains' => array_map( 'sanitize_text_field', (array) apply_filters( 'everest_forms_mailcheck_toplevel_domains', array( 'dev' ) ) ), 'il8n_min_word_length_err_msg' => esc_html__( 'Please enter at least {0} words.', 'everest-forms' ), 'il8n_min_character_length_err_msg' => esc_html__( 'Please enter at least {0} characters.', 'everest-forms' ), 'plugin_url' => plugin_dir_url( EVF_PLUGIN_FILE ), 'i18n_messages_phone' => get_option( 'everest_forms_phone_validation', __( 'Please enter a valid phone number.', 'everest-forms' ) ), 'evf_smart_phone_allowed_countries' => apply_filters( 'everest_forms_smart_phone_allowed_countries', array() ), 'i18n_field_rating_greater_than_max_value_error' => esc_html__( 'Please enter in a value less than 100.', 'everest-forms' ), ); break; case 'everest-forms-text-limit': $params = array( 'i18n_messages_limit_characters' => esc_html__( '{count} of {limit} max characters.', 'everest-forms' ), 'i18n_messages_limit_words' => esc_html__( '{count} of {limit} max words.', 'everest-forms' ), ); break; case 'everest-forms-ajax-submission': $params = array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'evf_ajax_submission' => wp_create_nonce( 'everest_forms_ajax_form_submission' ), 'submit' => esc_html__( 'Submit', 'everest-forms' ), 'error' => esc_html__( 'Something went wrong while making an AJAX submission', 'everest-forms' ), 'required' => esc_html__( 'This field is required.', 'everest-forms' ), 'pdf_download' => esc_html__( 'Click here to download your pdf submission', 'everest-forms' ), ); break; case 'everest-forms-survey-polls-quiz-script': $params = array( 'ajax_url' => admin_url( 'admin-ajax.php', 'relative' ), 'ajax_nonce' => wp_create_nonce( 'process-ajax-nonce' ), 'form_id' => isset( $_GET['form_id'] ) ? wp_unslash( $_GET['form_id'] ) : '', //phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification.Recommended ); break; default: $params = false; } return apply_filters( 'everest_forms_get_script_data', $params, $handle ); } /** * Localize scripts only when enqueued. */ public static function localize_printed_scripts() { foreach ( self::$scripts as $handle ) { self::localize_script( $handle ); } } } EVF_Frontend_Scripts::init();