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
<?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'] = '';
}
}
}
}