Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
 1400, 'laptop' => 1366, 'tablet' => 1024, 'mobile' => 767, ]; // Elementor not loaded if ( ! class_exists( '\Elementor\Plugin' ) ) { return $fallback; } $plugin = \Elementor\Plugin::$instance ?? null; if ( ! $plugin || ! isset( $plugin->breakpoints ) ) { return $fallback; } $manager = $plugin->breakpoints; // Elementor does NOT have laptop breakpoint $settings = [ 'laptop' => method_exists( $manager, 'get_breakpoints' ) ? $manager->get_breakpoints( 'laptop' )->get_value() : $fallback['laptop'], 'tablet' => method_exists( $manager, 'get_breakpoints' ) ? $manager->get_breakpoints( 'tablet' )->get_value() : $fallback['tablet'], 'mobile' => method_exists( $manager, 'get_breakpoints' ) ? $manager->get_breakpoints( 'mobile' )->get_value() : $fallback['mobile'], ]; // Custom laptop breakpoint (Elementor does NOT provide this) $settings['desktop'] = 1400; return $settings; } /** * Widget_scripts * * Load required plugin core files. * * @since 1.2.0 * @access public */ public function widget_scripts() { $scripts = array( 'wcf-addons-core' => array( 'handler' => 'wcf--addons', 'src' => 'wcf-addons.min.js', 'dep' => array(), 'version' => false, 'arg' => false, ), ); foreach ( $scripts as $key => $script ) { wp_register_script( $script['handler'], plugins_url( '/assets/js/' . $script['src'], __FILE__ ), $script['dep'], $script['version'], $script['arg'] ); } $data = apply_filters( 'wcf-addons/js/data', array( 'ajaxUrl' => admin_url( 'admin-ajax.php' ), '_wpnonce' => wp_create_nonce( 'wcf-addons-frontend' ), 'post_id' => get_the_ID(), 'i18n' => array( 'okay' => esc_html__( 'Okay', 'animation-addons-for-elementor' ), 'cancel' => esc_html__( 'Cancel', 'animation-addons-for-elementor' ), 'submit' => esc_html__( 'Submit', 'animation-addons-for-elementor' ), 'success' => esc_html__( 'Success', 'animation-addons-for-elementor' ), 'warning' => esc_html__( 'Warning', 'animation-addons-for-elementor' ), ), 'smoothScroller' => json_decode( get_option( 'wcf_smooth_scroller' ) ), 'mode' => \Elementor\Plugin::$instance->editor->is_edit_mode(), 'elementor_breakpoint' => $this->get_elementor_breakpoints() ) ); wp_localize_script( 'wcf--addons', 'WCF_ADDONS_JS', $data ); wp_enqueue_script( 'wcf--addons' ); // widget scripts foreach ( self::get_widget_scripts() as $key => $script ) { wp_register_script( $script['handler'], plugins_url( '/assets/js/' . $script['src'], __FILE__ ), $script['dep'], $script['version'], $script['arg'] ); } if ( defined( 'WCF_ADDONS_PRO_VERSION' ) && version_compare( WCF_ADDONS_PRO_VERSION, '2.4.14', '<=' ) ) { wp_enqueue_script( 'aae--switcher-toggle' ); } } /** * Function widget_styles * * Load required plugin core files. * * @since 1.2.0 * @access public */ public static function widget_styles() { $styles = array( 'wcf-addons-core' => array( 'handler' => 'wcf--addons', 'src' => 'wcf-addons.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), ); foreach ( $styles as $key => $style ) { wp_register_style( $style['handler'], plugins_url( '/assets/css/' . $style['src'], __FILE__ ), $style['dep'], $style['version'], $style['media'] ); } wp_enqueue_style( 'wcf--addons' ); // widget style foreach ( self::get_widget_style() as $key => $style ) { wp_register_style( $style['handler'], plugins_url( '/assets/css/' . $style['src'], __FILE__ ), $style['dep'], $style['version'], $style['media'] ); } } /** * Editor scripts * * Enqueue plugin javascripts integrations for Elementor editor. * * @since 1.2.1 * @access public */ public function editor_scripts() { wp_enqueue_script( 'aae-nested-sl', WCF_ADDONS_URL . '/assets/build/modules/nested-slider/editor/index.js', array( 'nested-elements', 'elementor-editor', 'elementor-common', 'wp-element', 'jquery', ), time(), true ); wp_enqueue_script( 'wcf-editor', plugins_url( '/assets/js/editor.min.js', __FILE__ ), array( 'elementor-editor', ), WCF_ADDONS_VERSION, true ); $data = apply_filters( 'wcf-addons-editor/js/data', array( 'ajaxUrl' => admin_url( 'admin-ajax.php' ), '_wpnonce' => wp_create_nonce( 'wcf-addons-editor' ), ) ); wp_localize_script( 'wcf-editor', 'WCF_Addons_Editor', $data ); // templates Library if ( class_exists( '\WCF_ADDONS\Library_Source' ) ) { wp_enqueue_script( 'wcf-template-library', plugins_url( '/assets/js/wcf-template-library.js', __FILE__ ), array( 'jquery', 'wp-util', ), WCF_ADDONS_VERSION, true ); wp_localize_script( 'wcf-template-library', 'WCF_TEMPLATE_LIBRARY', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'template_types' => self::get_template_types(), 'nonce' => wp_create_nonce( 'wcf-template-library' ), 'dashboard_link' => admin_url( 'admin.php?page=wcf_addons_settings' ), 'config' => apply_filters( 'wcf_addons_editor_config', array() ), 'pro_installed' => array_key_exists( 'animation-addons-for-elementor-pro/animation-addons-for-elementor-pro.php', get_plugins() ), 'pro_active' => class_exists( '\AAE_ADDONS_Plugin_Pro' ) && array_key_exists( 'animation-addons-for-elementor-pro/animation-addons-for-elementor-pro.php', get_plugins() ), ) ); wp_enqueue_style( 'wcf-template-library', plugins_url( '/assets/css/wcf-template-library.css', __FILE__ ), array(), WCF_ADDONS_VERSION ); } } /** * Editor style * * Enqueue plugin css integrations for Elementor editor. * * @since 1.2.1 * @access public */ public function editor_styles() { wp_enqueue_style( 'wcf--editor', plugins_url( '/assets/css/editor.min.css', __FILE__ ), array(), time(), 'all' ); } /** * Function widget_scripts * * Load required plugin core files. * * @since 1.0.0 * @access public */ public static function get_widget_scripts() { return apply_filters( 'aae/lite/widgets/scripts', array( 'typed' => array( 'handler' => 'typed', 'src' => 'typed.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'ProgressBar' => array( 'handler' => 'progressbar', 'src' => 'progressbar.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'slider' => array( 'handler' => 'wcf--slider', 'src' => 'widgets/slider.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'typewriter' => array( 'handler' => 'wcf--typewriter', 'src' => 'widgets/typewriter.min.js', 'dep' => array( 'typed', 'jquery' ), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'text-hover-image' => array( 'handler' => 'wcf--text-hover-image', 'src' => 'widgets/text-hover-image.min.js', 'dep' => array('jquery'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'counter' => array( 'handler' => 'wcf--counter', 'src' => 'widgets/counter.min.js', 'dep' => array('jquery-numerator'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'nested-slider' => array( 'handler' => 'aae--nested-slider', 'src' => 'widgets/aae-slider-frontend.min.js', 'dep' => array('jquery-numerator'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'socials-shares' => array( 'handler' => 'wcf--socials-share', 'src' => 'widgets/social-share.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'progressbar' => array( 'handler' => 'wcf--progressbar', 'src' => 'widgets/progressbar.min.js', 'dep' => array('progressbar'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'tabs' => array( 'handler' => 'wcf--tabs', 'src' => 'widgets/tabs.min.js', 'dep' => array('jquery'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'nav-menu' => array( 'handler' => 'wcf--nav-menu', 'src' => 'widgets/nav-menu.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'animated-heading' => array( 'handler' => 'wcf--animated-heading', 'src' => 'widgets/animated-heading.min.js', 'dep' => array('gsap'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'video-posts-tab' => array( 'handler' => 'aae-video-posts-tab', 'src' => 'widgets/video-posts-tab.min.js', 'dep' => array('jquery'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'search' => array( 'handler' => 'aae--search', 'src' => 'widgets/search.min.js', 'dep' => array('jquery'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'contact-form-7' => array( 'handler' => 'aae--contact-form', 'src' => 'widgets/contact-form.min.js', 'dep' => array('jquery'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'image-hotspot' => array( 'handler' => 'aae-image-hotspot', 'src' => 'widgets/image-hotspot.min.js', 'dep' => array('jquery'), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'wcf-posts' => array( 'handler' => 'wcf--posts', 'src' => 'widgets/post-pro.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'button-pro' => array( 'handler' => 'aae--button-pro', 'src' => 'widgets/button-pro.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'category-slider' => array( 'handler' => 'wcf--category-slider', 'src' => 'widgets/category-slider.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'feature-posts' => array( 'handler' => 'wcf--posts', 'src' => 'widgets/post.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'wcf--a-accordion' => array( 'handler' => 'wcf--a-accordion', 'src' => 'widgets/advance-accordion.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'filterable-slider' => array( 'handler' => 'wcf--filterable-slider', 'src' => 'widgets/filterable-slider.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'notification' => array( 'handler' => 'aae-notification', 'src' => 'widgets/notification.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'post-rating' => array( 'handler' => 'aae-post-rating', 'src' => 'widgets/post-rating.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'post-reactions-js' => array( 'handler' => 'wcf--post-reactions', 'src' => 'widgets/post-reactions.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'team-slider' => array( 'handler' => 'wcf--team-slider', 'src' => 'widgets/team-slider.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'image-compare' => array( 'handler' => 'wcf--image-compare', 'src' => 'widgets/image-compare.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'mailchimp-script' => array( 'handler' => 'wcf--mailchimp', 'src' => 'widgets/mailchimp.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'click-drop' => array( 'handler' => 'wcf--click-drop', 'src' => 'widgets/click-drop.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'wcf--countdown' => array( 'handler' => 'wcf-countdown-script', 'src' => 'widgets/countdown.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'aae--switcher-toggle' => array( 'handler' => 'aae--switcher-toggle', 'src' => 'widgets/toggle-switch.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), 'wcf-image-accordion' => array( 'handler' => 'wcf--image-accordion', 'src' => 'widgets/image-accordion.min.js', 'dep' => array(), 'version' => WCF_ADDONS_VERSION, 'arg' => true, ), ) ); } /** * Function widget_style * * Load required plugin core files. * * @since 1.0.0 * @access public */ public static function get_widget_style() { return array( 'icon-box' => array( 'handler' => 'wcf--icon-box', 'src' => 'widgets/icon-box.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'testimonial' => array( 'handler' => 'wcf--testimonial', 'src' => 'widgets/testimonial.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'testimonial2' => array( 'handler' => 'wcf--testimonial2', 'src' => 'widgets/testimonial2.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'testimonial3' => array( 'handler' => 'wcf--testimonial3', 'src' => 'widgets/testimonial3.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'posts' => array( 'handler' => 'wcf--posts', 'src' => 'widgets/posts.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'button' => array( 'handler' => 'wcf--button', 'src' => 'widgets/button.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'progressbar' => array( 'handler' => 'wcf--progressbar', 'src' => 'widgets/progressbar.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'counter' => array( 'handler' => 'wcf--counter', 'src' => 'widgets/counter.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'brand-slider' => array( 'handler' => 'wcf--brand-slider', 'src' => 'widgets/brand-slider.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'text-hover-image' => array( 'handler' => 'wcf--text-hover-image', 'src' => 'widgets/text-hover-image.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'one-page-nav' => array( 'handler' => 'wcf--one-page-nav', 'src' => 'widgets/one-page-nav.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'social-icons' => array( 'handler' => 'wcf--social-icons', 'src' => 'widgets/social-icons.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'image-gallery' => array( 'handler' => 'wcf--image-gallery', 'src' => 'widgets/image-gallery.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'team' => array( 'handler' => 'wcf--team', 'src' => 'widgets/team.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'image-box' => array( 'handler' => 'wcf--image-box', 'src' => 'widgets/image-box.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'timeline' => array( 'handler' => 'wcf--timeline', 'src' => 'widgets/timeline.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'event-slider' => array( 'handler' => 'wcf--event-slider', 'src' => 'widgets/event-slider.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'services-tab' => array( 'handler' => 'wcf--services-tab', 'src' => 'widgets/services-tab.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'countdown' => array( 'handler' => 'wcf--countdown', 'src' => 'widgets/countdown.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'meta-info' => array( 'handler' => 'wcf--meta-info', 'src' => 'widgets/meta-info.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'video-posts-tab' => array( 'handler' => 'aae-video-posts-tab', 'src' => 'widgets/video-posts-tab.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'search' => array( 'handler' => 'aae--search', 'src' => 'widgets/search.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'image-hotspot' => array( 'handler' => 'aae-image-hotspot', 'src' => 'widgets/image-hotspot.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'clickdrop' => array( 'handler' => 'aae-clickdrop', 'src' => 'widgets/clickdrop.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'author-box' => array( 'handler' => 'wcf--author-box', 'src' => 'widgets/author-box.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'posts-pro' => array( 'handler' => 'wcf--post-pro', 'src' => 'widgets/posts-pro.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'button-pro' => array( 'handler' => 'aae--button-pro', 'src' => 'widgets/button-pro.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'category-showcase' => array( 'handler' => 'wcf--category-showcase', 'src' => 'widgets/category-showcase.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'feature-posts' => array( 'handler' => 'wcf--post-pro', 'src' => 'widgets/posts.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'grid-hover-posts' => array( 'handler' => 'grid-hover-posts', 'src' => 'widgets/grid-hover-posts.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'wcf--a-accordion' => array( 'handler' => 'wcf--a-accordion', 'src' => 'widgets/advance-accordion.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'aae-a-testimonial' => array( 'handler' => 'aae-a-testimonial', 'src' => 'widgets/advanced-testimonial.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'filterable-slider' => array( 'handler' => 'wcf--filterable-slider', 'src' => 'widgets/filterable-slider.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'filterable-gallery' => array( 'handler' => 'wcf--filterable-gallery', 'src' => 'widgets/filterable-gallery.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'image-accordion' => array( 'handler' => 'wcf--image-accordion', 'src' => 'widgets/image-accordion.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'notification' => array( 'handler' => 'aae-notification', 'src' => 'widgets/notification.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'post-rating' => array( 'handler' => 'aae-post-rating', 'src' => 'widgets/post-rating.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'post-reactions-css' => array( 'handler' => 'wcf--post-reactions', 'src' => 'widgets/post-reaction.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'post-timeline' => array( 'handler' => 'aae-post-timeline', 'src' => 'widgets/post-timeline.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'table-of-content' => array( 'handler' => 'wcf--table-of-content', 'src' => 'widgets/table-of-content.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'team-slider' => array( 'handler' => 'wcf--team-slider', 'src' => 'widgets/team-slider.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'toggle-switch' => array( 'handler' => 'wcf--toggle-switch', 'src' => 'widgets/toggle-switch.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'image-compare' => array( 'handler' => 'wcf--image-compare', 'src' => 'widgets/image-compare.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'post-comment' => array( 'handler' => 'wcf--post-comment', 'src' => 'widgets/post-comment.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'mailchimp' => array( 'handler' => 'wcf--mailchimp', 'src' => 'widgets/mailchimp.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'nav-menu' => array( 'handler' => 'wcf--nav-menu', 'src' => 'widgets/nav-menu.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), 'loop-grid' => array( 'handler' => 'wcf--loop-grid', 'src' => 'widgets/loop-grid.min.css', 'dep' => array(), 'version' => false, 'media' => 'all', ), ); } /** * Register Widgets * * Register new Elementor widgets. * * @since 1.0.0 * @access public */ public function register_widgets() { foreach ( self::get_widgets() as $slug => $data ) { // If upcoming don't register. if ( $data['is_upcoming'] ) { continue; } if ( $data['is_pro'] ) { continue; } if ( file_exists( __DIR__ . '/widgets/' . $slug . '/' . $slug . '.php' ) || file_exists( __DIR__ . '/widgets/' . $slug . '.php' ) ) { if ( ! $data['is_pro'] && ! $data['is_extension'] ) { if ( is_dir( __DIR__ . '/widgets/' . $slug ) ) { require_once __DIR__ . '/widgets/' . $slug . '/' . $slug . '.php'; } else { require_once __DIR__ . '/widgets/' . $slug . '.php'; } $class = explode( '-', $slug ); $class = array_map( 'ucfirst', $class ); $class = implode( '_', $class ); $class = 'WCF_ADDONS\\Widgets\\' . $class; ElementorPlugin::instance()->widgets_manager->register( new $class() ); } } } } /** * Register Widgets * * Register new Elementor Extensions. * * @since 1.0.0 * @access public */ public function register_extensions() { foreach ( self::get_extensions() as $slug => $data ) { // If upcoming don't register. if ( $data['is_upcoming'] ) { continue; } if ( ! $data['is_pro'] && ! $data['is_extension'] ) { if ( file_exists( WCF_ADDONS_PATH . 'inc/class-wcf-' . $slug . '.php' ) ) { include_once WCF_ADDONS_PATH . 'inc/class-wcf-' . $slug . '.php'; } } } } /** * Widget Category * * @param $elements_manager */ public function widget_categories( $elements_manager ) { $categories = array(); $categories['weal-coder-addon'] = array( 'title' => esc_html__( 'AAE', 'animation-addons-for-elementor' ), 'icon' => 'fa fa-plug', ); $categories['wcf-hf-addon'] = array( 'title' => __( 'AAE Header & Footer', 'animation-addons-for-elementor' ), 'icon' => 'fa fa-plug', ); $categories['wcf-archive-addon'] = array( 'title' => esc_html__( 'AAE Archive', 'animation-addons-for-elementor' ), 'icon' => 'fa fa-plug', ); $categories['wcf-search-addon'] = array( 'title' => esc_html__( 'AAE Search', 'animation-addons-for-elementor' ), 'icon' => 'fa fa-plug', ); $categories['wcf-single-addon'] = array( 'title' => esc_html__( 'AAE Single', 'animation-addons-for-elementor' ), 'icon' => 'fa fa-plug', ); $old_categories = $elements_manager->get_categories(); $categories = array_merge( $categories, $old_categories ); $set_categories = function ( $categories ) { $this->categories = $categories; }; $set_categories->call( $elements_manager, $categories ); } /** * Include Plugin files * * @access private */ private function include_files() { require_once WCF_ADDONS_PATH . 'config.php'; require_once WCF_ADDONS_PATH . 'inc/helper.php'; if ( is_admin() ) { if ( get_option( 'wcf_addons_setup_wizard' ) !== 'complete' ) { require_once WCF_ADDONS_PATH . 'inc/admin/setup-wizard.php'; } require_once WCF_ADDONS_PATH . 'inc/admin/dashboard.php'; if ( wcf_addons_get_settings( 'wcf_save_extensions', 'code-snippet' ) ) { // Include CodeSnippet Admin functionality. include_once WCF_ADDONS_PATH . 'inc/CodeSnippet/CodeSnippet.php'; } include_once WCF_ADDONS_PATH . 'inc/admin/Notices/Notices.php'; include_once WCF_ADDONS_PATH . 'inc/admin/Notices/ShowNotices.php'; } // Include CodeSnippet frontend functionality. if ( wcf_addons_get_settings( 'wcf_save_extensions', 'code-snippet' ) ) { include_once WCF_ADDONS_PATH . 'inc/CodeSnippet/CodeSnippetFrontend.php'; include_once WCF_ADDONS_PATH . 'inc/CodeSnippet/CodeSnippetCompatibility.php'; } require_once WCF_ADDONS_PATH . 'inc/theme-builder/theme-builder.php'; require_once WCF_ADDONS_PATH . 'inc/hook.php'; require_once WCF_ADDONS_PATH . 'inc/class-blacklist.php'; require_once WCF_ADDONS_PATH . 'inc/ajax-handler.php'; include_once WCF_ADDONS_PATH . 'inc/trait-wcf-post-query.php'; include_once WCF_ADDONS_PATH . 'inc/trait-wcf-button.php'; include_once WCF_ADDONS_PATH . 'inc/trait-wcf-slider.php'; include_once WCF_ADDONS_PATH . 'inc/post-rating-handler.php'; include_once WCF_ADDONS_PATH . 'inc/category-fields.php'; include_once WCF_ADDONS_PATH . 'inc/admin/image-cache.php'; include_once WCF_ADDONS_PATH . 'inc/admin/page-import.php'; include_once WCF_ADDONS_PATH . 'widgets/mailchimp/mailchimp-api.php'; include_once WCF_ADDONS_PATH . 'inc/trait-wcf-nested-slider.php'; // Load Loop Builder Integration. require_once WCF_ADDONS_PATH . 'widgets/loop-builder/init.php'; $wpml_file = WCF_ADDONS_PATH . 'inc/wpml-manager.php'; if ( defined( 'ICL_SITEPRESS_VERSION' ) && file_exists( $wpml_file ) ) { include_once $wpml_file; } // extensions. $this->register_extensions(); } public function elementor_editor_url( $url ) { $args = array( 'numberposts' => 1, 'post_type' => 'post', 'orderby' => 'menu_order', 'order' => 'ASC', ); $latest_posts = get_posts( $args ); if ( ! is_wp_error( $latest_posts ) && ! empty( $latest_posts ) && isset( $latest_posts[0] ) ) { return add_query_arg( 'aaeid', $latest_posts[0]->ID, $url ); } return add_query_arg( 'aaeid', 1, $url ); } public function print_templates() { $all_plugins = get_plugins(); $plugin_slug = 'animation-addons-for-elementor-pro/animation-addons-for-elementor-pro.php'; $active_plugins = get_option( 'active_plugins' ); $dahsboard_link = admin_url( 'admin.php?page=wcf_addons_settings' ); ?> array( 'label' => esc_html__( 'Block', 'animation-addons-for-elementor' ), ), 'page' => array( 'label' => esc_html__( 'Page', 'animation-addons-for-elementor' ), ), ); return $template_type; } /** * Get templates data. * * This function the templates data. * * @param bool $force_update Optional. Whether to force the data retrieval or * not. Default is false. * * @return array|false Templates data, or false. * @since 1.0 * @access private * @static */ private static function get_templates_data( $force_update = false ) { $cache_key = 'aae_templates_data_' . 3.1; $templates_data = get_transient( $cache_key ); if ( $force_update || false === $templates_data ) { $timeout = ( $force_update ) ? 30 : 45; $response = wp_remote_get( esc_url_raw( self::$instance->api_url ), array( 'timeout' => $timeout, 'sslverify' => false, 'body' => array( // Which API version is used. 'api_version' => 1.1, // Which language to return. 'site_lang' => get_bloginfo( 'language' ), ), ) ); if ( is_wp_error( $response ) || 200 !== (int) wp_remote_retrieve_response_code( $response ) ) { set_transient( $cache_key, array(), 1 * HOUR_IN_SECONDS ); return false; } $templates_data = json_decode( wp_remote_retrieve_body( $response ), true ); if ( empty( $templates_data ) || ! is_array( $templates_data ) ) { set_transient( $cache_key, array(), 1 * HOUR_IN_SECONDS ); return false; } if ( isset( $templates_data['library'] ) ) { update_option( self::LIBRARY_OPTION_KEY, $templates_data['library'], 'no' ); unset( $templates_data['library'] ); } set_transient( $cache_key, $templates_data, 1 * HOUR_IN_SECONDS ); } return $templates_data; } public static function admin_scripts( $hook ) { if ( $hook === 'plugins.php' ) { wp_enqueue_script( 'aae-admin-scripts', WCF_ADDONS_URL . 'assets/js/wcf-admin.js', array(), WCF_ADDONS_VERSION, true ); wp_enqueue_style( 'aae-plugins-styles', WCF_ADDONS_URL . 'assets/css/plugins.css', array(), WCF_ADDONS_VERSION, 'all' ); } } public function wp_head() { $data = apply_filters( 'wcf-addons/js/data', array( 'ajaxUrl' => admin_url( 'admin-ajax.php' ), '_wpnonce' => wp_create_nonce( 'wcf-addons-frontend' ), 'post_id' => get_the_ID(), 'i18n' => array( 'okay' => esc_html__( 'Okay', 'animation-addons-for-elementor' ), 'cancel' => esc_html__( 'Cancel', 'animation-addons-for-elementor' ), 'submit' => esc_html__( 'Submit', 'animation-addons-for-elementor' ), 'success' => esc_html__( 'Success', 'animation-addons-for-elementor' ), 'warning' => esc_html__( 'Warning', 'animation-addons-for-elementor' ), ), 'smoothScroller' => json_decode( get_option( 'wcf_smooth_scroller' ) ), 'mode' => \Elementor\Plugin::$instance->editor->is_edit_mode(), ) ); echo ''; } /** * Plugin class constructor * * Register plugin action hooks and filters * * @since 1.2.0 * @access public */ public function __construct() { add_action( 'elementor/elements/categories_registered', array( $this, 'widget_categories' ) ); // Register widget scripts add_action( 'wp_enqueue_scripts', array( $this, 'widget_scripts' ), 29 ); // admin footer // Register widget style add_action( 'wp_enqueue_scripts', array( $this, 'widget_styles' ) ); // Register widgets add_action( 'elementor/widgets/register', array( $this, 'register_widgets' ) ); // Register editor scripts add_action( 'elementor/editor/after_enqueue_scripts', array( $this, 'editor_scripts' ) ); // Register editor style add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'editor_styles' ) ); add_filter( 'elementor/document/urls/preview', array( $this, 'elementor_editor_url' ), 4 ); add_filter( 'elementor/document/urls/wp_preview', array( $this, 'elementor_editor_url' ), 4 ); // add_action('wp_head', array($this, 'wp_head'), 4); $this->include_files(); if ( class_exists( '\WCF_ADDONS\Library_Source' ) ) { add_action( 'elementor/editor/footer', array( $this, 'print_templates' ) ); // enqueue modal's preview css. add_action( 'elementor/preview/enqueue_styles', array( $this, 'preview_styles' ) ); } // WPML Support add_filter( 'wpml_elementor_widgets_to_translate', [ WPML\WPML_Manager::class, 'add_widgets_to_translate' ] ); } } // Instantiate Plugin Class Plugin::instance();