'; $ad_clicks_script .=' '; } } echo $ad_impression_script; echo $ad_clicks_script; } } } /** * Function to insert ad impression for both (AMP and NON AMP) * @global type $wpdb * @param type $ad_id * @param type $device_name */ public function adsforwp_insert_impression($ad_id, $device_name){ global $wpdb; $today = adsforwp_get_date('day'); $stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsforwp_stats` WHERE `ad_id` = %d AND `ad_device_name` = %s AND `ad_thetime` = %d;", $ad_id, trim($device_name), $today )); if($stats > 0) { $wpdb->query("UPDATE `{$wpdb->prefix}adsforwp_stats` SET `ad_impressions` = `ad_impressions` + 1 WHERE `id` = {$stats};"); } else { $wpdb->insert($wpdb->prefix.'adsforwp_stats', array('ad_id' => $ad_id, 'ad_thetime' => $today, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_device_name' => trim($device_name))); } } /** * Function to insert ad clicks for both (AMP and NON AMP) * @global type $wpdb * @param type $ad_id * @param type $device_name */ public function adsforwp_insert_clicks($ad_id, $device_name){ global $wpdb; $today = adsforwp_get_date('day'); $stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsforwp_stats` WHERE `ad_id` = %d AND `ad_device_name` = %s AND `ad_thetime` = %d;", $ad_id, trim($device_name), $today )); if($stats > 0) { $wpdb->query("UPDATE `{$wpdb->prefix}adsforwp_stats` SET `ad_clicks` = `ad_clicks` + 1 WHERE `id` = {$stats};"); } else { $wpdb->insert($wpdb->prefix.'adsforwp_stats', array('ad_id' => $ad_id, 'ad_thetime' => $today, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_device_name' => trim($device_name))); } } /** * Ajax handler to get ad impression in AMP * @return type void */ public function adsforwp_insert_ad_impression_amp(){ if ( ! isset( $_GET['adsforwp_front_nonce'] ) ){ return; } if ( !wp_verify_nonce( $_GET['adsforwp_front_nonce'], 'adsforwp_ajax_check_front_nonce' ) ){ return; } $ad_id = sanitize_text_field($_GET['event']); $device_name = 'amp'; if($ad_id){ $this->adsforwp_insert_impression($ad_id, $device_name); } wp_die(); } /** * Ajax handler to get ad impression in NON AMP * @return type void */ public function adsforwp_insert_ad_impression(){ if ( ! isset( $_POST['adsforwp_front_nonce'] ) ){ return; } if ( !wp_verify_nonce( $_POST['adsforwp_front_nonce'], 'adsforwp_ajax_check_front_nonce' ) ){ return; } $ad_ids = $_POST['ad_ids']; $device_name = sanitize_text_field($_POST['device_name']); if($ad_ids){ foreach ($ad_ids as $ad_id){ if($ad_id){ $this->adsforwp_insert_impression($ad_id, $device_name); } }//Foreach closed } wp_die(); } /** * Ajax handler to get ad clicks in NON AMP * @return type void */ public function adsforwp_insert_ad_clicks(){ if ( ! isset( $_POST['adsforwp_front_nonce'] ) ){ return; } if ( !wp_verify_nonce( $_POST['adsforwp_front_nonce'], 'adsforwp_ajax_check_front_nonce' ) ){ return; } $device_name = sanitize_text_field($_POST['device_name']); $ad_id = sanitize_text_field($_POST['ad_id']); if($ad_id){ $this->adsforwp_insert_clicks($ad_id, $device_name); } wp_die(); } /** * Ajax handler to get ad clicks in AMP * @return type void */ public function adsforwp_insert_ad_clicks_amp(){ if ( ! isset( $_GET['adsforwp_front_nonce'] ) ){ return; } if ( !wp_verify_nonce( $_GET['adsforwp_front_nonce'], 'adsforwp_ajax_check_front_nonce' ) ){ return; } $ad_id = sanitize_text_field($_GET['event']); $device_name = 'amp'; if($ad_id){ $this->adsforwp_insert_clicks($ad_id, $device_name); } wp_die(); } } if (class_exists('adsforwp_admin_analytics')) { $adsforwp_analytics_hooks_obj =new adsforwp_admin_analytics; $adsforwp_analytics_hooks_obj->adsforwp_admin_analytics_hooks(); };