PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/internetmoney.kerihosting.com/wp-content/themes/jnews/class/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/internetmoney.kerihosting.com/wp-content/themes/jnews/class/Customizer.php |
<?php /** * @author : Jegtheme */ namespace JNews; use JNews\Customizer\AdsOption; use JNews\Customizer\ArchiveOption; use JNews\Customizer\BlockOption; use JNews\Customizer\CategoryOption; use JNews\Customizer\CodeOption; use JNews\Customizer\FontOption; use JNews\Customizer\FooterOption; use JNews\Customizer\HeaderOption; use JNews\Customizer\ImageOption; use JNews\Customizer\LayoutOption; use JNews\Customizer\OtherOption; use JNews\Customizer\SearchOption; use JNews\Customizer\SingleOption; use JNews\Customizer\SocialOption; use JNews\Walker\CategoryWalker; /** * Class Theme JNews Customizer */ Class Customizer { /** * @var Customizer */ private static $instance; /** * Package name * * @var string */ private static $package = 'JNews'; /** * @var Customizer */ private $customizer = null; /** * Section of Customizer */ private $list_section = [ 'jnews_ads_amp_section', 'jnews_autoload_section', 'jnews_frontend_submit_section', 'jnews_preview_slider_section', 'jnews_preview_slider_ads_section', 'jnews_instagram_feed_section', 'jnews_schema_setting', 'jnews_main_schema', 'jnews_article_schema', 'jnews_like_section', 'jnews_social_meta_section', 'jnews_paywall_section', 'jnews_podcast_general', 'jnews_podcast_template', 'jnews_podcast_category_template', 'jnews_podcast_powerpress', 'jnews_push_notification_section', 'jnews_review_section', 'jnews_social_login_section', 'jnews_social_like_section', 'jnews_select_share_section', 'jnews_tiktok_feed_section', 'jnews_video_buddypress', 'jnews_video_single_post', 'jnews_video_single_playlist', 'jnews_video_archive_history', 'jnews_global_weather_section', 'jnews_header_weather_section', ]; /** * @return Customizer */ public static function getInstance() { if ( null === static::$instance ) { static::$instance = new static(); } return static::$instance; } /** * construct */ private function __construct() { // Need to load Customizer early for this kind of request if ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] === 'jnews_customizer_disable_panel' ) { $this->customizer = jnews_customizer(); } add_action( 'customize_preview_init', array( $this, 'preview_init' ) ); add_action( 'customize_controls_enqueue_scripts', array( $this, 'customize_control_js' ) ); add_action( 'jeg_register_customizer_option', array( $this, 'load_customizer' ), 91 ); add_filter( 'jeg_font_typography', array( $this, 'load_custom_font' ), 80 ); add_filter( 'jeg_font_typography', array( $this, 'load_typekit' ), 81 ); add_filter( 'jeg_generate_inline_style', array( $this, 'custom_font_css' ) ); add_filter( 'jeg_not_google_font', array( $this, 'exclude_font' ) ); add_filter( 'jeg_fonts_option_setting', array( $this, 'font_option_setting' ) ); add_filter( 'jeg_register_lazy_section', array( $this, 'register_lazy_section' ) ); add_filter( 'jeg_register_lazy_section', array( $this, 'register_lazy_category' ) ); add_filter( 'jeg_customizer_add_section', array( $this, 'prepare_add_section' ) ); add_filter( 'jeg_customizer_add_field', array( $this, 'prepare_add_section' ) ); add_filter( 'jeg_customizer_get_lazy_options', array( $this, 'prepare_lazy_option' ) ); jnews_admin_topbar_menu( array( $this, 'admin_bar' ), 40 ); } public function prepare_lazy_option( $options ) { if ( is_array( $options ) ) { foreach ( $options as &$option ) { if ( isset( $option['type'] ) ) { $option['type'] = str_replace( 'jnews-', 'jeg-', $option['type'] ); } } } return $options; } public function prepare_add_section( $section ) { if ( in_array( $section['id'], $this->list_section, true ) ) { if ( ! ( function_exists( strtolower( self::$package ) . jnews_custom_text( 'evitca_si_' ) ) && call_user_func( [ call_user_func( strtolower( self::$package ) . jnews_custom_text( 'evitca_si_' ) ), 'is_' . jnews_custom_text( '_esnecil' ) . jnews_custom_text( 'detadilav' ) ] ) ) ) { $section['type'] = 'jnews-link-section'; $section['url'] = jnews_custom_text( 'esnecil-etavitca' ); } } if ( isset( $section['type'] ) ) { $section['type'] = str_replace( 'jnews-', 'jeg-', $section['type'] ); } return $section; } public function register_lazy_category( $result ) { if ( apply_filters( 'jnews_load_detail_customizer_category', false ) ) { $categories = get_categories( array( 'hide_empty' => false, 'hierarchical' => true ) ); $walker = new CategoryWalker(); $walker->walk( $categories, 3 ); foreach ( $walker->cache as $category ) { $section_id = CategoryOption::get_section_id( $category ); $category_id = $category->term_id; $result[ $section_id ][] = array( 'function' => array( $this, 'category_builder' ), 'parameter' => array( $category_id ) ); } } return $result; } public function category_builder( $category_id ) { include_once JNEWS_THEME_CLASSPATH . "Customizer/sections/single_category.php"; return single_category_option( $category_id ); } public function register_lazy_section( $result ) { $array = [ 'global_layout', 'global_sidefeed', 'global_color', 'global_browser', 'global_post_date', 'global_cpt', 'global_speed', 'header_builder', 'header_desktop_option', 'header_desktop_sticky', 'header_mobile_option', 'header_social_icon', 'header_date', 'header_button', 'header_vertical_menu', 'header_html', 'header_language', 'header_nav_icon', 'header_cart_detail', 'header_cart_icon', 'header_login', 'header_search_icon', 'header_search_form', 'header_main_menu', 'header_top_bar_menu', 'header_logo', 'header_drawer_container', 'header_dark_mode', 'footer_layout', 'footer_global', 'single_breadcrumb', 'single_post', 'single_related', 'single_comment', 'single_mobile_truncate', 'single_video_following', 'image_global', 'image_popup', 'image_gif', 'social_icon', 'search_option', 'search_live', 'archive_index', 'archive_global', 'archive_search', 'archive_author', 'archive_attachment', 'archive_notfound', 'archive_woocommerce', 'archive_bbpress', 'font_global', 'font_additional', 'font_typekit', 'global_loader', 'global_gdpr', 'global_query', 'global_analytic', 'global_api', 'block', 'category_global', 'ads_header', 'ads_article', 'ads_archive', 'ads_sidefeed', 'ads_global', 'ads_mobile', ]; $path = JNEWS_THEME_CLASSPATH . "Customizer/sections/"; foreach ( $array as $id ) { $result["jnews_{$id}_section"][] = "{$path}{$id}.php"; } return $result; } public function font_option_setting() { return array( 'jnews_body_font', 'jnews_header_font', 'jnews_main_menu_font', 'jnews_block_heading_font', 'jnews_h1_font', 'jnews_p_font', 'jnews_header_logo_text_font', 'jnews_sticky_logo_text_font', 'jnews_mobile_logo_text_font', 'jnews_other_font' ); } public function preview_init() { add_action( 'wp_enqueue_scripts', array( $this, 'load_script' ), 99 ); } public function customize_control_js() { wp_enqueue_style( 'jnews-additional-customizer', get_parent_theme_file_uri( 'assets/css/admin/additional-customizer.css' ) ); wp_enqueue_script( 'jquery-ui-sortable' ); wp_enqueue_script( 'jnews-extend-control', get_parent_theme_file_uri( 'assets/js/admin/extend-control.js' ), array( 'jquery' ), null, true ); } public function load_script() { wp_enqueue_style( 'jnews-customizer-redirect', get_parent_theme_file_uri( 'assets/css/admin/theme-customizer.css' ) ); wp_enqueue_style( 'vex', get_parent_theme_file_uri( 'assets/css/admin/vex.css' ) ); wp_enqueue_script( 'vex', get_parent_theme_file_uri( 'assets/js/admin/vex.combined.min.js' ), array( 'jquery' ), null, true ); wp_enqueue_script( 'jnews-partial-refresh', get_parent_theme_file_uri( 'assets/js/admin/partial.refresh.js' ), array( 'jquery', 'customize-preview' ), null, true ); wp_enqueue_script( 'jnews-post-message', get_parent_theme_file_uri( 'assets/js/admin/post.message.js' ), array( 'jquery' ), null, true ); } public function load_customizer() { $this->customizer = jnews_customizer(); new LayoutOption( $this->customizer, 171 ); new HeaderOption( $this->customizer, 172 ); new FooterOption( $this->customizer, 173 ); new SingleOption( $this->customizer, 174 ); new ImageOption( $this->customizer, 175 ); new SocialOption( $this->customizer, 176 ); new SearchOption( $this->customizer, 177 ); new CategoryOption( $this->customizer, 180 ); new ArchiveOption( $this->customizer, 185 ); new FontOption( $this->customizer, 191 ); new OtherOption( $this->customizer, 192 ); new AdsOption( $this->customizer, 193 ); new BlockOption( $this->customizer, 193 ); new CodeOption( $this->customizer, 195 ); } public function exclude_font( $output ) { $excluded_font = array(); $output = is_array( $output ) ? $output : array(); // type kit $typekit_font = get_theme_mod( 'jnews_type_kit', array() ); if ( is_array( $typekit_font ) ) { foreach ( $typekit_font as $font ) { $excluded_font[] = $font['font_name']; } } $upload_font = get_theme_mod( 'jnews_additional_font', array() ); if ( is_array( $upload_font ) ) { foreach ( $upload_font as $font ) { $excluded_font[] = $font['font_name']; } } $excluded_font = array_merge( $excluded_font, array( 'Georgia', 'Helvetica', 'Monaco' ) ); $output['excluded_font'] = $excluded_font; return $output; } public function load_typekit( $fonts ) { $custom_fonts = get_theme_mod( 'jnews_type_kit', array() ); if ( ! empty( $custom_fonts ) ) { $custom_fonts_final = array(); foreach ( $custom_fonts as $font ) { $custom_fonts_final[] = array( 'family' => $font['font_name'], 'label' => $font['font_name'], 'subsets' => array(), 'is_standard' => true, 'variants' => array(), 'type' => 'typekit' ); } $merged = array_merge( $custom_fonts_final, $fonts ); return $merged; } else { return $fonts; } } public function load_custom_font( $fonts ) { $custom_fonts = get_theme_mod( 'jnews_additional_font', array() ); if ( ! empty( $custom_fonts ) ) { $custom_fonts_final = array(); $variants = array(); foreach ( $custom_fonts as $font ) { $variants[ $font['font_name'] ][] = array( 'id' => $font['font_weight'] . $font['font_style'], 'label' => $font['font_weight'] . ' - ' . ucfirst( $font['font_style'] ) ); } foreach ( $variants as $font => $variant ) { $custom_fonts_final[] = array( 'family' => $font, 'label' => $font, 'subsets' => array(), 'is_standard' => true, 'variants' => $variant, 'type' => 'custom' ); } $merged = array_merge( $custom_fonts_final, $fonts ); return $merged; } else { return $fonts; } } public function custom_font_css( $generated_style ) { $custom_font_style = ''; $custom_fonts = get_theme_mod( 'jnews_additional_font', array() ); foreach ( $custom_fonts as $font ) { if ( ! empty( $font['font_name'] ) ) { $font_src = array(); if ( ! empty( $font['eot'] ) ) { $font_src[] = "url('" . wp_get_attachment_url( $font['eot'] ) . "#iefix') format('embedded-opentype')"; } if ( ! empty( $font['woff'] ) ) { $font_src[] = "url('" . wp_get_attachment_url( $font['woff'] ) . "') format('woff')"; } if ( ! empty( $font['ttf'] ) ) { $font_src[] = "url('" . wp_get_attachment_url( $font['ttf'] ) . "') format('truetype')"; } if ( ! empty( $font['eot'] ) ) { $font_src[] = "url('" . wp_get_attachment_url( $font['svg'] ) . "') format('svg')"; } $src = "src: " . implode( ",", $font_src ) . " ;"; $custom_font_style .= " @font-face { font-family: '" . $font['font_name'] . "'; " . $src . " font-weight: {$font['font_weight']}; font-style: {$font['font_style']}; } "; } } return $custom_font_style . $generated_style; } public function admin_bar( $admin_bar ) { if ( ! current_user_can( 'manage_options' ) ) { return; } $admin_bar->add_menu( array( 'id' => 'jnews', 'title' => '<span class="ab-icon"></span>JNews', 'href' => admin_url( 'admin.php?page=' . 'jnews' ) ) ); $submenus = $this->get_submenus(); foreach ( $submenus as $menu ) { $admin_bar->add_menu( array( 'parent' => $menu['parent'], 'id' => $menu['id'], 'title' => $menu['title'], 'href' => $menu['href'] ) ); } } protected function get_submenus() { $admin_page_url = 'admin.php?page='; $customize_page_url = 'customize.php?autofocus'; $get_permalink = get_permalink(); $label = array( array( 'id' => 'jnews_dashboard', 'parent' => 'jnews', 'title' => esc_html__( 'Dashboard', 'jnews' ), 'href' => admin_url( $admin_page_url . 'jnews' ) ), array( 'id' => 'jnews_import', 'parent' => 'jnews', 'title' => esc_html__( 'Import Demo & Style', 'jnews' ), 'href' => admin_url( $admin_page_url . 'jnews_import' ) ), array( 'id' => 'jnews_plugin', 'parent' => 'jnews', 'title' => esc_html__( 'Install Plugin', 'jnews' ), 'href' => admin_url( $admin_page_url . 'jnews_plugin' ) ), array( 'id' => 'jnews_customize', 'parent' => 'jnews', 'title' => esc_html__( 'Customize Style', 'jnews' ), 'href' => admin_url( 'customize.php?url=' . $get_permalink ) ), array( 'id' => 'jnews_system', 'parent' => 'jnews', 'title' => esc_html__( 'System Status', 'jnews' ), 'href' => admin_url( $admin_page_url . 'jnews_system' ) ), array( 'id' => 'jnews_documentation', 'parent' => 'jnews', 'title' => esc_html__( 'Video Documentation', 'jnews' ), 'href' => admin_url( $admin_page_url . 'jnews_documentation' ) ), array( 'id' => 'jnews_customize_layout', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-magic"></i> ' . esc_html__( 'Layout, Color & Scheme', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_layout_panel&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_header', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-list-alt"></i> ' . esc_html__( 'Header Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_header&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_footer', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-th-list"></i> ' . esc_html__( 'Footer Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_footer&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_single_post', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-newspaper-o"></i> ' . esc_html__( 'Single Post Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_single_post_panel&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_image', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-picture-o"></i> ' . esc_html__( 'Image & Gallery Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_image_panel&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_social', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-share-alt"></i> ' . esc_html__( 'Single Post Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_social_panel&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_search', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-search"></i> ' . esc_html__( 'Search Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_search_panel&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_category', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-briefcase"></i> ' . esc_html__( 'Category Template', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_category_panel&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_other_template', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-archive"></i> ' . esc_html__( 'Other Template', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_archive&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_font', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-font"></i> ' . esc_html__( 'Font Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_font&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_addtional', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-cogs"></i> ' . esc_html__( 'Additional Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_global_panel&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_ads', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-usd"></i> ' . esc_html__( 'Advertisement Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[panel]=jnews_ads&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_block', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-files-o"></i> ' . esc_html__( 'Global Block Option', 'jnews' ), 'href' => admin_url( $customize_page_url . '[section]=jnews_block_section&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_css', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-code"></i> ' . esc_html__( 'Additional CSS', 'jnews' ), 'href' => admin_url( $customize_page_url . '[section]=custom_css&url=' . $get_permalink ) ), array( 'id' => 'jnews_customize_script', 'parent' => 'jnews_customize', 'title' => '<i class="fa fa-code"></i> ' . esc_html__( 'Additional JavaScript', 'jnews' ), 'href' => admin_url( $customize_page_url . '[section]=jnews_code_section&url=' . $get_permalink ) ) ); return $label; } }