PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/footcrew.com/wp-content/plugins/WP-AMP/modules/ |
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/footcrew.com/wp-content/plugins/WP-AMP/modules/class-amphtml-ad.php |
<?php if ( ! class_exists( 'AMPHTML_Ad' ) ) { class AMPHTML_Ad { const DEFAULT_NUM_OF_SECTIONS = '2'; const OPTION = 'amphtml_ad_sections'; private $ad_sections; function __construct() { add_action( 'amphtml_init_tab', array( $this, 'init' ) ); add_filter( 'amphtml_admin_tab_list', array( $this, 'add_tab' ), 10, 1 ); add_filter( 'amphtml_ad_tab_sections', array( $this, 'update_ad_section' ), 10, 2 ); $this->ad_sections = get_option( self::OPTION ) ? explode( ',', get_option( self::OPTION ) ) : array(); $this->add_blocks_to_template(); } public function init( $tab ) { if ( 'ad' == $tab->get_name() && $tab->is_current() ) { add_action( 'get_tab_submit_button', array( $this, 'update_submit_button' ) ); add_action( 'amphtml_proceed_settings_form', array( $this, 'add_new_ad_block' ) ); add_action( 'amphtml_proceed_settings_form', array( $this, 'delete_ad_block' ) ); } } public function add_tab( $list ) { $list[ 'ad' ] = __( 'Ads', 'amphtml' ); return $list; } public function update_ad_section( $sections, $tab ) { foreach ( $this->ad_sections as $section ) { $sections[ $section ] = __( "Ad Block #$section", 'amphtml' ); } return $sections; } public function update_ad_fields( $fields, $tab ) { foreach ( $this->ad_sections as $section ) { $section_fields = $this->get_section_fields( $section, $tab ); $fields = array_merge( $fields, $section_fields ); } return $fields; } public function update_submit_button( $tab ) { ?> <input type="submit" name="add_new_ad" id="add-new-ad" class="button" value="<?php echo __( 'Add New', 'amphtml' ); ?>" > <?php if ( ! in_array( $tab->get_current_section(), array( 'top', 'bottom' ) ) ): ?> <input type="submit" name="delete_ad" id="delete-ad" class="button" value="<?php echo __( 'Delete Current', 'amphtml' ); ?>" > <?php endif; } public function add_new_ad_block( AMPHTML_Options $opt ) { if ( $opt->get_request_var( 'action' ) == 'add_new_ad_block' ) { $new_section_id = end( $this->ad_sections ) ? end( $this->ad_sections ) : self::DEFAULT_NUM_OF_SECTIONS; $this->ad_sections[] = ++ $new_section_id; update_option( self::OPTION, implode( ',', $this->ad_sections ) ); $new_section_url = add_query_arg( array( 'page' => 'amphtml-options', 'tab' => 'ad', 'section' => $new_section_id ), get_admin_url( null, 'options-general.php' ) ); wp_redirect( $new_section_url ); } } public function delete_ad_block( AMPHTML_Options $opt ) { $current_section = isset( $_POST[ 'section' ] ) ? $_POST[ 'section' ] : ''; if ( $opt->get_request_var( 'action' ) == 'delete_ad_block' && $current_section ) { $block_opts = array( "ad_layout_$current_section", "ad_height_$current_section", "ad_width_$current_section", "ad_type_$current_section", "ad_doubleclick_data_slot_$current_section", "ad_data_id_client_$current_section", "ad_adsense_data_slot_$current_section", "ad_content_code_$current_section" ); if ( ( $key = array_search( $current_section, $this->ad_sections ) ) !== false ) { unset( $this->ad_sections[ $key ] ); update_option( self::OPTION, implode( ',', $this->ad_sections ) ); foreach ( $block_opts as $opt ) { delete_option( $opt ); } } $new_section_url = add_query_arg( array( 'page' => 'amphtml-options', 'tab' => 'ad', 'section' => 'top' ), get_admin_url( null, 'options-general.php' ) ); wp_redirect( $new_section_url ); } } public function add_blocks_to_template() { $template_filters = array( 'post' => 'amphtml_template_post_fields', 'product' => 'amphtml_template_product_fields', 'page' => 'amphtml_template_page_fields', 'search' => 'amphtml_template_search_fields', 'blog' => 'amphtml_template_blog_fields', 'archives' => 'amphtml_template_archive_fields' ); $default = amphtml_get_default_post_types(); $amp_post_types = get_option( 'amphtml_post_types', $default ); foreach ( $amp_post_types as $amp_post_type ) { $template_filters[ $amp_post_type ] = 'amphtml_template_' . $amp_post_type . '_fields'; } $template_filters = apply_filters( 'amphtml_fields_tabs_for_ad', $template_filters ); foreach ( $template_filters as $section => $filter ) { add_filter( $filter, array( $this, 'get_blocks_for_templates' ), 10, 3 ); } } public function get_blocks_for_templates( $fields, $section, $tab ) { $blocks = array(); $prefix = $section; $top_ad_block[] = array( 'id' => "{$prefix}_ad_top", 'title' => __( 'Ad Block #1', 'amphtml' ), 'default' => 0, 'section' => $section, 'display_callback' => array( $tab, 'display_checkbox_field' ), 'display_callback_args' => array( 'id' => "{$prefix}_ad_top" ), 'description' => __( 'Show ad block #1', 'amphtml' ), ); $bottom_ad_block[] = array( 'id' => "{$prefix}_ad_bottom", 'title' => __( 'Ad Block #2', 'amphtml' ), 'default' => 0, 'section' => $section, 'display_callback' => array( $tab, 'display_checkbox_field' ), 'display_callback_args' => array( 'id' => "{$prefix}_ad_bottom" ), 'description' => __( 'Show ad block #2', 'amphtml' ), ); foreach ( $this->ad_sections as $block ) { $blocks[] = array( 'id' => "post_ad_$block", 'title' => __( "Ad Block #$block", 'amphtml' ), 'default' => 0, 'section' => $section, 'display_callback' => array( $tab, 'display_checkbox_field' ), 'display_callback_args' => array( "post_ad_$block" ), 'description' => __( "Show ad block #$block", 'amphtml' ), ); } return array_merge( $top_ad_block, $fields, $bottom_ad_block, $blocks ); } } new AMPHTML_Ad(); }