motion-dialog .premium-promotion-btn { background-color: #202124 !important }' ); } $badge_text = Helper_Functions::get_badge(); $dynamic_css = sprintf( '#elementor-panel [class^="pa-"]::after, #elementor-panel [class*=" pa-"]::after { content: "%s"; }', $badge_text ); wp_add_inline_style( 'pa-editor', $dynamic_css ); } /** * Register Frontend CSS files * * @since 2.9.0 * @access public */ public function register_frontend_styles() { $dir = Helper_Functions::get_styles_dir(); $suffix = Helper_Functions::get_assets_suffix(); $is_rtl = is_rtl() ? '-rtl' : ''; wp_register_style( 'font-awesome-5-all', ELEMENTOR_ASSETS_URL . 'lib/font-awesome/css/all.min.css', false, PREMIUM_ADDONS_VERSION ); wp_register_style( 'pa-flipster', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/flipster' . $suffix . '.css', false, PREMIUM_ADDONS_VERSION ); wp_register_style( 'pa-prettyphoto', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/prettyphoto' . $is_rtl . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'pa-btn', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/button-line' . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'pa-load-animations', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/load-animations' . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'pa-share-btn', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/share-button' . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'pa-image-effects', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/image-effects' . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'pa-slick', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/slick' . $is_rtl . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'pa-world-clock', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-world-clock' . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'tooltipster', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/tooltipster.min.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'pa-gTooltips', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-global-tooltips' . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); wp_register_style( 'pa-shape-divider', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-shape-divider' . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); $assets_gen_enabled = isset( self::$modules['premium-assets-generator'] ) && self::$modules['premium-assets-generator'] ? true : false; $type = get_post_type(); // If dynamic assets is disabled. if ( ! $assets_gen_enabled || ( 'page' !== $type && 'post' !== $type ) ) { $this->enqueue_old_styles( $dir, $is_rtl, $suffix ); } else { $css_path = '/pa-frontend' . $is_rtl . '-' . Assets_Manager::$post_id . $suffix . '.css'; if ( Assets_Manager::$is_updated && file_exists( PREMIUM_ASSETS_PATH . $css_path ) ) { wp_enqueue_style( 'pa-frontend', PREMIUM_ASSETS_URL . $css_path, array(), time(), 'all' ); } $pa_elements = get_option( 'pa_elements_' . Assets_Manager::$post_id, array() ); // If the assets are not updated, or they are updated but the dynamic CSS file has not been loaded for any reason. if ( 'empty' === self::$css_content || ! Assets_Manager::$is_updated || ( ! empty( $pa_elements ) && ! wp_style_is( 'pa-frontend', 'enqueued' ) ) ) { $this->enqueue_old_styles( $dir, $is_rtl, $suffix ); } } } /** * Register Old Styles * * @since 4.9.0 * @access public * * @param string $directory style directory. * @param string $is_rtl page direction. * @param string $suffix file suffix. */ public function enqueue_old_styles( $directory, $is_rtl, $suffix ) { wp_enqueue_style( 'premium-addons', PREMIUM_ADDONS_URL . 'assets/frontend/' . $directory . '/premium-addons' . $is_rtl . $suffix . '.css', array(), PREMIUM_ADDONS_VERSION, 'all' ); } /** * Registers required JS files * * @since 1.0.0 * @access public */ public function register_frontend_scripts() { $maps_settings = self::$integrations; $dir = Helper_Functions::get_scripts_dir(); $suffix = Helper_Functions::get_assets_suffix(); $locale = isset( $maps_settings['premium-map-locale'] ) ? $maps_settings['premium-map-locale'] : 'en'; $assets_gen_enabled = isset( self::$modules['premium-assets-generator'] ) && self::$modules['premium-assets-generator'] ? true : false; $type = get_post_type(); if ( $assets_gen_enabled && ( 'page' === $type || 'post' === $type ) ) { // If the elemens are cached and ready to generate. if ( Assets_Manager::$is_updated ) { Assets_Manager::generate_asset_file( 'js' ); self::$css_content = Assets_Manager::generate_asset_file( 'css' ); } $js_path = '/pa-frontend-' . Assets_Manager::$post_id . $suffix . '.js'; if ( file_exists( PREMIUM_ASSETS_PATH . $js_path ) ) { wp_enqueue_script( 'pa-frontend', PREMIUM_ASSETS_URL . $js_path, array( 'jquery' ), time(), true ); wp_localize_script( 'pa-frontend', 'PremiumSettings', array( 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ), 'nonce' => wp_create_nonce( 'pa-blog-widget-nonce' ), ) ); // if ( class_exists( 'woocommerce' ) ) { // wp_localize_script( // 'pa-frontend', // 'PremiumWooSettings', // array( // 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ), // 'products_nonce' => wp_create_nonce( 'pa-woo-products-nonce' ), // 'qv_nonce' => wp_create_nonce( 'pa-woo-qv-nonce' ), // 'cta_nonce' => wp_create_nonce( 'pa-woo-cta-nonce' ), // 'woo_cart_url' => get_permalink( wc_get_page_id( 'cart' ) ), // 'view_cart' => __( 'View cart', 'woocommerce' ), // 'mini_cart_nonce' => wp_create_nonce( 'pa-mini-cart-nonce' ), // ) // ); // } } if ( ! wp_script_is( 'pa-frontend', 'enqueued' ) || 'empty' === self::$css_content ) { // If the assets are not ready, or file does not exist for any reson. $this->register_old_scripts( $dir, $suffix ); } } else { $this->register_old_scripts( $dir, $suffix ); } // if ( !wp_script_is( 'wc-cart-fragments', 'enqueued' ) && wp_script_is( 'wc-cart-fragments', 'registered' ) ) { // Enqueue the wc-cart-fragments script // wp_enqueue_script( 'wc-cart-fragments' ); // } wp_register_script( 'tiktok-embed', 'https://www.tiktok.com/embed.js', array(), false, true ); wp_register_script( 'pa-scrolldir', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/pa-scrolldir' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'prettyPhoto-js', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/prettyPhoto' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'tooltipster-bundle', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/tooltipster' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-vticker', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/vticker' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-typed', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/typed' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-countdown', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/jquery-countdown' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'isotope-js', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/isotope' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-modal', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/modal' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-maps', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-maps' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-vscroll', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-vscroll' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-slimscroll', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/jquery-slimscroll' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-iscroll', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/iscroll' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-tilt', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/universal-tilt' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'lottie-js', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/lottie' . $suffix . '.js', array( 'jquery', ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-tweenmax', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/TweenMax' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-headroom', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/headroom' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION ); wp_register_script( 'pa-menu', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-nav-menu' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); if ( $maps_settings['premium-map-cluster'] ) { wp_register_script( 'pa-maps-cluster', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/markerclusterer' . $suffix . '.js', array(), '1.0.1', false ); } if ( $maps_settings['premium-map-disable-api'] && '1' !== $maps_settings['premium-map-api'] ) { $api = sprintf( 'https://maps.googleapis.com/maps/api/js?key=%1$s&callback=initMap&language=%2$s', $maps_settings['premium-map-api'], $locale ); wp_register_script( 'pa-maps-api', $api, array(), PREMIUM_ADDONS_VERSION, true ); } wp_register_script( 'pa-slick', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/slick' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-flipster', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/flipster' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION ); wp_register_script( 'pa-anime', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/anime' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-feffects', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-floating-effects' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-gTooltips', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-global-tooltips' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-shape-divider', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-shape-divider' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_localize_script( 'pa-gTooltips', 'PremiumSettings', array( 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ), 'nonce' => wp_create_nonce( 'pa-blog-widget-nonce' ), ) ); wp_localize_script( 'premium-addons', 'PremiumSettings', array( 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ), 'nonce' => wp_create_nonce( 'pa-blog-widget-nonce' ), ) ); wp_register_script( 'pa-eq-height', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-eq-height' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-dis-conditions', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-dis-conditions' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-gsap', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/pa-gsap' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-motionpath', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/motionpath' . $suffix . '.js', array( 'jquery', ), PREMIUM_ADDONS_VERSION, true ); $is_edit_mode = Helper_Functions::is_edit_mode(); if ( $is_edit_mode ) { wp_register_script( 'pa-fontawesome-all', PREMIUM_ADDONS_URL . 'assets/frontend/min-js/fontawesome-all.min.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); } wp_register_script( 'pa-scrolltrigger', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/scrollTrigger' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-notifications', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-notifications' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-luxon', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/luxon' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'mousewheel-js', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/jquery-mousewheel' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'pa-wrapper-link', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-wrapper-link' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); // We need to make sure premium-woocommerce.js will not be loaded twice if assets are generated. if ( class_exists( 'woocommerce' ) ) { wp_register_script( 'premium-woo-cats', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-woo-categories' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'premium-mini-cart', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-mini-cart' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'premium-woo-cart', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-woo-cart' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'premium-woo-cta', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-woo-cta' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_register_script( 'premium-woocommerce', PREMIUM_ADDONS_URL . 'assets/frontend/' . $dir . '/premium-woo-products' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); wp_localize_script( 'premium-woo-cta', 'PAWooCTASettings', array( 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ), 'cta_nonce' => wp_create_nonce( 'pa-woo-cta-nonce' ), 'view_cart' => __( 'View cart', 'woocommerce' ), 'mini_cart_nonce' => wp_create_nonce( 'pa-mini-cart-nonce' ), 'qv_nonce' => wp_create_nonce( 'pa-woo-qv-nonce' ), ) ); wp_localize_script( 'premium-mini-cart', 'PAWooMCartSettings', array( 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ), 'cta_nonce' => wp_create_nonce( 'pa-woo-cta-nonce' ), 'view_cart' => __( 'View cart', 'woocommerce' ), 'mini_cart_nonce' => wp_create_nonce( 'pa-mini-cart-nonce' ), 'qv_nonce' => wp_create_nonce( 'pa-woo-qv-nonce' ), ) ); wp_localize_script( 'premium-woocommerce', 'PAWooProductsSettings', array( 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ), 'products_nonce' => wp_create_nonce( 'pa-woo-products-nonce' ), 'qv_nonce' => wp_create_nonce( 'pa-woo-qv-nonce' ), 'cta_nonce' => wp_create_nonce( 'pa-woo-cta-nonce' ), 'woo_cart_url' => get_permalink( wc_get_page_id( 'cart' ) ), 'view_cart' => __( 'View cart', 'woocommerce' ), 'mini_cart_nonce' => wp_create_nonce( 'pa-mini-cart-nonce' ), ) ); } // Localize jQuery with required data for Global Add-ons. if ( self::$modules['premium-floating-effects'] ) { wp_localize_script( 'pa-feffects', 'PremiumFESettings', array( 'papro_installed' => Helper_Functions::check_papro_version(), ) ); } // Localize jQuery with required data for Global Add-ons. if ( self::$modules['premium-countdown'] ) { wp_localize_script( 'pa-countdown', 'premiumCountDownStrings', array( 'single' => array( __( 'Year', 'premium-addons-for-elementor' ), __( 'Month', 'premium-addons-for-elementor' ), __( 'Week', 'premium-addons-for-elementor' ), __( 'Day', 'premium-addons-for-elementor' ), __( 'Hour', 'premium-addons-for-elementor' ), __( 'Minute', 'premium-addons-for-elementor' ), __( 'Second', 'premium-addons-for-elementor' ), ), 'plural' => array( __( 'Years', 'premium-addons-for-elementor' ), __( 'Months', 'premium-addons-for-elementor' ), __( 'Weeks', 'premium-addons-for-elementor' ), __( 'Days', 'premium-addons-for-elementor' ), __( 'Hours', 'premium-addons-for-elementor' ), __( 'Minutes', 'premium-addons-for-elementor' ), __( 'Seconds', 'premium-addons-for-elementor' ), ), ) ); } } /** * Register Old Scripts * * @since 4.9.0 * @access public * * @param string $directory script directory. * @param string $suffix file suffix. */ public function register_old_scripts( $directory, $suffix ) { wp_register_script( 'premium-addons', PREMIUM_ADDONS_URL . 'assets/frontend/' . $directory . '/premium-addons' . $suffix . '.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); } /** * Enqueue Preview CSS files * * @since 2.9.0 * @access public */ public function enqueue_preview_styles() { $custom_css = ' .e-preview--show-hidden-elements[data-elementor-device-mode="mobile"] .elementor-edit-area-active .elementor-hidden-mobile.premium-addons-element { display: none; } .e-preview--show-hidden-elements[data-elementor-device-mode="tablet"] .elementor-edit-area-active .elementor-hidden-tablet.premium-addons-element { display: none; } .e-preview--show-hidden-elements[data-elementor-device-mode="mobile_extra"] .elementor-edit-area-active .elementor-hidden-mobile_extra.premium-addons-element { display: none; } .e-preview--show-hidden-elements[data-elementor-device-mode="tablet_extra"] .elementor-edit-area-active .elementor-hidden-tablet_extra.premium-addons-element { display: none; } .e-preview--show-hidden-elements[data-elementor-device-mode="widescreen"] .elementor-edit-area-active .elementor-hidden-widescreen.premium-addons-element { display: none; } .e-preview--show-hidden-elements[data-elementor-device-mode="desktop"] .elementor-edit-area-active .elementor-hidden-desktop.premium-addons-element { display: none; }'; wp_enqueue_style( 'pa-prettyphoto' ); wp_enqueue_style( 'premium-addons' ); wp_add_inline_style( 'premium-addons', $custom_css ); wp_enqueue_style( 'pa-slick' ); } /** * Load widgets require function * * @since 1.0.0 * @access public */ public function widgets_area( $widgets_manager ) { $enabled_elements = self::$modules; foreach ( glob( PREMIUM_ADDONS_PATH . 'widgets/*.php' ) as $file ) { $slug = basename( $file, '.php' ); // Fixes the conflict between Lottie widget/addon keys. if ( 'premium-lottie' === $slug ) { // Check if Lottie widget switcher value was saved before. $saved_options = get_option( 'pa_save_settings' ); $slug = 'premium-lottie-widget'; } $enabled = isset( $enabled_elements[ $slug ] ) ? $enabled_elements[ $slug ] : ''; if ( filter_var( $enabled, FILTER_VALIDATE_BOOLEAN ) || ! $enabled_elements ) { $base = basename( str_replace( '.php', '', $file ) ); $class = ucwords( str_replace( '-', ' ', $base ) ); $class = str_replace( ' ', '_', $class ); $class = sprintf( 'PremiumAddons\Widgets\%s', $class ); $this->load_widget_files( $file, $class ); if ( class_exists( $class, false ) ) { $widgets_manager->register( new $class() ); } } } } /** * Register Widgets Category * * Register a new category for Premium Addons widgets * * @since 4.0.0 * @access public * * @param object $elements_manager elements manager. */ public function register_widgets_category( $elements_manager ) { $elements_manager->add_category( 'premium-elements', array( 'title' => Helper_Functions::get_category(), ), 1 ); } public function load_widget_files( $file, $class ) { if ( 'PremiumAddons\Widgets\Premium_Contactform' !== $class ) { require $file; } elseif ( function_exists( 'wpcf7' ) ) { require $file; } if ( 'PremiumAddons\Widgets\Premium_Videobox' === $class || 'PremiumAddons\Widgets\Premium_Weather' === $class ) { require_once PREMIUM_ADDONS_PATH . 'widgets/dep/urlopen.php'; } if ( 'PremiumAddons\Widgets\Premium_Weather' === $class ) { require_once PREMIUM_ADDONS_PATH . 'widgets/dep/pa-weather-handler.php'; } if ( in_array( $class, array( 'PremiumAddons\Widgets\Premium_Pinterest_Feed', 'PremiumAddons\Widgets\Premium_Tiktok_Feed' ), true ) ) { require_once PREMIUM_ADDONS_PATH . 'includes/pa-display-conditions/mobile-detector.php'; if ( 'PremiumAddons\Widgets\Premium_Pinterest_Feed' == $class ) { require_once PREMIUM_ADDONS_PATH . 'widgets/dep/pa-pins-handler.php'; } if ( 'PremiumAddons\Widgets\Premium_Tiktok_Feed' == $class ) { require_once PREMIUM_ADDONS_PATH . 'widgets/dep/pa-tiktok-handler.php'; } } } /** * Enqueue editor scripts * * @since 3.2.5 * @access public */ public function enqueue_editor_scripts() { $map_enabled = isset( self::$modules['premium-maps'] ) ? self::$modules['premium-maps'] : 1; if ( $map_enabled ) { $premium_maps_api = self::$integrations['premium-map-api']; $locale = isset( self::$integrations['premium-map-locale'] ) ? self::$integrations['premium-map-locale'] : 'en'; $disable_api = self::$integrations['premium-map-disable-api']; if ( $disable_api && '1' !== $premium_maps_api ) { $api = sprintf( 'https://maps.googleapis.com/maps/api/js?key=%1$s&language=%2$s', $premium_maps_api, $locale ); wp_enqueue_script( 'pa-maps-api', $api, array(), PREMIUM_ADDONS_VERSION, false ); } wp_enqueue_script( 'pa-maps-finder', PREMIUM_ADDONS_URL . 'assets/editor/js/pa-maps-finder.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true ); } } /** * Get Pinterest account token for Pinterest Feed widget * * @since 4.10.2 * @access public * * @return void */ public function get_pinterest_token() { check_ajax_referer( 'pa-editor', 'security' ); $api_url = 'https://appfb.premiumaddons.com/wp-json/fbapp/v2/pinterest'; $response = wp_remote_get( $api_url, array( 'timeout' => 60, 'sslverify' => false, ) ); $body = wp_remote_retrieve_body( $response ); $body = json_decode( $body, true ); // $transient_name = 'pa_pinterest_token_' . $body; // $expire_time = 29 * DAY_IN_SECONDS; // set_transient( $transient_name, true, $expire_time ); wp_send_json_success( $body ); } /** * Get Pinterest account token for Pinterest Feed widget * * @since 4.10.2 * @access public * * @return void */ public function get_pinterest_boards() { check_ajax_referer( 'pa-blog-widget-nonce', 'nonce' ); if ( ! isset( $_GET['token'] ) ) { wp_send_json_error(); } $token = sanitize_text_field( wp_unslash( $_GET['token'] ) ); $transient_name = 'pa_pinterest_boards_' . substr( $token, 0, 15 ); $body = get_transient( $transient_name ); if ( false === $body ) { $api_url = 'https://api.pinterest.com/v5/boards?page_size=60'; $response = wp_remote_get( $api_url, array( 'headers' => array( 'Authorization' => 'Bearer ' . $token, ), ) ); $body = wp_remote_retrieve_body( $response ); $body = json_decode( $body, true ); set_transient( $transient_name, $body, 30 * MINUTE_IN_SECONDS ); } $boards = array(); foreach ( $body['items'] as $index => $board ) { $boards[ $board['id'] ] = $board['name']; } wp_send_json_success( wp_json_encode( $boards ) ); } /** * Get Pinterest account token for Pinterest Feed widget * * @since 4.10.2 * @access public * * @return void */ public function get_tiktok_token() { check_ajax_referer( 'pa-editor', 'security' ); $api_url = 'https://appfb.premiumaddons.com/wp-json/fbapp/v2/tiktok'; $response = wp_remote_get( $api_url, array( 'timeout' => 60, 'sslverify' => false, ) ); $body = wp_remote_retrieve_body( $response ); $body = json_decode( $body, true ); // $transient_name = 'pa_tiktok_token_' . $body; // $expire_time = 29 * DAY_IN_SECONDS; // set_transient( $transient_name, true, $expire_time ); wp_send_json_success( $body ); } /** * Insert Contact Form 7 Form * * @since 4.10.2 * @access public * * @return void */ public function insert_cf_form() { check_ajax_referer( 'pa-editor', 'security' ); if ( ! isset( $_GET['preset'] ) ) { wp_send_json_error(); } $preset = sanitize_text_field( wp_unslash( $_GET['preset'] ) ); $current_user = wp_get_current_user(); $props = array( 'form' => Helper_Functions::get_cf_form_body( $preset ), 'mail' => array( 'active' => 1, 'subject' => '[_site_title] "[your-subject]"', 'sender' => '[_site_title]', 'recipient' => '[_site_admin_email]', 'body' => 'From: [your-name] [your-email]' . PHP_EOL . 'Subject: [your-subject]' . PHP_EOL . PHP_EOL . 'Message Body:' . PHP_EOL . '[your-message]' . PHP_EOL . PHP_EOL . '--' . PHP_EOL . 'This e-mail was sent from a contact form on [_site_title] ([_site_url])', 'additional_headers' => 'Reply-To: [your-email]', 'attachments' => '', 'use_html' => '', 'exclude_blank' => '', ), 'mail_2' => array( 'active' => '', 'subject' => '[_site_title] "[your-subject]"', 'sender' => '[_site_title]', 'recipient' => '[your-email]', 'body' => 'Message Body:' . PHP_EOL . '[your-message]' . PHP_EOL . PHP_EOL . '--' . PHP_EOL . 'This e-mail was sent from a contact form on [_site_title] ([_site_url])', 'additional_headers' => 'Reply-To: [_site_admin_email]', 'attachments' => '', 'use_html' => '', 'exclude_blank' => '', ), 'messages' => array( 'mail_sent_ok' => 'Thank you for your message. It has been sent.', 'mail_sent_ng' => 'There was an error trying to send your message. Please try again later.', 'validation_error' => 'One or more fields have an error. Please check and try again.', 'spam' => 'There was an error trying to send your message. Please try again later.', 'accept_terms' => 'You must accept the terms and conditions before sending your message.', 'invalid_required' => 'Please fill out this field.', 'invalid_too_long' => 'This field has a too long input.', 'invalid_too_short' => 'This field has a too short input.', 'upload_failed' => 'There was an unknown error uploading the file.', 'upload_file_type_invalid' => 'You are not allowed to upload files of this type.', 'upload_file_too_large' => 'The uploaded file is too large.', 'upload_failed_php_error' => 'There was an error uploading the file.', 'invalid_date' => 'Please enter a date in YYYY-MM-DD format.', 'date_too_early' => 'This field has a too early date.', 'date_too_late' => 'This field has a too late date.', 'invalid_number' => 'Please enter a number.', 'number_too_small' => 'This field has a too small number.', 'number_too_large' => 'This field has a too large number.', 'quiz_answer_not_correct' => 'The answer to the quiz is incorrect.', 'invalid_email' => 'Please enter an email address.', 'invalid_url' => 'Please enter a URL.', 'invalid_tel' => 'Please enter a telephone number.', ), 'additional_settings' => '', ); $post_content = implode( "\n", wpcf7_array_flatten( $props ) ); $args = array( 'post_status' => 'publish', 'post_type' => 'wpcf7_contact_form', 'post_content' => $post_content, 'post_author' => $current_user->ID, 'post_title' => sprintf( __( 'Form | %s', 'premium-addons-for-elementor' ), gmdate( 'Y-m-d H:i' ) ), ); $post_id = wp_insert_post( $args ); foreach ( $props as $prop => $value ) { update_post_meta( $post_id, '_' . $prop, wpcf7_normalize_newline_deep( $value ) ); } $form_id = wpcf7_generate_contact_form_hash( $post_id ); add_post_meta( $post_id, '_hash', $form_id, true ); wp_send_json_success( substr( $form_id, 0, 7 ) ); } /** * Load Cross Domain Copy Paste JS Files. * * @since 3.21.1 */ public function enqueue_editor_cp_scripts() { wp_enqueue_script( 'premium-xdlocalstorage', PREMIUM_ADDONS_URL . 'assets/editor/js/xdlocalstorage.js', null, PREMIUM_ADDONS_VERSION, true ); wp_enqueue_script( 'premium-cross-cp', PREMIUM_ADDONS_URL . 'assets/editor/js/premium-cross-cp.js', array( 'jquery', 'elementor-editor', 'premium-xdlocalstorage' ), PREMIUM_ADDONS_VERSION, true ); // Check for required Compatible Elementor version. if ( ! version_compare( ELEMENTOR_VERSION, '3.1.0', '>=' ) ) { $elementor_old = true; } else { $elementor_old = false; } wp_localize_script( 'jquery', 'premium_cross_cp', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'premium_cross_cp_import' ), 'elementorCompatible' => $elementor_old, ) ); } /** * Get Template Content * * Get Elementor template HTML content. * * @since 3.2.6 * @access public */ public function get_template_content() { $template = isset( $_GET['templateID'] ) ? sanitize_text_field( wp_unslash( $_GET['templateID'] ) ) : ''; if ( empty( $template ) ) { wp_send_json_error( 'Empty Template ID' ); } if ( ! current_user_can( 'edit_posts' ) ) { wp_send_json_error( 'Insufficient user permission' ); } $template_content = Helper_Functions::render_elementor_template( $template ); if ( empty( $template_content ) || ! isset( $template_content ) ) { wp_send_json_error( 'Empty Content' ); } $data = array( 'template_content' => $template_content, ); wp_send_json_success( $data ); } /** * Registers Premium Addons Custom Controls. * * @since 4.2.5 * @access public * * @return void */ public function init_pa_controls() { /** * List of Modules that need a custom control. * * @var array */ $modules = array( self::$modules['premium-blog'], self::$modules['premium-equal-height'], self::$modules['pa-display-conditions'], self::$modules['premium-smart-post-listing'], self::$modules['premium-post-ticker'], self::$modules['premium-tcloud'], self::$modules['premium-notifications'], self::$modules['premium-pinterest-feed'], self::$modules['premium-contactform'], self::$modules['premium-global-tooltips'] ); // $load_controls = in_array( true, $modules, true ); $control_manager = \Elementor\Plugin::instance(); // if ( $load_controls ) { if ( self::$modules['premium-equal-height'] || self::$modules['premium-pinterest-feed'] ) { require_once PREMIUM_ADDONS_PATH . 'includes/controls/premium-select.php'; $premium_select = __NAMESPACE__ . '\Controls\Premium_Select'; $control_manager->controls_manager->register( new $premium_select() ); } require_once PREMIUM_ADDONS_PATH . 'includes/controls/premium-post-filter.php'; $premium_post_filter = __NAMESPACE__ . '\Controls\Premium_Post_Filter'; $control_manager->controls_manager->register( new $premium_post_filter() ); if ( self::$modules['premium-blog'] || self::$modules['premium-smart-post-listing'] || self::$modules['premium-tcloud'] ) { require_once PREMIUM_ADDONS_PATH . 'includes/controls/premium-tax-filter.php'; $premium_tax_filter = __NAMESPACE__ . '\Controls\Premium_Tax_Filter'; $control_manager->controls_manager->register( new $premium_tax_filter() ); } if ( self::$modules['pa-display-conditions'] ) { require_once PREMIUM_ADDONS_PATH . 'includes/controls/premium-acf-selector.php'; $premium_acf_selector = __NAMESPACE__ . '\Controls\Premium_Acf_Selector'; $control_manager->controls_manager->register( new $premium_acf_selector() ); } // } if ( self::$modules['premium-contactform'] || self::$modules['premium-shape-divider'] ) { require_once PREMIUM_ADDONS_PATH . 'includes/controls/pa-image-choose.php'; $premium_image_choose = __NAMESPACE__ . '\Controls\Premium_Image_Choose'; $control_manager->controls_manager->register( new $premium_image_choose() ); } } /** * Load PA Extensions * * @since 4.7.0 * @access public */ public function load_pa_extensions() { if ( self::$modules['premium-equal-height'] ) { Equal_Height::get_instance(); } if ( self::$modules['pa-display-conditions'] ) { require_once PREMIUM_ADDONS_PATH . 'widgets/dep/urlopen.php'; Display_Conditions::get_instance(); } if ( self::$modules['premium-floating-effects'] ) { Floating_Effects::get_instance(); } if ( class_exists( 'woocommerce' ) && ( self::$modules['woo-products'] || self::$modules['woo-categories'] || self::$modules['mini-cart'] || self::$modules['woo-cta'] ) ) { Woocommerce::get_instance(); } if ( self::$modules['premium-global-tooltips'] ) { GlobalTooltips::get_instance(); } if ( self::$modules['premium-shape-divider'] ) { Shape_Divider::get_instance(); } if ( self::$modules['premium-wrapper-link'] ) { Wrapper_Link::get_instance(); } } /** * Load Copy Paste Module * * @since 4.10.57 * @access public */ public function load_cp_module() { Addons_Cross_CP::get_instance(); } /** * Exclude PA assets from WP Optimize * * @since 4.10.73 * @access public */ function exclude_pa_assets_from_wp_optimize( $excluded_handles ) { $excluded_handles[] = 'pa-frontend'; return $excluded_handles; } /** * * Creates and returns an instance of the class * * @since 1.0.0 * @access public * * @return object */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } }
Fatal error: Uncaught Error: Class 'PremiumAddons\Includes\Addons_Integration' not found in /var/www/html/dportilho.com.br/web/wp-content/plugins/premium-addons-for-elementor/includes/class-pa-core.php:102 Stack trace: #0 /var/www/html/dportilho.com.br/web/wp-includes/class-wp-hook.php(324): PremiumAddons\Includes\PA_Core->pa_init('') #1 /var/www/html/dportilho.com.br/web/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #2 /var/www/html/dportilho.com.br/web/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #3 /var/www/html/dportilho.com.br/web/wp-settings.php(559): do_action('plugins_loaded') #4 /var/www/html/dportilho.com.br/web/wp-config.php(126): require_once('/var/www/html/d...') #5 /var/www/html/dportilho.com.br/web/wp-load.php(50): require_once('/var/www/html/d...') #6 /var/www/html/dportilho.com.br/web/wp-blog-header.php(13): require_once('/var/www/html/d...') #7 /var/www/html/dportilho.com.br/web/index.php(17): require('/var/www/html/d...') #8 {main} thrown in /var/www/html/dportilho.com.br/web/wp-content/plugins/premium-addons-for-elementor/includes/class-pa-core.php on line 102