_amp_conditions = array( 'adsforwp_after_featured_image', 'adsforwp_below_the_header', 'adsforwp_below_the_footer', 'adsforwp_above_the_footer', 'adsforwp_above_the_post_content', 'adsforwp_below_the_post_content', 'adsforwp_below_the_title', 'adsforwp_above_related_post', 'adsforwp_below_author_box', 'adsforwp_ads_in_loops' ); $this->_display_tag_list = array( '

' => 'p_tag', '' => 'div_tag', '' => 'img_tag', ); if(!is_admin()){ add_action( 'init', array( $this, 'init' ) ); } } /** * We are here calling all required hooks */ public function adsforwp_hooks(){ //Adsense Auto Ads hooks for amp and non amp starts here add_filter('widget_text', 'do_shortcode'); add_action('wp_head', array($this, 'adsforwp_adblocker_detector')); add_action('wp_head', array($this, 'adsforwp_adsense_auto_ads')); add_action('wp_head', array($this, 'adsforwp_doubleclick_head_code')); //Sticky Adsense Ads add_action('amp_post_template_footer',array($this, 'adsforwp_insert_sticky_ads_code'), 12); //Background Ad add_action('amp_post_template_head',array($this, 'adsforwp_adsense_auto_ads_amp_script'),1); add_action('amp_post_template_footer',array($this, 'adsforwp_adsense_auto_ads_amp_tag')); //Adsense Auto Ads hooks for amp and non amp ends here add_filter('the_content', array($this, 'adsforwp_display_ads')); add_shortcode('adsforwp', array($this,'adsforwp_manual_ads')); add_shortcode('adsforwp-group', array($this, 'adsforwp_group_ads')); add_action('wp_ajax_nopriv_adsforwp_get_groups_ad', array($this, 'adsforwp_get_groups_ad')); add_action('wp_ajax_adsforwp_get_groups_ad', array($this, 'adsforwp_get_groups_ad')); //Hooks for sticky ads add_action('wp_footer', array($this, 'adsforwp_display_sticky_ads')); add_action('amp_post_template_css',array($this, 'adsforwp_enque_amp_script')); add_action('amp_post_template_footer',array($this, 'adsforwp_display_sticky_ads_amp')); add_action('wp_ajax_nopriv_adsforwp_update_amp_sticky_ad_status', array($this, 'adsforwp_update_amp_sticky_ad_status')); add_action('wp_ajax_nopriv_adsforwp_check_amp_sticky_ad_status', array($this, 'adsforwp_check_amp_sticky_ad_status')); add_action('wp_ajax_adsforwp_update_amp_sticky_ad_status', array($this, 'adsforwp_update_amp_sticky_ad_status')); add_action('wp_ajax_adsforwp_check_amp_sticky_ad_status', array($this, 'adsforwp_check_amp_sticky_ad_status')); add_action('amp_post_template_css',array($this, 'adsforwp_background_ad_css')); } public function init(){ ob_start(array($this, "adsforwp_display_custom_target_ad")); ob_start(array($this, "adsforwp_display_background_ad")); } public function adsforwp_display_custom_target_ad($content){ //For single ad starts here $all_ads_id = json_decode(get_transient('adsforwp_transient_ads_ids'), true); if(!empty($all_ads_id)){ foreach($all_ads_id as $ad_id){ $wheretodisplay = get_post_meta($ad_id,$key='wheretodisplay',true); if($wheretodisplay == 'custom_target'){ $ad_code = $this->adsforwp_get_ad_code($ad_id, $type="AD"); $post_meta = get_post_meta($ad_id,$key='',true); if(adsforwp_rmv_warnings($post_meta, 'adsforwp_custom_target_position', 'adsforwp_array') == 'existing_element'){ $action = adsforwp_rmv_warnings($post_meta, 'adsforwp_existing_element_action', 'adsforwp_array'); $jquery_selector = adsforwp_rmv_warnings($post_meta, 'adsforwp_jquery_selector', 'adsforwp_array'); switch ($action) { case 'prepend_content': $explod_elemnet =''; if(strchr($jquery_selector, '#')){ $jquery_selector = str_replace('#', '', $jquery_selector); $jquery_selector = str_replace('.', '', $jquery_selector); preg_match_all('/<[^>]*id="[^"]*\b'.$jquery_selector.'\b[^"]*"[^>]*>/', $content, $matches); $explod_elemnet = explode(' ', $matches[0][0]); $content = str_replace($matches[0][0], $ad_code.$explod_elemnet[0].' id="'.$jquery_selector.'">', $content); } if(strchr($jquery_selector, '.')){ $jquery_selector = str_replace('.', '', $jquery_selector); preg_match_all('/<[^>]*class="[^"]*\b'.$jquery_selector.'\b[^"]*"[^>]*>/', $content, $matches); $explod_elemnet = explode(' ', $matches[0][0]); $content = str_replace($matches[0][0], $ad_code.$explod_elemnet[0].' class="'.$jquery_selector.'">', $content); } break; case 'append_content': $explod_elemnet =''; if(strchr($jquery_selector, '#')){ $jquery_selector = str_replace('#', '', $jquery_selector); preg_match_all('/<[^>]*id="[^"]*\b'.$jquery_selector.'\b[^"]*"[^>]*>/', $content, $matches); $explod_elemnet = explode(' ', $matches[0][0]); $content = str_replace($matches[0][0], $explod_elemnet[0].' id="'.$jquery_selector.'">'.$ad_code, $content); } if(strchr($jquery_selector, '.')){ $jquery_selector = str_replace('.', '', $jquery_selector); preg_match_all('/<[^>]*class="[^"]*\b'.$jquery_selector.'\b[^"]*"[^>]*>/', $content, $matches); $explod_elemnet = explode(' ', $matches[0][0]); $content = str_replace($matches[0][0], $explod_elemnet[0].' class="'.$jquery_selector.'">'.$ad_code, $content); } break; default: break; } } if(adsforwp_rmv_warnings($post_meta, 'adsforwp_custom_target_position', 'adsforwp_array') == 'new_element'){ $new_element_div = html_entity_decode(adsforwp_rmv_warnings($post_meta, 'adsforwp_new_element', 'adsforwp_array')); $content = str_replace($new_element_div, $ad_code, $content); } } } } //For single ad ends here //For group ads starts here $all_ads_id = json_decode(get_transient('adsforwp_groups_transient_ids'), true); if(!empty($all_ads_id)){ foreach($all_ads_id as $ad_id){ $wheretodisplay = get_post_meta($ad_id,$key='wheretodisplay',true); if($wheretodisplay == 'custom_target'){ $widget=''; $ad_code = $this->$this->adsforwp_group_ads($atts=null, $ad_id, $widget); $post_meta = get_post_meta($ad_id,$key='',true); if(adsforwp_rmv_warnings($post_meta, 'adsforwp_custom_target_position', 'adsforwp_array') == 'existing_element'){ $action = adsforwp_rmv_warnings($post_meta, 'adsforwp_existing_element_action', 'adsforwp_array'); $jquery_selector = adsforwp_rmv_warnings($post_meta, 'adsforwp_jquery_selector', 'adsforwp_array'); switch ($action) { case 'prepend_content': $explod_elemnet =''; if(strchr($jquery_selector, '#')){ $jquery_selector = str_replace('#', '', $jquery_selector); $jquery_selector = str_replace('.', '', $jquery_selector); preg_match_all('/<[^>]*id="[^"]*\b'.$jquery_selector.'\b[^"]*"[^>]*>/', $content, $matches); $explod_elemnet = explode(' ', $matches[0][0]); $content = str_replace($matches[0][0], $ad_code.$explod_elemnet[0].' id="'.$jquery_selector.'">', $content); } if(strchr($jquery_selector, '.')){ $jquery_selector = str_replace('.', '', $jquery_selector); preg_match_all('/<[^>]*class="[^"]*\b'.$jquery_selector.'\b[^"]*"[^>]*>/', $content, $matches); $explod_elemnet = explode(' ', $matches[0][0]); $content = str_replace($matches[0][0], $ad_code.$explod_elemnet[0].' class="'.$jquery_selector.'">', $content); } break; case 'append_content': $explod_elemnet =''; if(strchr($jquery_selector, '#')){ $jquery_selector = str_replace('#', '', $jquery_selector); preg_match_all('/<[^>]*id="[^"]*\b'.$jquery_selector.'\b[^"]*"[^>]*>/', $content, $matches); $explod_elemnet = explode(' ', $matches[0][0]); $content = str_replace($matches[0][0], $explod_elemnet[0].' id="'.$jquery_selector.'">'.$ad_code, $content); } if(strchr($jquery_selector, '.')){ $jquery_selector = str_replace('.', '', $jquery_selector); preg_match_all('/<[^>]*class="[^"]*\b'.$jquery_selector.'\b[^"]*"[^>]*>/', $content, $matches); $explod_elemnet = explode(' ', $matches[0][0]); $content = str_replace($matches[0][0], $explod_elemnet[0].' class="'.$jquery_selector.'">'.$ad_code, $content); } break; default: break; } } if(adsforwp_rmv_warnings($post_meta, 'adsforwp_custom_target_position', 'adsforwp_array') == 'new_element'){ $new_element_div = html_entity_decode(adsforwp_rmv_warnings($post_meta, 'adsforwp_new_element', 'adsforwp_array')); $content = str_replace($new_element_div, $ad_code, $content); } } } } //For group ads ends here return $content; } public function adsforwp_enque_amp_script(){ ?> .adsforwp-stick-ad{ padding-top:20px; } .afw_ad_amp_achor{ text-align:center; } .adsforwp-sticky-ad-close { position: absolute; right: 0px; top: 0px; padding:2px; cursor:pointer; color:#000; background-color:#fff; border: #fff; } .adsforwp-sticky-ad-close:after{ display: inline-block; content: "\00d7"; } adsforwp_check_ads_in_group($ad_id); if(isset($_COOKIE['adsforwp-stick-ad-id7'])){ $ad_id_list = $_COOKIE['adsforwp-stick-ad-id7']; $explod_ad_id = explode(',', $ad_id_list); } $wheretodisplay = get_post_meta($ad_id,$key='wheretodisplay',true); if(get_post_type($ad_id) =='adsforwp-groups'){ if($wheretodisplay == 'sticky' && !in_array($ad_id, $explod_ad_id)){ echo json_encode(array('showNotification'=>true)); }else{ echo json_encode(array('showNotification'=>false)); } }else{ if($wheretodisplay == 'sticky' && !in_array($ad_id, $explod_ad_id) && empty($in_group)){ echo json_encode(array('showNotification'=>true)); }else{ echo json_encode(array('showNotification'=>false)); } } wp_die(); } public function adsforwp_display_sticky_ads_amp(){ //Ads stick starts here $all_ads_id = json_decode(get_transient('adsforwp_transient_ads_ids'), true); $nonce = wp_create_nonce('adsforwp_ajax_check_front_nonce'); if(!empty($all_ads_id)){ foreach($all_ads_id as $ad_id){ $wheretodisplay = get_post_meta($ad_id,$key='wheretodisplay',true); if($wheretodisplay == 'sticky'){ $ad_code = $this->adsforwp_get_ad_code($ad_id, $type="AD"); if($ad_code){ $showurl = admin_url('admin-ajax.php?action=adsforwp_check_amp_sticky_ad_status×tamp='.time().'&adsforwp_front_nonce='.$nonce.'&ad_id='.$ad_id); $dismissurl = admin_url('admin-ajax.php?action=adsforwp_update_amp_sticky_ad_status×tamp='.time().'&adsforwp_front_nonce='.$nonce.'&ad_id='.$ad_id); echo '
'.$ad_code.'
'; } } } } //Ads stick ends here //Group stick starts here $all_group_post = json_decode(get_transient('adsforwp_groups_transient_ids'), true); if(!empty($all_group_post)){ foreach($all_group_post as $ad_id){ $wheretodisplay = get_post_meta($ad_id,$key='wheretodisplay',true); if($wheretodisplay == 'sticky'){ $widget =''; $ad_code = $this->$this->adsforwp_group_ads($atts=null, $ad_id, $widget); if($ad_code){ $showurl = admin_url('admin-ajax.php?action=adsforwp_check_amp_sticky_ad_status×tamp='.time().'&adsforwp_front_nonce='.$nonce.'&ad_id='.$ad_id); $dismissurl = admin_url('admin-ajax.php?action=adsforwp_update_amp_sticky_ad_status×tamp='.time().'&adsforwp_front_nonce='.$nonce.'&ad_id='.$ad_id); echo '
'.$ad_code.'
'; } } } } //Group stick ends here } public function adsforwp_display_sticky_ads(){ $explod_ad_id = array(); if(isset($_COOKIE['adsforwp-stick-ad-id7'])){ $ad_id_list = $_COOKIE['adsforwp-stick-ad-id7']; $explod_ad_id = explode(',', $ad_id_list); } $common_function_obj = new adsforwp_admin_common_functions(); //Ads Sticky starts here $ad_code =''; $all_ads_id = json_decode(get_transient('adsforwp_transient_ads_ids'), true); if(!empty($all_ads_id)){ foreach($all_ads_id as $ad_id){ $in_group = $common_function_obj->adsforwp_check_ads_in_group($ad_id); $wheretodisplay = get_post_meta($ad_id,$key='wheretodisplay',true); if($wheretodisplay == 'sticky' && !in_array($ad_id, $explod_ad_id) && empty($in_group)){ $ad_code .= $this->adsforwp_get_ad_code($ad_id, $type="AD"); } } } if($ad_code){ echo ''; } //Ads Sticky ends here //Group Sticky starts here $all_group_post = array(); $group_ad_code =''; $all_group_post = json_decode(get_transient('adsforwp_groups_transient_ids'), true); if(!empty($all_group_post)){ foreach($all_group_post as $ad_id){ $widget = ''; $wheretodisplay = get_post_meta($ad_id,$key='wheretodisplay',true); if($wheretodisplay == 'sticky' && !in_array($ad_id, $explod_ad_id)){ $group_ad_code .= $this->adsforwp_group_ads($atts=null, $ad_id, $widget); } } } if($group_ad_code){ echo ''; } //Group Sticky ends here } /** * This function returns publisher id or data ad client id for adsense ads * @return type */ public function adsforwp_get_pub_id_on_revenue_percentage(){ $settings = adsforwp_defaultSettings(); $ad_revenue_sharing = ''; $ad_owner_revenue_per = ''; $ad_author_revenue_per = ''; $display_per_in_minute = ''; $author_adsense_ids = array(); if(array_key_exists('ad_revenue_sharing', $settings)){ $ad_revenue_sharing = adsforwp_rmv_warnings($settings, 'ad_revenue_sharing', 'adsforwp_string'); $ad_owner_revenue_per = adsforwp_rmv_warnings($settings, 'ad_owner_revenue_per', 'adsforwp_string'); $ad_author_revenue_per = adsforwp_rmv_warnings($settings, 'ad_author_revenue_per', 'adsforwp_string'); $display_per_in_minute = (60*$ad_owner_revenue_per)/100; } $current_second = date("s"); if((!($current_second <= $display_per_in_minute)) && isset($settings['ad_revenue_sharing'])){ $author_adsense_ids['author_pub_id'] = get_the_author_meta( 'adsense_pub_id' ); $author_adsense_ids['author_ad_slot_id'] = get_the_author_meta( 'adsense_ad_slot_id' ); } return $author_adsense_ids; } public function adsforwp_get_adsense_publisher_id(){ $data_ad_client =''; $response = array(); $cc_args = array( 'posts_per_page' => -1, 'post_type' => 'adsforwp', 'meta_key' => 'adsense_type', 'meta_value' => 'adsense_auto_ads', ); $postdata = new WP_Query($cc_args); $auto_adsense_post = $postdata->posts; if($postdata->post_count >0){ $data_ad_client = get_post_meta($auto_adsense_post[0]->ID,$key='data_client_id',true); $author_adsense_ids = $this->adsforwp_get_pub_id_on_revenue_percentage(); if($author_adsense_ids){ $author_pub_id = adsforwp_rmv_warnings($author_adsense_ids, 'author_pub_id', 'adsforwp_string'); if($author_pub_id){ $data_ad_client = $author_pub_id; } } $response = array('post_id' => $auto_adsense_post[0]->ID, 'data_ad_client' => $data_ad_client); } return $response; } /** * we are here displaying background ad */ public function adsforwp_enque_amp_bg_ad_script(){ ?> adsforwp_get_post_conditions_status($ad_id); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($ad_id); if (( $condition_status === 1 || $condition_status === true || $condition_status==='notset' ) && ( $visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset' )) { $after_body =''; $media_value_meta = get_post_meta( $ad_id, 'ad_background_image_detail', true ); if(isset($media_value_meta)){ $redirect_url = get_post_meta( $ad_id, 'ad_background_redirect_url', true ); $after_body.='' . '
' . '' . '
'; $before_body = '
'; } $content = preg_replace("/(\)/", "$1".$after_body, $content); $content = preg_replace("/(\<\/body.*\>)/", $before_body."$1", $content); break; } } } } return $content; } public function adsforwp_background_ad_css(){ $all_ads_id = json_decode(get_transient('adsforwp_transient_ads_ids'), true); if($all_ads_id){ $placement_obj = new adsforwp_view_placement(); $visitor_condition_obj = new adsforwp_view_visitor_condition(); foreach ($all_ads_id as $ad_id){ $post_type = get_post_meta( $ad_id, 'select_adtype', true ); if($post_type == 'ad_background'){ $condition_status = $placement_obj->adsforwp_get_post_conditions_status($ad_id); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($ad_id); if (( $condition_status ===1 || $condition_status === true || $condition_status==='notset' ) && ( $visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset' )) { $media_value_meta = get_post_meta( $ad_id, 'ad_background_image_detail', true ); $design = ampforwp_get_setting('amp-design-selector'); if(isset($media_value_meta)){ ?> .adsforwp-bg-ad{ position: fixed; top: 0; left: 0; height: 100%; width: 100%; background-position: center; background-repeat: no-repeat; background-size: cover; } .adsforwp-bg-content{ z-index:1; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } .h_m{ z-index: 1; position: relative; } .content-wrapper{ position: relative; z-index: 0; margin: 0 16% } .cntr, .amp-wp-article{ background:#ffffff; } .footer{ background:#ffffff; } @media(max-width:768px){ .adsforwp-bg-ad{ position:relative; } .content-wrapper{ margin:0; } } adsforwp_get_adsense_publisher_id(); if($result){ $post_id = adsforwp_rmv_warnings($result, 'post_id', 'adsforwp_string'); $placement_obj = new adsforwp_view_placement(); $condition_status = $placement_obj->adsforwp_get_post_conditions_status($post_id); $visitor_condition_obj = new adsforwp_view_visitor_condition(); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($post_id); if (( $condition_status ===1 || $condition_status === true || $condition_status==='notset' ) && ( $visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset' )) { echo ''; } } } /** * we are here integrating adsense auto ads amp tag for amp posts */ public function adsforwp_adsense_auto_ads_amp_tag(){ $result = $this->adsforwp_get_adsense_publisher_id(); if($result){ $post_id = $result['post_id']; $content = ' '; $this->adsforwp_adsense_auto_ads_content($content, $post_id); } } /** * we are here integrating adsense auto ads for ever non amp posts */ public function adsforwp_adsense_auto_ads(){ $result = $this->adsforwp_get_adsense_publisher_id(); if($result){ $post_id = adsforwp_rmv_warnings($result, 'post_id', 'adsforwp_string'); $content = ' '; $this->adsforwp_adsense_auto_ads_content($content, $post_id); } } public function adsforwp_insert_sticky_ads_code(){ $conditions = false; $all_ads_id = json_decode(get_transient('adsforwp_transient_ads_ids'), true); $placement_obj = new adsforwp_view_placement(); $visitor_condition_obj = new adsforwp_view_visitor_condition(); if($all_ads_id){ foreach($all_ads_id as $ad_id){ $post_type = get_post_meta( $ad_id, 'select_adtype', true ); if($post_type == 'adsense'){ $post_meta_dataset = array(); $post_meta_dataset = get_post_meta($ad_id,$key='',true); $adsense_type = adsforwp_rmv_warnings($post_meta_dataset, 'adsense_type', 'adsforwp_array'); if($adsense_type == 'adsense_sticky_ads'){ $ad_slot = adsforwp_rmv_warnings($post_meta_dataset, 'data_ad_slot', 'adsforwp_array'); $ad_client = adsforwp_rmv_warnings($post_meta_dataset, 'data_client_id', 'adsforwp_array'); $width = '200'; $height = '200'; $banner_size = adsforwp_rmv_warnings($post_meta_dataset, 'banner_size', 'adsforwp_array'); if($banner_size !=''){ $explode_size = explode('x', $banner_size); $width = adsforwp_rmv_warnings($explode_size, 0, 'adsforwp_string'); $height = adsforwp_rmv_warnings($explode_size, 1, 'adsforwp_string'); } $condition_status = $placement_obj->adsforwp_get_post_conditions_status($ad_id); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($ad_id); if (( $condition_status ===1 || $condition_status === true || $condition_status==='notset' ) && ( $visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset' )) { $current_post_data = get_post_meta(get_the_ID(),$key='',true); if(isset($current_post_data['ads-for-wp-visibility'])){ $this->visibility = $current_post_data['ads-for-wp-visibility'][0]; } if($this->visibility != 'hide') { $post_meta_dataset = get_post_meta($ad_id,$key='',true); $current_date = date("Y-m-d"); $ad_expire_enable = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_day_enable', 'adsforwp_array'); $ad_expire_from = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_from', 'adsforwp_array'); $ad_expire_to = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_to', 'adsforwp_array'); $ad_days_enable = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_day_enable', 'adsforwp_array'); $ad_expire_days = get_post_meta($ad_id,$key='adsforwp_ad_expire_days',true); if($ad_expire_enable){ if($ad_expire_from && $ad_expire_to ) { if($ad_expire_from <= $current_date && $ad_expire_to >=$current_date){ if($ad_days_enable){ foreach ($ad_expire_days as $days){ if(date('Y-m-d', strtotime($days))==$current_date){ $conditions =true; } } }else{ $conditions = true; } } }else{ $conditions = true; } }else{ if($ad_days_enable){ foreach ($ad_expire_days as $days){ if(date('Y-m-d', strtotime($days))==$current_date){ $conditions =true; } } }else{ $conditions =true; } } } } } if($conditions){ $output = ''; $output .= ''; $output .= ''; $output .= ''; echo $output; } } } } } public function adsforwp_doubleclick_head_code(){ $conditions = false; $data_slot = ''; $all_ads_id = json_decode(get_transient('adsforwp_transient_ads_ids'), true); $placement_obj = new adsforwp_view_placement(); $visitor_condition_obj = new adsforwp_view_visitor_condition(); if($all_ads_id){ foreach($all_ads_id as $ad_id){ $post_type = get_post_meta( $ad_id, 'select_adtype', true ); if($post_type == 'doubleclick'){ $post_meta_dataset = array(); $post_meta_dataset = get_post_meta($ad_id,$key='',true); $ad_slot_id = adsforwp_rmv_warnings($post_meta_dataset, 'dfp_slot_id', 'adsforwp_array'); $ad_div_gpt = adsforwp_rmv_warnings($post_meta_dataset, 'dfp_div_gpt_ad', 'adsforwp_array'); $width = '200'; $height = '200'; $banner_size = adsforwp_rmv_warnings($post_meta_dataset, 'banner_size', 'adsforwp_array'); if($banner_size !=''){ $explode_size = explode('x', $banner_size); $width = adsforwp_rmv_warnings($explode_size, 0, 'adsforwp_string'); $height = adsforwp_rmv_warnings($explode_size, 1, 'adsforwp_string'); } $condition_status = $placement_obj->adsforwp_get_post_conditions_status($ad_id); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($ad_id); if (( $condition_status ===1 || $condition_status === true || $condition_status==='notset' ) && ( $visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset' )) { $current_post_data = get_post_meta(get_the_ID(),$key='',true); if(isset($current_post_data['ads-for-wp-visibility'])){ $this->visibility = $current_post_data['ads-for-wp-visibility'][0]; } if($this->visibility != 'hide') { $post_meta_dataset = get_post_meta($ad_id,$key='',true); $current_date = date("Y-m-d"); $ad_expire_enable = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_day_enable', 'adsforwp_array'); $ad_expire_from = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_from', 'adsforwp_array'); $ad_expire_to = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_to', 'adsforwp_array'); $ad_days_enable = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_day_enable', 'adsforwp_array'); $ad_expire_days = get_post_meta($ad_id,$key='adsforwp_ad_expire_days',true); if($ad_expire_enable){ if($ad_expire_from && $ad_expire_to ) { if($ad_expire_from <= $current_date && $ad_expire_to >=$current_date){ if($ad_days_enable){ foreach ($ad_expire_days as $days){ if(date('Y-m-d', strtotime($days))==$current_date){ $conditions =true; } } }else{ $conditions = true; } } }else{ $conditions = true; } }else{ if($ad_days_enable){ foreach ($ad_expire_days as $days){ if(date('Y-m-d', strtotime($days))==$current_date){ $conditions =true; } } }else{ $conditions =true; } } } } } if($conditions){ $data_slot .="googletag.defineSlot('".esc_attr($ad_slot_id)."', [".esc_attr($width).", ".esc_attr($height)."], '".esc_attr($ad_div_gpt)."').addService(googletag.pubads());"; } } if( $data_slot !=''){ echo " "; } } } public function adsforwp_adsense_auto_ads_content($content, $post_id){ $placement_obj = new adsforwp_view_placement(); $condition_status = $placement_obj->adsforwp_get_post_conditions_status($post_id); $visitor_condition_obj = new adsforwp_view_visitor_condition(); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($post_id); if (( $condition_status ===1 || $condition_status === true || $condition_status==='notset' ) && ( $visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset' )) { $current_post_data = get_post_meta(get_the_ID(),$key='',true); if(isset($current_post_data['ads-for-wp-visibility'])){ $this->visibility = $current_post_data['ads-for-wp-visibility'][0]; } if($this->visibility != 'hide') { $post_meta_dataset = get_post_meta($post_id,$key='',true); $current_date = date("Y-m-d"); $ad_expire_enable = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_day_enable', 'adsforwp_array'); $ad_expire_from = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_from', 'adsforwp_array'); $ad_expire_to = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_to', 'adsforwp_array'); $ad_days_enable = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_day_enable', 'adsforwp_array'); $ad_expire_days = get_post_meta($post_id,$key='adsforwp_ad_expire_days',true); if($ad_expire_enable){ if($ad_expire_from && $ad_expire_to ) { if($ad_expire_from <= $current_date && $ad_expire_to >=$current_date){ if($ad_days_enable){ foreach ($ad_expire_days as $days){ if(date('Y-m-d', strtotime($days))==$current_date){ echo $content; } } }else{ echo $content; } } }else{ echo $content; } }else{ if($ad_days_enable){ foreach ($ad_expire_days as $days){ if(date('Y-m-d', strtotime($days))==$current_date){ echo $content; } } }else{ echo $content; } } } } } /** * This hook function display content in post. we are modifying post content here * @param type $content * @return type string */ public function adsforwp_display_ads($content){ $current_post_data = get_post_meta(get_the_ID(),$key='',true); if(isset($current_post_data['ads-for-wp-visibility'])){ $this->visibility = $current_post_data['ads-for-wp-visibility'][0]; } if ((function_exists( 'ampforwp_is_amp_endpoint' ) && ampforwp_is_amp_endpoint()) || function_exists( 'is_amp_endpoint' ) && is_amp_endpoint()) { $this->is_amp = true; } if($this->visibility != 'hide') { //Ads positioning starts here $all_ads_post = json_decode(get_transient('adsforwp_transient_ads_ids'), true); if($all_ads_post){ foreach($all_ads_post as $ads){ $post_ad_id = $ads; $common_function_obj = new adsforwp_admin_common_functions(); $in_group = $common_function_obj->adsforwp_check_ads_in_group($post_ad_id); if(empty($in_group)){ $amp_display_condition = get_post_meta($post_ad_id,$key='wheretodisplayamp',true); if(in_array($amp_display_condition, $this->_amp_conditions) && $this->is_amp){ return $content; } $where_to_display = ""; $adposition = ""; $post_meta_dataset = array(); $post_meta_dataset = get_post_meta($post_ad_id,$key='',true); $ad_code = $this->adsforwp_get_ad_code($post_ad_id, $type="AD"); $where_to_display = adsforwp_rmv_warnings($post_meta_dataset, 'wheretodisplay', 'adsforwp_array'); $adposition = adsforwp_rmv_warnings($post_meta_dataset, 'adposition', 'adsforwp_array'); //Displays all ads according to their settings paragraphs starts here switch ($where_to_display) { case 'after_the_content': $content = $content.$ad_code; break; case 'before_the_content': $content = $ad_code.$content; break; case 'between_the_content': if($adposition == 'number_of_paragraph'){ $entered_tag_name = ''; $display_tag_name = ''; $paragraph_id = adsforwp_rmv_warnings($post_meta_dataset, 'paragraph_number', 'adsforwp_array'); $display_tag_name = adsforwp_rmv_warnings($post_meta_dataset, 'display_tag_name', 'adsforwp_array'); $entered_tag_name = ''; if($display_tag_name !=''){ if($display_tag_name == 'custom_tag'){ $closing_p = $entered_tag_name; }else{ $closing_p = array_search($display_tag_name,$this->_display_tag_list); } }else{ $closing_p = '

'; } if($closing_p == ''){ if($paragraph_id){ preg_match_all( '/]+\>/' , $content, $match ); $adsforwp_images = array_pop($match); $image_ad = $adsforwp_images[$paragraph_id-1].$ad_code; $content = str_replace( $adsforwp_images[$paragraph_id-1], $image_ad, $content ); } }else{ $paragraphs = explode( $closing_p, $content ); foreach ($paragraphs as $index => $paragraph) { if ( trim( $paragraph ) ) { $paragraphs[$index] .= $closing_p; } if ( $paragraph_id == $index + 1 ) { $paragraphs[$index] .= $ad_code; } } $content = implode( '', $paragraphs ); } } if($adposition == '50_of_the_content'){ $closing_p = '

'; $paragraphs = explode( $closing_p, $content ); $total_paragraphs = count($paragraphs); $paragraph_id = round($total_paragraphs /2); foreach ($paragraphs as $index => $paragraph) { if ( trim( $paragraph ) ) { $paragraphs[$index] .= $closing_p; } if ( $paragraph_id == $index + 1 ) { $paragraphs[$index] .= $ad_code; } } $content = implode( '', $paragraphs ); } break; default: break; } //Displays all ads according to their settings paragraphs ends here } } } //Ads positioning ends here //Groups positioning starts here $all_group_post = json_decode(get_transient('adsforwp_groups_transient_ids'), true); if($all_group_post){ foreach($all_group_post as $group){ $post_group_id = $group; $amp_display_condition = get_post_meta($post_group_id,$key='wheretodisplayamp',true); if(in_array($amp_display_condition, $this->_amp_conditions) && $this->is_amp){ return $content; } $where_to_display =''; $adposition =''; $widget = ''; $post_meta_dataset = array(); $post_meta_dataset = get_post_meta($post_group_id,$key='',true); $ad_code = $this->adsforwp_group_ads($atts=null, $post_group_id, $widget); $where_to_display = adsforwp_rmv_warnings($post_meta_dataset, 'wheretodisplay', 'adsforwp_array'); $adposition = adsforwp_rmv_warnings($post_meta_dataset, 'adposition', 'adsforwp_array'); //Displays all ads according to their settings paragraphs starts here switch ($where_to_display) { case 'after_the_content': $content = $content.$ad_code; break; case 'before_the_content': $content = $ad_code.$content; break; case 'between_the_content': if($adposition == 'number_of_paragraph'){ $paragraph_id = adsforwp_rmv_warnings($post_meta_dataset, 'paragraph_number', 'adsforwp_array'); $closing_p = '

'; $paragraphs = explode( $closing_p, $content ); foreach ($paragraphs as $index => $paragraph) { if ( trim( $paragraph ) ) { $paragraphs[$index] .= $closing_p; } if ( $paragraph_id == $index + 1 ) { $paragraphs[$index] .= $ad_code; } } $content = implode( '', $paragraphs ); } if($adposition == '50_of_the_content'){ $closing_p = '

'; $paragraphs = explode( $closing_p, $content ); $total_paragraphs = count($paragraphs); $paragraph_id = round($total_paragraphs /2); foreach ($paragraphs as $index => $paragraph) { if ( trim( $paragraph ) ) { $paragraphs[$index] .= $closing_p; } if ( $paragraph_id == $index + 1 ) { $paragraphs[$index] .= $ad_code; } } $content = implode( '', $paragraphs ); } break; default: break; } //Displays all ads according to their settings paragraphs ends here } } //Groups positioning ends here } return $content; } /** * we are generating html or amp code for ads which will be displayed in post content. * @param type $post_ad_id * @return string */ public function adsforwp_get_ad_code($post_ad_id, $type){ $visitor_condition_status =''; $condition_status =''; if($type =="AD"){ $placement_obj = new adsforwp_view_placement(); $condition_status = $placement_obj->adsforwp_get_post_conditions_status($post_ad_id); $visitor_condition_obj = new adsforwp_view_visitor_condition(); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($post_ad_id); } if((($condition_status ===1 || $condition_status === true || $condition_status==='notset')&& ($visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset')) || $type=='GROUP' ){ if ((function_exists( 'ampforwp_is_amp_endpoint' ) && ampforwp_is_amp_endpoint()) || function_exists( 'is_amp_endpoint' ) && is_amp_endpoint()) { $this->is_amp = true; } $ad_image =''; $ad_redirect_url =''; $ad_type =''; $ad_code =''; $ad_expire_to =''; $ad_expire_from =''; $custom_ad_code =''; $where_to_display =''; $amp_compatibility =''; $ad_expire_enable =''; $ad_days_enable =''; $non_amp_visibility =''; $ad_responsive =''; $ad_margin_top = 0; $ad_margin_bottom = 0; $ad_margin_left = 0; $ad_margin_right = 0; $ad_alignment = ''; $ad_expire_days = array(); $post_meta_dataset = array(); $post_meta_dataset = get_post_meta($post_ad_id,$key='',true); $where_to_display = adsforwp_rmv_warnings($post_meta_dataset, 'wheretodisplay', 'adsforwp_array'); if($type =="AD"){ $ad_margin_top =''; $ad_margin_bottom =''; $ad_margin_left =''; $ad_margin_right =''; $margin_post_meta = get_post_meta($post_ad_id, $key='adsforwp_ad_margin',true); $ad_margin_top = adsforwp_rmv_warnings($margin_post_meta, 'ad_margin_top', 'adsforwp_string'); $ad_margin_bottom = adsforwp_rmv_warnings($margin_post_meta, 'ad_margin_bottom', 'adsforwp_string'); $ad_margin_left = adsforwp_rmv_warnings($margin_post_meta, 'ad_margin_left', 'adsforwp_string'); $ad_margin_right = adsforwp_rmv_warnings($margin_post_meta, 'ad_margin_right', 'adsforwp_string'); if($where_to_display !='ad_shortcode'){ $ad_alignment = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_align', 'adsforwp_array'); } } $ad_responsive = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_responsive', 'adsforwp_array'); $custom_ad_code = adsforwp_rmv_warnings($post_meta_dataset, 'custom_code', 'adsforwp_array'); $ad_image = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_image', 'adsforwp_array'); $ad_redirect_url = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_redirect_url', 'adsforwp_array'); $ad_type = adsforwp_rmv_warnings($post_meta_dataset, 'select_adtype', 'adsforwp_array'); $ad_expire_enable = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_day_enable', 'adsforwp_array'); $ad_expire_from = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_from', 'adsforwp_array'); $ad_expire_to = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_to', 'adsforwp_array'); $ad_days_enable = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_expire_day_enable', 'adsforwp_array'); $non_amp_visibility = adsforwp_rmv_warnings($post_meta_dataset, 'ads_for_wp_non_amp_visibility', 'adsforwp_array'); $ad_expire_days = get_post_meta($post_ad_id,$key='adsforwp_ad_expire_days',true); if($ad_type !=""){ $amp_compatibility = adsforwp_rmv_warnings($post_meta_dataset, 'ads-for-wp_amp_compatibilty', 'adsforwp_array'); switch ($ad_type) { case 'custom': if($this->is_amp){ if($amp_compatibility != 'disable'){ $ad_code = '
'.$custom_ad_code.'
'; } }else{ if($non_amp_visibility !='hide'){ $ad_code = '
'.$custom_ad_code.'
'; } } break; case 'ad_image': $ad_img_width = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_img_width', 'adsforwp_array'); $ad_img_height = adsforwp_rmv_warnings($post_meta_dataset, 'adsforwp_ad_img_height', 'adsforwp_array'); if($this->is_amp){ if($amp_compatibility != 'disable'){ $this->amp_ads_id[] = $post_ad_id; if($ad_responsive == 1){ $ad_code = '
'; }else{ $ad_code = '
'; } } }else{ if($non_amp_visibility !='hide'){ if($ad_responsive == 1){ $ad_code = '
'; }else{ $ad_code = '
'; } } } break; case 'contentad': $contentad_id = adsforwp_rmv_warnings($post_meta_dataset, 'contentad_id', 'adsforwp_array'); $contentad_id_d = adsforwp_rmv_warnings($post_meta_dataset, 'contentad_id_d', 'adsforwp_array'); $contentad_widget_id = adsforwp_rmv_warnings($post_meta_dataset, 'contentad_widget_id', 'adsforwp_array'); if($this->is_amp){ $this->amp_ads_id[] = $post_ad_id; if($amp_compatibility != 'disable'){ $ad_code = ''; } }else{ if($non_amp_visibility !='hide'){ $ad_code = '
'; } } break; case 'ad_now': $ad_now_widget_id = adsforwp_rmv_warnings($post_meta_dataset, 'ad_now_widget_id', 'adsforwp_array'); if(!$this->is_amp){ $ad_code = '
loading...
'; } break; case 'infolinks': $infolinks_pid = adsforwp_rmv_warnings($post_meta_dataset, 'infolinks_pid', 'adsforwp_array'); $infolinks_wsid = adsforwp_rmv_warnings($post_meta_dataset, 'infolinks_wsid', 'adsforwp_array'); if(!$this->is_amp){ $ad_code = '
'; } break; //adsense ads logic code starts here case 'adsense': $adsense_type = ''; $author_ad_slot_id =''; $adsense_type = adsforwp_rmv_warnings($post_meta_dataset, 'adsense_type', 'adsforwp_array'); $ad_client = adsforwp_rmv_warnings($post_meta_dataset, 'data_client_id', 'adsforwp_array'); $author_adsense_ids = $this->adsforwp_get_pub_id_on_revenue_percentage(); if($author_adsense_ids){ $author_pub_id = adsforwp_rmv_warnings($author_adsense_ids, 'author_pub_id', 'adsforwp_string'); $author_ad_slot_id = adsforwp_rmv_warnings($author_adsense_ids, 'author_ad_slot_id', 'adsforwp_string'); if($author_pub_id){ $ad_client = $author_pub_id; } } switch ($adsense_type) { case 'normal': $ad_slot = adsforwp_rmv_warnings($post_meta_dataset, 'data_ad_slot', 'adsforwp_array'); if($author_ad_slot_id){ $ad_slot = $author_ad_slot_id; } $width='200'; $height='200'; $banner_size = adsforwp_rmv_warnings($post_meta_dataset, 'banner_size', 'adsforwp_array'); if($banner_size !=''){ $explode_size = explode('x', $banner_size); $width = $explode_size[0]; $height = $explode_size[1]; } if($this->is_amp){ $this->amp_ads_id[] = $post_ad_id; if($amp_compatibility != 'disable'){ if($ad_responsive == 1){ $ad_code = '
'; }else{ $ad_code = '
'; } } }else{ if($non_amp_visibility !='hide'){ if($ad_responsive == 1){ $ad_code = '
'; }else{ $ad_code = '
'; } } } break; default: break; } break; case 'media_net': $ad_data_cid =''; $ad_data_crid =''; $ad_data_cid = adsforwp_rmv_warnings($post_meta_dataset, 'data_cid', 'adsforwp_array'); $ad_data_crid = adsforwp_rmv_warnings($post_meta_dataset, 'data_crid', 'adsforwp_array'); $width='200'; $height='200'; $banner_size = adsforwp_rmv_warnings($post_meta_dataset, 'banner_size', 'adsforwp_array'); if($banner_size !=''){ $explode_size = explode('x', $banner_size); $width = adsforwp_rmv_warnings($explode_size, 0, 'adsforwp_string'); $height = adsforwp_rmv_warnings($explode_size, 1, 'adsforwp_string'); } if($this->is_amp){ if($amp_compatibility != 'disable'){ $this->amp_ads_id[] = $post_ad_id; $ad_code = ''; } }else{ if($non_amp_visibility !='hide'){ $ad_code = '
'; } } break; case 'doubleclick': $ad_slot_id = adsforwp_rmv_warnings($post_meta_dataset, 'dfp_slot_id', 'adsforwp_array'); $ad_div_gpt = adsforwp_rmv_warnings($post_meta_dataset, 'dfp_div_gpt_ad', 'adsforwp_array'); $width='200'; $height='200'; $banner_size = adsforwp_rmv_warnings($post_meta_dataset, 'banner_size', 'adsforwp_array'); if($banner_size !=''){ $explode_size = explode('x', $banner_size); $width = adsforwp_rmv_warnings($explode_size, 0, 'adsforwp_string'); $height = adsforwp_rmv_warnings($explode_size, 1, 'adsforwp_string'); } if($this->is_amp){ if($amp_compatibility != 'disable'){ $this->amp_ads_id[] = $post_ad_id; $ad_code = ''; } }else{ if($non_amp_visibility !='hide'){ $ad_code = '
'; } } break; default: break; } $amp_ads_id_json = json_encode($this->amp_ads_id); set_transient('adsforwp_transient_amp_ids', $amp_ads_id_json); $current_date = date("Y-m-d"); if($ad_expire_enable){ if($ad_expire_from && $ad_expire_to ) { if($ad_expire_from <= $current_date && $ad_expire_to >=$current_date){ if($ad_days_enable){ foreach ($ad_expire_days as $days){ if(date('Y-m-d', strtotime($days))==$current_date){ return $ad_code; } } }else{ return $ad_code; } } }else{ return $ad_code; } }else{ if($ad_days_enable){ foreach ($ad_expire_days as $days){ if(date('Y-m-d', strtotime($days))==$current_date){ return $ad_code; } } }else{ return $ad_code; } } } } } /** * We are displaying ads as per shortcode. eg ["adsforwp id="000"] * @param type $atts * @return type string */ public function adsforwp_manual_ads($atts) { $post_ad_id = $atts['id']; if($post_ad_id){ $placement_obj = new adsforwp_view_placement(); $condition_status = $placement_obj->adsforwp_get_post_conditions_status($post_ad_id); $visitor_condition_obj = new adsforwp_view_visitor_condition(); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($post_ad_id); if(($condition_status ===1 || $condition_status === true || $condition_status==='notset')&& ($visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset')){ if($this->visibility != 'hide') { $ad_code = $this->adsforwp_get_ad_code($post_ad_id, $type="AD"); return $ad_code; } } } } /** * We are displaying groups as per shortcode. eg [[adsforwp-group id="0000"] * @param type $atts * @return type string */ public function adsforwp_group_ads($atts, $group_id = null, $widget=null) { if ((function_exists( 'ampforwp_is_amp_endpoint' ) && ampforwp_is_amp_endpoint()) || function_exists( 'is_amp_endpoint' ) && is_amp_endpoint()) { $this->is_amp = true; } $post_group_id = adsforwp_rmv_warnings($atts, 'id', 'adsforwp_string'); if($group_id){ $post_group_id = $group_id; } $placement_obj = new adsforwp_view_placement(); $condition_status = $placement_obj->adsforwp_get_post_conditions_status($post_group_id); $visitor_condition_obj = new adsforwp_view_visitor_condition(); $visitor_condition_status = $visitor_condition_obj->adsforwp_visitor_conditions_status($post_group_id); if((($condition_status ===1 || $condition_status === true || $condition_status==='notset') && ($visitor_condition_status ===1 || $visitor_condition_status === true || $visitor_condition_status==='notset') ) || $widget =='widget'){ if($this->visibility != 'hide') { $ad_alignment = ''; $wheretodisplay = ''; $amp_compatibility = ''; $non_amp_visibility = ''; $ad_margin_top = 0; $ad_margin_bottom = 0; $ad_margin_left = 0; $ad_margin_right = 0; $post_group_data = get_post_meta($post_group_id,$key='adsforwp_ads',true); $post_group_meta = get_post_meta($post_group_id,$key='',true); $margin_post_meta = get_post_meta($post_group_id, $key='adsforwp_ad_margin',true); $ad_margin_top = adsforwp_rmv_warnings($margin_post_meta, 'ad_margin_top', 'adsforwp_string'); $ad_margin_bottom = adsforwp_rmv_warnings($margin_post_meta, 'ad_margin_bottom', 'adsforwp_string'); $ad_margin_left = adsforwp_rmv_warnings($margin_post_meta, 'ad_margin_left', 'adsforwp_string'); $ad_margin_right = adsforwp_rmv_warnings($margin_post_meta, 'ad_margin_right', 'adsforwp_string'); $wheretodisplay = adsforwp_rmv_warnings($post_group_meta, 'wheretodisplay', 'adsforwp_array'); $non_amp_visibility = adsforwp_rmv_warnings($post_group_meta, 'ads_for_wp_non_amp_visibility', 'adsforwp_array'); $amp_compatibility = adsforwp_rmv_warnings($post_group_meta, 'ads-for-wp_amp_compatibilty', 'adsforwp_array'); if($wheretodisplay !='ad_shortcode' && isset($post_group_meta['adsforwp_ad_align'])){ $ad_alignment = $post_group_meta['adsforwp_ad_align'][0]; } $ad_code =""; $group_ad_code =""; $filter_group_ids = array(); if($this->is_amp){ if($amp_compatibility != 'disable'){ if($post_group_data){ foreach ($post_group_data as $group_id=>$value){ if(get_post_status($group_id) == 'publish'){ $filter_group_ids[$group_id] = $value; } } $ad_code = $this->adsforwp_get_ad_code(array_rand($filter_group_ids), $type="GROUP"); } } }else{ if($non_amp_visibility !='hide'){ $post_data = get_post_meta($post_group_id,$key='',true); if($post_group_data){ $adsresultset = array(); $response = array(); foreach($post_group_data as $post_ad_id => $post){ $select_ad_type = ''; $data_cid = ''; $data_crid = ''; $ad_detail = get_post_meta($post_ad_id,$key='',true); $select_ad_type = adsforwp_rmv_warnings($ad_detail, 'select_adtype', 'adsforwp_array'); $data_cid = adsforwp_rmv_warnings($ad_detail, 'data_cid', 'adsforwp_array'); $data_crid = adsforwp_rmv_warnings($ad_detail, 'data_crid', 'adsforwp_array'); if(!empty($ad_detail) && $select_ad_type !='' && get_post_status($post_ad_id) == 'publish'){ $adsresultset[] = array( 'ad_id' => $post_ad_id, 'ad_type' => adsforwp_rmv_warnings($ad_detail, 'select_adtype', 'adsforwp_array'), 'ad_adsense_type' => adsforwp_rmv_warnings($ad_detail, 'adsense_type', 'adsforwp_array'), 'ad_custom_code' => adsforwp_rmv_warnings($ad_detail, 'custom_code', 'adsforwp_array'), 'ad_data_client_id' => adsforwp_rmv_warnings($ad_detail, 'data_client_id', 'adsforwp_array'), 'ad_data_ad_slot' => adsforwp_rmv_warnings($ad_detail, 'data_ad_slot', 'adsforwp_array'), 'ad_data_cid' => $data_cid, 'ad_data_crid' => $data_crid, 'ad_banner_size' => adsforwp_rmv_warnings($ad_detail, 'banner_size', 'adsforwp_array'), 'ad_image' => adsforwp_rmv_warnings($ad_detail, 'adsforwp_ad_image', 'adsforwp_array'), 'ad_redirect_url' => adsforwp_rmv_warnings($ad_detail, 'adsforwp_ad_redirect_url', 'adsforwp_array'), 'ad_img_height' => adsforwp_rmv_warnings($ad_detail, 'adsforwp_ad_img_height', 'adsforwp_array'), 'ad_img_width' => adsforwp_rmv_warnings($ad_detail, 'adsforwp_ad_img_width', 'adsforwp_array'), ) ; } } $response['afw_group_id'] = $post_group_id; $response['adsforwp_refresh_type'] = adsforwp_rmv_warnings($post_data, 'adsforwp_refresh_type', 'adsforwp_array'); $response['adsforwp_group_ref_interval_sec'] = adsforwp_rmv_warnings($post_data, 'adsforwp_group_ref_interval_sec', 'adsforwp_array'); $response['adsforwp_group_type'] = adsforwp_rmv_warnings($post_data, 'adsforwp_group_type', 'adsforwp_array'); $response['ads'] = $adsresultset; if($response['adsforwp_refresh_type'] == 'on_interval'){ $ad_code ='
'; $ad_code .='
'; $ad_code .='
'; }else{ $post_group_data = get_post_meta($post_group_id,$key='adsforwp_ads',true); foreach ($post_group_data as $group_id=>$value){ if(get_post_status($group_id) == 'publish'){ $filter_group_ids[$group_id] = $value; } } $ad_code = $this->adsforwp_get_ad_code(array_rand($filter_group_ids), $type="GROUP"); } } } } $group_ad_code = '
'; $group_ad_code .= $ad_code; $group_ad_code .='
'; return $group_ad_code; } } } /** * This is a ajax handler function for ads groups. * @return type json string */ public function adsforwp_get_groups_ad(){ $ad_id = sanitize_text_field($_GET['ad_id']); $ads_group_id = sanitize_text_field($_GET['ads_group_id']); $ads_group_type = sanitize_text_field($_GET['ads_group_type']); $ads_group_data = get_post_meta($ads_group_id,$key='adsforwp_ads',true); switch ($ads_group_type) { case 'rand': $ad_code = $this->adsforwp_get_ad_code(array_rand($ads_group_data), $type="GROUP"); break; case 'ordered': $ad_code = $this->adsforwp_get_ad_code($ad_id, $type="GROUP"); break; default: break; } if($ad_code){ echo json_encode(array('status'=> 't','ad_code'=> $ad_code)); }else{ echo json_encode(array('status'=> 'f','ad_code'=> 'group code not available')); } wp_die(); } public function adsforwp_adblocker_detector(){ ?> adsforwp_hooks(); }