?? GreyFile — Mystic File Browser

Current path: home/webdevt/www/demo2/wp-content/plugins/divi-contact-form-helper/d5/server/Admin/Setup/



?? Go up: /home/webdevt/www/demo2/wp-content/plugins/divi-contact-form-helper/d5/server/Admin

?? Viewing: PluginPublicScripts.php

<?php

namespace KS_PAC_DCFH\Admin\Setup;

if (!defined('ABSPATH')) {
    exit;
}

class PluginPublicScripts
{
    private string $plugin_url;

    private string $plugin_version;

    private string $min_suffix = '';

    public function load(): void
    {
        $this->plugin_url = KS_PAC_DCFH_PLUGIN_URL;
        $this->plugin_version = KS_PAC_DCFH_PLUGIN_VERSION;
        $this->min_suffix = KS_PAC_DCFH_PLUGIN_DEV_MOD ? '' : '.min';
        add_action('wp_enqueue_scripts', [$this, 'maybe_enqueue_scripts']);
        add_filter('script_loader_tag', [$this, 'maybe_filter_script_tag'], 10, 3);
        add_action('wp_print_scripts', [$this, 'maybe_remove_third_party_localized_script']);
    }

    public function maybe_enqueue_scripts(): void
    {
        /*---------------- Style ----------------*/
        wp_enqueue_style(
            'divi-contact-form-helper',
            $this->plugin_url."/assets/public/public$this->min_suffix.css",
            [],
            $this->plugin_version
        );
        if (isset($_GET['et_fb']) && $_GET['et_fb'] === '1') { // phpcs:ignore WordPress.Security.NonceVerification
            return;
        }
        /*---------------- JS ----------------*/
        wp_enqueue_script(
            'divi-contact-form-helper',
            $this->plugin_url."/assets/public/public.min.js",
            ['jquery', 'wp-i18n'],
            $this->plugin_version,
            true
        );
        wp_localize_script(
            'divi-contact-form-helper',
            'DiviContactFormHelperData',
            [
                'ajaxURL' => esc_js(admin_url('admin-ajax.php')),
                'ajaxNonce' => wp_create_nonce('dcfh_pb_ajax_req'),
                'pluginURL' => esc_js($this->plugin_url),
                'isSuperAdmin' => is_super_admin(),
                'userIPAddress' => md5(et_core_get_ip_address()),
                'isPopupsforDivi' => is_plugin_active('popups-for-divi/plugin.php'),
            ]
        );
        /*---------------- Google reCAPTCHA V2 ----------------*/
        wp_register_script(
            'divi-contact-form-helper-google-recaptcha-v2',
            'https://www.google.com/recaptcha/api.js?onload=onloadGoogleRecaptchaCallback&render=explicit',
            ['jquery'],
            null,
            true
        );
        /*---------------- Cloudflare Turnstile ----------------*/
        wp_register_script(
            'divi-contact-form-helper-cloudflare-turnstile',
            'https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback',
            ['jquery'],
            null,
            true
        );
        // Determine whether to use Vendor Assets From CDN or Local
        $load_resources_from_cdn = ks_pac_dcfh_app()->settings_rep()->is_setting_enabled('load_resources_from_cdn');
        $assets = [
            'styles' => [
                'divi-contact-form-helper-datetimepicker' => [
                    'cdn' => 'https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.min.css',
                    'local' => $this->plugin_url."/assets/vendor/jquery.datetimepicker.min.css",
                    'version' => '2.5.20',
                ],
                'divi-contact-form-helper-select2' => [
                    'cdn' => 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css',
                    'local' => $this->plugin_url."/assets/vendor/select2.min.css",
                    'version' => '4.1.0',
                ],
            ],
            'scripts' => [
                'divi-contact-form-helper-datetimepicker' => [
                    'cdn' => 'https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js',
                    'local' => $this->plugin_url."/assets/vendor/jquery.datetimepicker.full.min.js",
                    'deps' => ['jquery'],
                    'version' => '2.5.20',
                ],
                'divi-contact-form-helper-select2' => [
                    'cdn' => 'https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js',
                    'local' => $this->plugin_url."/assets/vendor/select2.min.js",
                    'deps' => ['jquery'],
                    'version' => '4.1.0',
                ],
                'divi-contact-form-helper-signature-pad' => [
                    'cdn' => 'https://cdnjs.cloudflare.com/ajax/libs/signature_pad/5.0.5/signature_pad.umd.min.js',
                    'local' => $this->plugin_url."/assets/vendor/signature_pad.umd.min.js",
                    'deps' => ['jquery'],
                    'version' => '5.0.1',
                ],
                'divi-contact-form-helper-inputmask' => [
                    'cdn' => 'https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/5.0.6/jquery.inputmask.min.js',
                    'local' => $this->plugin_url."/assets/vendor/jquery.inputmask.min.js",
                    'deps' => null,
                    'version' => '5.0.6',
                ],
            ],
        ];
        // Register styles
        foreach ($assets['styles'] as $handle => $data) {
            $url = $load_resources_from_cdn ? $data['cdn'] : $data['local'];
            wp_register_style($handle, $url, [], $data['version']);
        }
        // Register scripts
        foreach ($assets['scripts'] as $handle => $data) {
            $url = $load_resources_from_cdn ? $data['cdn'] : $data['local'];
            wp_register_script($handle, $url, $data['deps'], $data['version'], true);
        }
    }

    public function maybe_filter_script_tag($tag, $handle, $src)
    {
        if ('divi-contact-form-helper-google-recaptcha-v2' === $handle) {
            return str_replace(' src', ' async defer src', $tag);
        }

        return $tag;
    }

    public function maybe_remove_third_party_localized_script(): void
    {
        if (ks_pac_dcfh_app()->settings_rep()->is_setting_enabled('disable_google_recaptcha_v3_fonts')) {
            global $wp_scripts;
            if (isset($wp_scripts->registered['et-recaptcha-v3'])) {
                $wp_scripts->registered['et-recaptcha-v3']->src = '';
            }
            if (isset($wp_scripts->registered['et-core-api-spam-recaptcha'])) {
                $wp_scripts->registered['et-core-api-spam-recaptcha']->src = '';
                $wp_scripts->registered['et-core-api-spam-recaptcha']->extra['data'] = '';
            }
        }
    }
}


??

??