';
$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();
};