🔥 HOT: Changeset/ - Uncensored 2025

Changeset 3075211


Ignore:
Timestamp:
04/22/2024 06:33:52 PM (21 months ago)
Author:
info2000
Message:

fix security vulnerabilites

Location:
adsensei-b30/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • adsensei-b30/trunk/adSenseiB30.php

    r3044671 r3075211  
    11<?php
    2 
    32/*
    43  Plugin Name: Adsmonetizer
    54  Plugin URI: https://adsplugin.net
    65  Description: Inserta de manera fácil, rápida y flexible anuncios de AdSense por todo tu blog
    7   Version: 3.1.3
     6  Version: 3.2.3
    87  Author: <a href="https://adsplugin.net" target="_blank">José Fernandez</a>
    98  License: GPLv2 or later
  • adsensei-b30/trunk/admin/includes/common-functions.php

    r2921235 r3075211  
    4040
    4141    global $wpdb;
     42    // Execute the query
     43    $results = $wpdb->get_results($wpdb->prepare(
     44        "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = %s AND meta_value = %s",
     45        $meta_key,
     46        $meta_value
     47    ), ARRAY_A);
    4248
    43     $results = $wpdb->get_results( "select post_id from $wpdb->postmeta where meta_key='".$meta_key."' &&  meta_value = '".$meta_value."' ", ARRAY_A );
    44    
    4549    if(isset($results[0]['post_id'])){
    4650        $response = $results[0]['post_id'];
  • adsensei-b30/trunk/admin/includes/rest-api-service.php

    r2921235 r3075211  
    389389             }else if($key == 'adsTxtText' ){
    390390              if($parameters['adsTxtEnabled']){
    391                 if (false !== file_put_contents(ABSPATH . 'ads.txt', $val)) {
    392                     // show notice that ads.txt has been created
    393                     set_transient('adsensei_vi_ads_txt_notice', true, 300);
    394                 }else{
    395                   set_transient('adsensei_vi_ads_txt_error', true, 300);
     391                // Check if WP_Filesystem is loaded
     392                if ( ! function_exists( 'WP_Filesystem' ) ) {
     393                  require_once ABSPATH . 'wp-admin/includes/file.php';
     394                }
     395
     396                // Initialize the WordPress filesystem
     397                $filesystem = WP_Filesystem();
     398
     399                // Check if the filesystem is initialized successfully
     400                if ( $filesystem ) {
     401                  // Generate the content you want to write
     402                  $content = $val;
     403
     404                  // Specify the file path where you want to write the content
     405                  $file_path = ABSPATH . 'ads.txt';
     406
     407                  // Use the WordPress filesystem method to write the content to the file
     408                  if ( $filesystem->put_contents( $file_path, $content, FS_CHMOD_FILE ) ) {
     409                      // show notice that ads.txt has been created
     410                      set_transient( 'adsensei_vi_ads_txt_notice', true, 300 );
     411                  } else {
     412                      set_transient( 'adsensei_vi_ads_txt_error', true, 300 );
     413                  }
     414                } else {
     415                  // WP_Filesystem couldn't be initialized, handle the error accordingly
     416                  // For example:
     417                  echo 'WP_Filesystem initialization failed.';
    396418                }
    397419              }
     
    551573          $new_post_id = wp_insert_post( $args );
    552574
    553           $post_metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$ad_id");
     575          $post_metas = $wpdb->get_results($wpdb->prepare(
     576                "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = %d",
     577                $ad_id
     578            ));
    554579
    555580          if ( count( $post_metas )!=0 ) {
     
    568593                  $meta_value = esc_sql( $post_meta->meta_value);
    569594                }
    570                 $sql_query_sel[]= $wpdb->prepare( "SELECT $new_post_id, '$meta_key', '$meta_value' " );
     595                $sql_query_sel[] = $wpdb->prepare(
     596                  "SELECT %d, %s, %s",
     597                  $new_post_id,
     598                  $meta_key,
     599                  $meta_value
     600              );
     601             
    571602             }
    572603
    573604             $sql_query.= implode(" UNION ALL ", $sql_query_sel);
    574              $wpdb->query( $sql_query );
     605             $wpdb->query( $wpdb->prepare("%s", $sql_query ) );
    575606             $post_meta= $this->getAdById($new_post_id);
    576607             $this->migration_service->adsenseiUpdateOldAd($new_post_id, $post_meta['post_meta'],'update_old');
     
    607638    {
    608639      global $wpdb;
    609       $query = "SELECT COUNT(ID) as total_posts FROM $wpdb->posts Where post_type='adsensei-ads' AND (post_status='publish' OR post_status='draft')";
    610       $total_result = $wpdb->get_var($query,0,0);
     640      $total_result = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(ID) as total_posts FROM $wpdb->posts Where post_type='adsensei-ads' AND (post_status='publish' OR post_status='draft')"),0,0);
    611641       if($total_result)
    612642       {
  • adsensei-b30/trunk/admin/includes/setup.php

    r2921235 r3075211  
    302302    }
    303303
    304     $found_engine = $wpdb->get_var("SELECT ENGINE FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = '".DB_NAME."' AND `TABLE_NAME` = '{$wpdb->prefix}posts';");
     304    $found_engine = $wpdb->get_var(
     305        $wpdb->prepare(
     306            "SELECT ENGINE FROM `information_schema`.`TABLES` WHERE `TABLE_SCHEMA` = %s AND `TABLE_NAME` = %s;",
     307            DB_NAME,
     308            $wpdb->prefix . 'posts'
     309        )
     310    );
     311   
    305312       
    306313    if(strtolower($found_engine) == 'innodb') {
  • adsensei-b30/trunk/includes/admin/adsTxt.php

    r2921235 r3075211  
    3535     */
    3636    public function needsAdsTxt(){
     37        if ( ! function_exists( 'WP_Filesystem' ) ) {
     38            require_once ABSPATH . 'wp-admin/includes/file.php';
     39        }
     40
    3741        if (!is_file($this->filename)){
    3842            return true;
    3943        }
    40        
    41         // get everything from ads.txt and convert to array
    42         $contentText = file_get_contents($this->filename);
    43        
    44         // Pattern not find
    45         if (strpos($contentText, $this->pattern) === false) {
    46             return true;
    47         } else {
     44        // Initialize the WordPress filesystem
     45        $filesystem = WP_Filesystem();
     46
     47        // Check if the filesystem is initialized successfully
     48        if ($filesystem) {
     49            // Path to the file
     50            // get everything from ads.txt and convert to array
     51            $contentText = $filesystem->get_contents($this->filename);
     52           
     53            // Pattern not find
     54            if ($contentText !== false && strpos($contentText, $this->pattern) === false) {
     55                return true;
     56            } else {
     57                return false;
     58            }
     59        }else{
    4860            return false;
    4961        }
    50        
    5162    }
    5263
     
    5667     */
    5768    public function writeAdsTxt() {
    58         if (false !== file_put_contents($this->filename, $this->getContent())) {
    59             // show notice that ads.txt has been created
    60             set_transient('adsensei_vi_ads_txt_notice', true, 300);
    61             return true;
     69        // Initialize the WordPress filesystem
     70        if ( ! function_exists( 'WP_Filesystem' ) ) {
     71            require_once ABSPATH . 'wp-admin/includes/file.php';
     72        }
     73       
     74        $filesystem = WP_Filesystem();
     75       
     76        // Check if the filesystem is initialized successfully
     77        if ( $filesystem ) {
     78            // Write the content to the file
     79            if ( $filesystem->put_contents( $this->filename, $this->content ) ) {
     80                // Show notice that ads.txt has been created
     81                set_transient( 'adsensei_vi_ads_txt_notice', true, 300 );
     82                return true;
     83            } else {
     84                // Handle error when failed to write content to the file
     85                return false;
     86            }
     87        } else {
     88            // Handle filesystem initialization error
     89            return false;
    6290        }
    6391        // show error admin notice
     
    78106        }
    79107
    80         // get everything from ads.txt and convert to array
    81         $contentText = file_get_contents($this->filename);
     108        if ( ! function_exists( 'WP_Filesystem' ) ) {
     109            require_once ABSPATH . 'wp-admin/includes/file.php';
     110        }
     111        $filesystem = WP_Filesystem();
    82112       
    83         // Change all \r\n to \n
    84         //$contentText = str_replace(array("\r\n", "\n"), '', $contentText);
     113        // Check if the filesystem is initialized successfully
     114        if ( $filesystem ) {
     115            // get everything from ads.txt and convert to array
     116            $contentText = $filesystem->get_contents($this->filename);
     117             // Change all \r\n to \n
     118            //$contentText = str_replace(array("\r\n", "\n"), '', $contentText);
    85119
    86         //$content = array_filter(explode("\n", trim($contentText)), 'trim');
    87         $content = explode("\n", $contentText);
     120            //$content = array_filter(explode("\n", trim($contentText)), 'trim');
     121            $content = explode("\n", $contentText);
     122           
     123            // Pattern not find so append new content to ads.txt existing content 
     124            if (strpos($contentText, $this->pattern) === false) {
     125                return $contentText . "\r\n" . $this->content;
     126            }
     127
     128            // Pattern found, so remove everything first and add new stuff from api response
     129            $newContent = '';
     130            foreach ($content as $entry) {
     131                if (strpos($entry, $this->pattern) !== false) {
     132                continue;
     133                }
     134                    $newContent .= str_replace(array("\r", "\n"), '', $entry) . "\r\n";
     135               
     136            }
     137            return $newContent . $this->content;
     138        }
     139        return '';
    88140       
    89         // Pattern not find so append new content to ads.txt existing content 
    90         if (strpos($contentText, $this->pattern) === false) {
    91             return $contentText . "\r\n" . $this->content;
    92         }
    93 
    94         // Pattern found, so remove everything first and add new stuff from api response
    95         $newContent = '';
    96         foreach ($content as $entry) {
    97             if (strpos($entry, $this->pattern) !== false) {
    98                continue;
    99             }
    100                 $newContent .= str_replace(array("\r", "\n"), '', $entry) . "\r\n";
    101            
    102         }
    103         return $newContent . $this->content;
     141       
    104142    }
    105143
  • adsensei-b30/trunk/includes/reports/analytics.php

    r2921235 r3075211  
    11<?php
    2 class adsensei_admin_analytics{
    3            
    4     public function __construct() {                           
    5        
    6     }
    7    
    8     /**
    9      * This is the list of hooks used in this class
    10      */
    11     public function adsensei_admin_analytics_hooks(){
    12        
    13         add_action( 'wp_enqueue_scripts', array($this,'adsensei_frontend_enqueue'));
    14 
    15          add_action('wp_ajax_nopriv_adsensei_insert_ad_impression', array($this, 'adsensei_insert_ad_impression'));     
    16          add_action('wp_ajax_adsensei_insert_ad_impression', array($this, 'adsensei_insert_ad_impression'));
    17          add_action('wp_ajax_nopriv_adsensei_insert_ad_impression_amp', array($this, 'adsensei_insert_ad_impression_amp'));     
    18          add_action('wp_ajax_adsensei_insert_ad_impression_amp', array($this, 'adsensei_insert_ad_impression_amp'));
    19 
    20 
    21          add_action('wp_ajax_nopriv_adsensei_insert_ad_clicks', array($this, 'adsensei_insert_ad_clicks'));     
    22          add_action('wp_ajax_adsensei_insert_ad_clicks', array($this, 'adsensei_insert_ad_clicks'));
    23          
    24          add_action('wp_ajax_nopriv_adsensei_insert_ad_clicks_amp', array($this, 'adsensei_insert_ad_clicks_amp'));     
    25          add_action('wp_ajax_adsensei_insert_ad_clicks_amp', array($this, 'adsensei_insert_ad_clicks_amp'));
    26          
    27          
    28                  
    29          add_filter('amp_post_template_data',array($this, 'adsensei_enque_analytics_amp_script'));                 
    30          add_filter('amp_post_template_footer', array($this, 'adsensei_add_analytics_amp_tags'));                             
    31     }
    32     /**
    33 * Ajax handler to get ad impression in NON AMP
    34 * @return type void
    35 */
    36 public function adsensei_insert_ad_impression(){ 
    37  
    38   if ( ! isset( $_POST['adsensei_front_nonce'] ) ){
    39       return;
    40    }
    41   if ( !wp_verify_nonce( $_POST['adsensei_front_nonce'], 'adsensei_ajax_check_front_nonce' ) ){
    42      return; 
    43   } 
    44  
    45   $ad_ids = array_map('sanitize_text_field', $_POST['ad_ids']);
    46              
    47  
    48   if($ad_ids){
    49      
    50       foreach ($ad_ids as $ad_id){
    51          
    52        if($ad_id){
    53            
     2class adsensei_admin_analytics
     3{
     4
     5  public function __construct()
     6  {
     7  }
     8
     9  /**
     10   * This is the list of hooks used in this class
     11   */
     12  public function adsensei_admin_analytics_hooks()
     13  {
     14
     15    add_action('wp_enqueue_scripts', array($this, 'adsensei_frontend_enqueue'));
     16
     17    add_action('wp_ajax_nopriv_adsensei_insert_ad_impression', array($this, 'adsensei_insert_ad_impression'));
     18    add_action('wp_ajax_adsensei_insert_ad_impression', array($this, 'adsensei_insert_ad_impression'));
     19    add_action('wp_ajax_nopriv_adsensei_insert_ad_impression_amp', array($this, 'adsensei_insert_ad_impression_amp'));
     20    add_action('wp_ajax_adsensei_insert_ad_impression_amp', array($this, 'adsensei_insert_ad_impression_amp'));
     21
     22
     23    add_action('wp_ajax_nopriv_adsensei_insert_ad_clicks', array($this, 'adsensei_insert_ad_clicks'));
     24    add_action('wp_ajax_adsensei_insert_ad_clicks', array($this, 'adsensei_insert_ad_clicks'));
     25
     26    add_action('wp_ajax_nopriv_adsensei_insert_ad_clicks_amp', array($this, 'adsensei_insert_ad_clicks_amp'));
     27    add_action('wp_ajax_adsensei_insert_ad_clicks_amp', array($this, 'adsensei_insert_ad_clicks_amp'));
     28
     29
     30
     31    add_filter('amp_post_template_data', array($this, 'adsensei_enque_analytics_amp_script'));
     32    add_filter('amp_post_template_footer', array($this, 'adsensei_add_analytics_amp_tags'));
     33  }
     34  /**
     35   * Ajax handler to get ad impression in NON AMP
     36   * @return type void
     37   */
     38  public function adsensei_insert_ad_impression()
     39  {
     40
     41    if (!isset($_POST['adsensei_front_nonce'])) {
     42      return;
     43    }
     44    if (!wp_verify_nonce($_POST['adsensei_front_nonce'], 'adsensei_ajax_check_front_nonce')) {
     45      return;
     46    }
     47
     48    $ad_ids = array_map('sanitize_text_field', $_POST['ad_ids']);
     49
     50
     51    if ($ad_ids) {
     52
     53      foreach ($ad_ids as $ad_id) {
     54
     55        if ($ad_id) {
     56
    5457          $this->adsensei_insert_impression($ad_id);
    55          
    5658        }
    57       }//Foreach closed     
    58   }       
    59  wp_die();           
    60 }
    61  /**
    62      * Function to insert ad impression for both (AMP and NON AMP)
    63      * @global type $wpdb
    64      * @param type $ad_id
    65      * @param type $device_name
    66      */
    67     public function adsensei_insert_impression($ad_id, $device_name='',$referrer_url='',$user_ip='',$actual_link='', $browser=''){
    68                  
    69       global $wpdb;
    70      
    71       $today = adsensei_get_date('day');
    72       $id_array = explode('adsensei-ad', $ad_id );
    73       $ad_id = $id_array[1];
    74      
    75       $referrer_url  = (isset($_POST['referrer'])) ? esc_url($_POST['referrer']):'';
    76       if(empty($referrer_url) && isset($_SERVER['HTTP_REFERER'])){
    77         $referrer_url  =  esc_url($_SERVER['HTTP_REFERER']);
     59      } //Foreach closed     
     60    }
     61    wp_die();
     62  }
     63  /**
     64   * Function to insert ad impression for both (AMP and NON AMP)
     65   * @global type $wpdb
     66   * @param type $ad_id
     67   * @param type $device_name
     68   */
     69  public function adsensei_insert_impression($ad_id, $device_name = '', $referrer_url = '', $user_ip = '', $actual_link = '', $browser = '')
     70  {
     71
     72    global $wpdb;
     73
     74    $today = adsensei_get_date('day');
     75    $id_array = explode('adsensei-ad', $ad_id);
     76    $ad_id = $id_array[1];
     77
     78    $referrer_url  = (isset($_POST['referrer'])) ? esc_url($_POST['referrer']) : '';
     79    if (empty($referrer_url) && isset($_SERVER['HTTP_REFERER'])) {
     80      $referrer_url  =  esc_url($_SERVER['HTTP_REFERER']);
     81    }
     82    $todays_date = '';
     83    $todays_date = date('Y-m-d');
     84    $year = date("Y");
     85    $user_ip      =  $this->adsensei_get_client_ip();
     86    $actual_link  = (isset($_POST['currentLocation'])) ? esc_url($_POST['currentLocation']) : '';
     87    if (empty($actual_link) && isset($_SERVER['HTTP_HOST'])) {
     88      $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
     89    }
     90
     91    require_once ADSENSEI_PLUGIN_DIR . '/admin/includes/mobile-detect.php';
     92    $device_name = '';
     93    $mobile_detect = $isTablet = '';
     94    $mobile_detect = new Adsensei_Mobile_Detect;
     95    $isMobile = $mobile_detect->isMobile();
     96    $isTablet = $mobile_detect->isTablet();
     97
     98    $device_name  = 'desktop';
     99    if ($isMobile && $isTablet) { //Only For tablet
     100      $device_name  = 'mobile';
     101    } else if ($isMobile && !$isTablet) { // Only for mobile
     102      $device_name  = 'mobile';
     103    }
     104
     105    $stats = $wpdb->get_var(
     106      $wpdb->prepare(
     107        "SELECT `id` FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_id` = %d AND `ad_device_name` = %s AND `ad_thetime` = %d AND `referrer` = %s AND `ip_address` = %s AND `url` = %s AND `browser` = %s",
     108        $ad_id,
     109        trim($device_name),
     110        $today,
     111        trim($referrer_url),
     112        trim($user_ip),
     113        trim($actual_link),
     114        trim($browser)
     115      )
     116    );
     117
     118    if ($stats > 0) {
     119      $wpdb->query(
     120        $wpdb->prepare(
     121          "UPDATE `{$wpdb->prefix}adsensei_stats` SET `ad_impressions` = `ad_impressions` + 1 WHERE `id` = %d",
     122          $stats
     123        )
     124      );
     125    } else {
     126      $wpdb->insert($wpdb->prefix . 'adsensei_stats', array('ad_id' => $ad_id, 'ad_thetime' => $today, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_device_name' => trim($device_name), 'referrer' => trim($referrer_url), 'ip_address' => trim($user_ip), 'browser' => trim($browser), 'url' => $actual_link));
     127    }
     128
     129    $stats = $wpdb->get_var(
     130      $wpdb->prepare(
     131        "SELECT `id` FROM `{$wpdb->prefix}adsensei_single_stats` WHERE `ad_id` = %d",
     132        $ad_id
     133      )
     134    );
     135
     136    if ($stats > 0) {
     137      $adsensei_single_date = $wpdb->get_row(
     138        $wpdb->prepare(
     139          "SELECT * FROM `{$wpdb->prefix}adsensei_single_stats` WHERE `ad_id` = %d AND `ad_date` = %s",
     140          $ad_id,
     141          $todays_date
     142        )
     143      );
     144
     145
     146      if (!$adsensei_single_date) {
     147        $wpdb->insert($wpdb->prefix . 'adsensei_single_stats_', array('ad_id' => $ad_id, 'ad_thetime' => 0, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_date' => $todays_date, 'date_click' => 0, 'ad_year' => $year, 'date_impression' => 1));
    78148      }
    79       $todays_date = '';
    80       $todays_date = date('Y-m-d');
    81       $year = date("Y");
    82       $user_ip      =  $this->adsensei_get_client_ip();
    83       $actual_link  = (isset($_POST['currentLocation'])) ? esc_url($_POST['currentLocation']):'';
    84       if(empty($actual_link) && isset($_SERVER['HTTP_HOST'])){
    85         $actual_link = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
     149
     150      $wpdb->query(
     151        $wpdb->prepare(
     152          "UPDATE `{$wpdb->prefix}adsensei_single_stats` SET `ad_impressions` = `ad_impressions` + 1 WHERE `ad_id` = %d AND `ad_date` = %s",
     153          $ad_id,
     154          $todays_date
     155        )
     156      );
     157
     158      $wpdb->query(
     159        $wpdb->prepare(
     160          "UPDATE `{$wpdb->prefix}adsensei_single_stats` SET `date_impression` = `date_impression` + 1 WHERE `ad_id` = %d AND `ad_date` = %s",
     161          $ad_id,
     162          $todays_date
     163        )
     164      );
     165    } else {
     166      $wpdb->insert($wpdb->prefix . 'adsensei_single_stats_', array('ad_id' => $ad_id, 'ad_thetime' => 0, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_date' => $todays_date, 'date_click' => 0, 'ad_year' => $year, 'date_impression' => 1));
     167    }
     168  }
     169
     170  public function adsensei_get_client_ip()
     171  {
     172    $ipaddress = '';
     173    if (isset($_SERVER['HTTP_CLIENT_IP']))
     174      $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
     175    else if (isset($_SERVER['REMOTE_ADDR']))
     176      $ipaddress = $_SERVER['REMOTE_ADDR'];
     177    else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
     178      $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
     179    else if (isset($_SERVER['HTTP_X_FORWARDED']))
     180      $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
     181    else if (isset($_SERVER['HTTP_FORWARDED_FOR']))
     182      $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
     183    else if (isset($_SERVER['HTTP_FORWARDED']))
     184      $ipaddress = $_SERVER['HTTP_FORWARDED'];
     185    else
     186      $ipaddress = 'UNKNOWN';
     187    return $ipaddress;
     188  }
     189
     190
     191  /**
     192   * Ajax handler to get ad clicks in NON AMP
     193   * @return type void
     194   */
     195  public function adsensei_insert_ad_clicks()
     196  {
     197
     198    if (!isset($_POST['adsensei_front_nonce'])) {
     199      return;
     200    }
     201    if (!wp_verify_nonce($_POST['adsensei_front_nonce'], 'adsensei_ajax_check_front_nonce')) {
     202      return;
     203    }
     204
     205    $ad_id = sanitize_text_field($_POST['ad_id']);
     206    $referrer_url  = (isset($_POST['referrer'])) ? esc_url($_POST['referrer']) : '';
     207    if (empty($referrer_url) && isset($_SERVER['HTTP_REFERER'])) {
     208      $referrer_url  =  esc_url($_SERVER['HTTP_REFERER']);
     209    }
     210    $user_ip       =  $this->adsensei_get_client_ip();
     211    $actual_link  = (isset($_POST['currentLocation'])) ? esc_url($_POST['currentLocation']) : '';
     212    if (empty($actual_link) && isset($_SERVER['HTTP_HOST'])) {
     213      $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
     214    }
     215
     216    $browser = $_SERVER['HTTP_USER_AGENT'];
     217    require_once ADSENSEI_PLUGIN_DIR . '/admin/includes/mobile-detect.php';
     218    $device_name = '';
     219    $mobile_detect = $isTablet = '';
     220    $mobile_detect = new Adsensei_Mobile_Detect;
     221    $isMobile = $mobile_detect->isMobile();
     222    $isTablet = $mobile_detect->isTablet();
     223
     224    $device_name  = 'desktop';
     225    if ($isMobile && $isTablet) { //Only For tablet
     226      $device_name  = 'mobile';
     227    } else if ($isMobile && !$isTablet) { // Only for mobile
     228      $device_name  = 'mobile';
     229    }
     230    if ($ad_id) {
     231      $this->adsensei_insert_clicks($ad_id, $device_name, $referrer_url, $user_ip, $actual_link, $browser);
     232    }
     233    wp_die();
     234  }
     235
     236  /**
     237   * Ajax handler to get ad impression in AMP
     238   * @return type void
     239   */
     240  public function adsensei_insert_ad_impression_amp()
     241  {
     242
     243    if (!isset($_GET['adsensei_front_nonce'])) {
     244      return;
     245    }
     246    if (!wp_verify_nonce($_GET['adsensei_front_nonce'], 'adsensei_ajax_check_front_nonce')) {
     247      return;
     248    }
     249
     250    $ad_id       = sanitize_text_field($_GET['event']);
     251    $device_name = 'amp';
     252
     253    if ($ad_id) {
     254      $this->adsensei_insert_impression($ad_id, $device_name);
     255    }
     256
     257    wp_die();
     258  }
     259
     260
     261
     262  public function adsensei_frontend_enqueue()
     263  {
     264    if (adsensei_is_amp_endpoint()) {
     265      return;
     266    }
     267    $object_name = array(
     268      'ajax_url'               => admin_url('admin-ajax.php'),
     269      'adsensei_front_nonce'   => wp_create_nonce('adsensei_ajax_check_front_nonce')
     270    );
     271    $suffix = (adsenseiIsDebugMode()) ? '' : '.min';
     272    //  if ( (function_exists( 'ampforwp_is_amp_endpoint' ) && !ampforwp_is_amp_endpoint()) || function_exists( 'is_amp_endpoint' ) && !is_amp_endpoint()) {
     273    global $adsensei_options;
     274    $adsensei_options = adsensei_get_settings();
     275    if (isset($adsensei_options['ad_performance_tracking'])  && $adsensei_options['ad_performance_tracking'] == true) {
     276      wp_enqueue_script('adsensei_ads_front', ADSENSEI_PLUGIN_URL . 'assets/js/performance_tracking' . $suffix . '.js', array('jquery'), ADSENSEI_VERSION, false);
     277      //  }
     278    }
     279    wp_localize_script('adsensei_ads_front', 'adsensei_analytics', $object_name);
     280  }
     281
     282
     283  /**
     284   * Here, We are enquing amp scripts.
     285   * @param type $data
     286   * @return string
     287   */
     288  public function adsensei_enque_analytics_amp_script($data)
     289  {
     290    if (empty($data['amp_component_scripts']['amp-analytics'])) {
     291      $data['amp_component_scripts']['amp-analytics'] = 'https://cdn.ampproject.org/v0/amp-analytics-latest.js';
     292    }
     293    if (empty($data['amp_component_scripts']['amp-bind'])) {
     294      $data['amp_component_scripts']['amp-bind'] = 'https://cdn.ampproject.org/v0/amp-bind-0.1.js';
     295    }
     296    if (empty($data['amp_component_scripts']['amp-user-notification'])) {
     297      $data['amp_component_scripts']['amp-user-notification'] = 'https://cdn.ampproject.org/v0/amp-user-notification-0.1.js';
     298    }
     299    if (empty($data['amp_component_scripts']['amp-ad'])) {
     300      $data['amp_component_scripts']['amp-ad'] = 'https://cdn.ampproject.org/v0/amp-ad-latest.js';
     301    }
     302    if (empty($data['amp_component_scripts']['amp-iframe'])) {
     303      $data['amp_component_scripts']['amp-iframe'] = 'https://cdn.ampproject.org/v0/amp-iframe-latest.js';
     304    }
     305    return $data;
     306  }
     307
     308  /**
     309   * Here, We are adding amp analytics tag for every ad serve on page
     310   */
     311  public function adsensei_add_analytics_amp_tags()
     312  {
     313
     314    if ((function_exists('ampforwp_is_amp_endpoint') && ampforwp_is_amp_endpoint()) || function_exists('is_amp_endpoint') && is_amp_endpoint()) {
     315
     316      $amp_ads_id = json_decode(get_transient('adsensei_transient_amp_ids'), true);
     317
     318      if (!empty($amp_ads_id)) {
     319
     320        $amp_ads_id = array_unique($amp_ads_id);
    86321      }
    87322
    88       require_once ADSENSEI_PLUGIN_DIR . '/admin/includes/mobile-detect.php';
    89       $device_name ='';
    90       $mobile_detect = $isTablet = '';
    91       $mobile_detect = new Adsensei_Mobile_Detect;
    92       $isMobile = $mobile_detect->isMobile();
    93       $isTablet = $mobile_detect->isTablet();
    94 
    95       $device_name  = 'desktop';
    96       if( $isMobile && $isTablet ){ //Only For tablet
    97         $device_name  = 'mobile';
    98       }else if($isMobile && !$isTablet){ // Only for mobile
    99         $device_name  = 'mobile';
    100       }
    101 
    102       $stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_id` = %d AND `ad_device_name` = %s AND `ad_thetime` = %d AND `referrer` = %s AND `ip_address` = %d AND `url` = %s AND `browser` = %s ", $ad_id, trim($device_name), $today, trim($referrer_url),trim($user_ip),trim($actual_link),trim($browser)));
    103       if($stats > 0) {
    104               $wpdb->query("UPDATE `{$wpdb->prefix}adsensei_stats` SET `ad_impressions` = `ad_impressions` + 1 WHERE `id` = {$stats};");
    105       } else {
    106               $wpdb->insert($wpdb->prefix.'adsensei_stats', array('ad_id' => $ad_id, 'ad_thetime' => $today, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_device_name' => trim($device_name),'referrer' => trim($referrer_url),'ip_address' => trim($user_ip),'browser' => trim($browser), 'url'=>$actual_link ));
    107             }
    108            
    109               $stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_id` = %d ", $ad_id ) );
    110               if( $stats > 0 ) {
    111                 $adsensei_single_date = $wpdb->get_row("SELECT * FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_id` = {$ad_id} AND ad_date = '{$todays_date}' " );
    112                
    113                 if(!$adsensei_single_date){
    114                   $wpdb->insert($wpdb->prefix.'adsensei_single_stats_', array('ad_id' => $ad_id, 'ad_thetime' => 0, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_date' => $todays_date, 'date_click' => 0, 'ad_year'=> $year, 'date_impression' => 1 ));
    115                 }
    116                
    117                 $wpdb->query("UPDATE `{$wpdb->prefix}adsensei_single_stats_` SET `ad_impressions` = `ad_impressions` + 1 WHERE `ad_id` = {$ad_id} AND `ad_date` = '{$todays_date}';");$wpdb->query("UPDATE `{$wpdb->prefix}adsensei_single_stats_` SET `date_impression` = `date_impression` + 1 WHERE `ad_id` = {$ad_id} AND `ad_date` = '{$todays_date}'; ");
    118               }
    119               else {
    120                 $wpdb->insert($wpdb->prefix.'adsensei_single_stats_', array('ad_id' => $ad_id, 'ad_thetime' => 0, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_date' => $todays_date, 'date_click' => 0, 'ad_year'=> $year, 'date_impression' => 1 ));
    121               }
    122 
    123 }
    124 
    125 public function adsensei_get_client_ip() {
    126   $ipaddress = '';
    127   if (isset($_SERVER['HTTP_CLIENT_IP']))
    128       $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
    129   else if(isset($_SERVER['REMOTE_ADDR']))
    130       $ipaddress = $_SERVER['REMOTE_ADDR'];
    131   else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    132       $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
    133   else if(isset($_SERVER['HTTP_X_FORWARDED']))
    134       $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
    135   else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
    136       $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
    137   else if(isset($_SERVER['HTTP_FORWARDED']))
    138       $ipaddress = $_SERVER['HTTP_FORWARDED'];
    139   else
    140       $ipaddress = 'UNKNOWN';
    141   return $ipaddress;
    142 }
    143 
    144 
    145   /**
    146      * Ajax handler to get ad clicks in NON AMP
    147      * @return type void
    148      */
    149     public function adsensei_insert_ad_clicks(){ 
    150            
    151       if ( ! isset( $_POST['adsensei_front_nonce'] ) ){
    152           return;
    153       }
    154       if ( !wp_verify_nonce( $_POST['adsensei_front_nonce'], 'adsensei_ajax_check_front_nonce' ) ){
    155          return; 
    156       }     
    157      
    158       $ad_id = sanitize_text_field($_POST['ad_id']);   
    159       $referrer_url  = (isset($_POST['referrer'])) ? esc_url($_POST['referrer']):'';         
    160     if(empty($referrer_url) && isset($_SERVER['HTTP_REFERER'])){
    161       $referrer_url  =  esc_url($_SERVER['HTTP_REFERER']);
    162 
    163     }
    164       $user_ip       =  $this->adsensei_get_client_ip();
    165       $actual_link  = (isset($_POST['currentLocation'])) ? esc_url($_POST['currentLocation']):'';     
    166       if(empty($actual_link) && isset($_SERVER['HTTP_HOST'])){
    167         $actual_link = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    168 
    169       }
    170 
    171       $browser = $_SERVER['HTTP_USER_AGENT'];
    172       require_once ADSENSEI_PLUGIN_DIR . '/admin/includes/mobile-detect.php';
    173       $device_name ='';
    174       $mobile_detect = $isTablet = '';
    175       $mobile_detect = new Adsensei_Mobile_Detect;
    176       $isMobile = $mobile_detect->isMobile();
    177       $isTablet = $mobile_detect->isTablet();
    178 
    179       $device_name  = 'desktop';
    180       if( $isMobile && $isTablet ){ //Only For tablet
    181         $device_name  = 'mobile';
    182       }else if($isMobile && !$isTablet){ // Only for mobile
    183         $device_name  = 'mobile';
    184       }
    185       if($ad_id){     
    186         $this->adsensei_insert_clicks($ad_id,$device_name,$referrer_url,$user_ip,$actual_link, $browser );
    187                        
    188       }                           
    189      wp_die();           
    190 }
    191 
    192       /**
    193      * Ajax handler to get ad impression in AMP
    194      * @return type void
    195      */
    196     public function adsensei_insert_ad_impression_amp(){ 
    197            
    198       if ( ! isset( $_GET['adsensei_front_nonce'] ) ){
    199           return;
    200        }
    201       if ( !wp_verify_nonce( $_GET['adsensei_front_nonce'], 'adsensei_ajax_check_front_nonce' ) ){
    202          return; 
    203       } 
    204                          
    205      $ad_id       = sanitize_text_field($_GET['event']);           
    206      $device_name = 'amp';           
    207      
    208      if($ad_id){
    209          $this->adsensei_insert_impression($ad_id, $device_name);
    210      }
    211                                
    212      wp_die();           
    213 }       
    214 
    215 
    216 
    217     public function adsensei_frontend_enqueue(){
    218       if(adsensei_is_amp_endpoint())
    219       {
    220         return;
    221       }
    222       $object_name = array(
    223           'ajax_url'               => admin_url( 'admin-ajax.php' ),
    224           'adsensei_front_nonce'   => wp_create_nonce('adsensei_ajax_check_front_nonce')
    225       );
    226       $suffix = ( adsenseiIsDebugMode() ) ? '' : '.min';
    227     //  if ( (function_exists( 'ampforwp_is_amp_endpoint' ) && !ampforwp_is_amp_endpoint()) || function_exists( 'is_amp_endpoint' ) && !is_amp_endpoint()) {
    228       global $adsensei_options;
    229       $adsensei_options = adsensei_get_settings();
    230       if(isset($adsensei_options['ad_performance_tracking'])  && $adsensei_options['ad_performance_tracking'] == true ){
    231       wp_enqueue_script( 'adsensei_ads_front', ADSENSEI_PLUGIN_URL . 'assets/js/performance_tracking' . $suffix . '.js', array('jquery'), ADSENSEI_VERSION, false );
    232     //  }
    233     }
    234       wp_localize_script('adsensei_ads_front', 'adsensei_analytics', $object_name);
    235 
    236 
    237     }
    238 
    239 
    240     /**
    241      * Here, We are enquing amp scripts.
    242      * @param type $data
    243      * @return string
    244      */
    245     public function adsensei_enque_analytics_amp_script($data){
    246         if ( empty( $data['amp_component_scripts']['amp-analytics'] ) ) {
    247                 $data['amp_component_scripts']['amp-analytics'] = 'https://cdn.ampproject.org/v0/amp-analytics-latest.js';
    248         }
    249         if ( empty( $data['amp_component_scripts']['amp-bind'] ) ) {
    250                 $data['amp_component_scripts']['amp-bind'] = 'https://cdn.ampproject.org/v0/amp-bind-0.1.js';
    251         }
    252         if ( empty( $data['amp_component_scripts']['amp-user-notification'] ) ) {
    253                 $data['amp_component_scripts']['amp-user-notification'] = 'https://cdn.ampproject.org/v0/amp-user-notification-0.1.js';
    254         }
    255         if ( empty( $data['amp_component_scripts']['amp-ad'] ) ) {
    256                 $data['amp_component_scripts']['amp-ad'] = 'https://cdn.ampproject.org/v0/amp-ad-latest.js';
    257         }
    258         if ( empty( $data['amp_component_scripts']['amp-iframe'] ) ) {
    259                 $data['amp_component_scripts']['amp-iframe'] = 'https://cdn.ampproject.org/v0/amp-iframe-latest.js';
    260         }
    261         return $data;         
    262     }
    263    
    264     /**
    265      * Here, We are adding amp analytics tag for every ad serve on page
    266      */
    267     public function adsensei_add_analytics_amp_tags(){
    268                          
    269         if ((function_exists( 'ampforwp_is_amp_endpoint' ) && ampforwp_is_amp_endpoint()) || function_exists( 'is_amp_endpoint' ) && is_amp_endpoint()) {
    270            
    271         $amp_ads_id = json_decode(get_transient('adsensei_transient_amp_ids'), true);   
    272        
    273         if(!empty($amp_ads_id)){
    274            
    275           $amp_ads_id = array_unique($amp_ads_id); 
    276          
    277         }   
    278        
    279         $ad_impression_script = '';
    280         $ad_clicks_script     = '';
    281        
    282         $nonce                = wp_create_nonce('adsensei_ajax_check_front_nonce');       
    283         $ad_impression_url    = admin_url('admin-ajax.php?action=adsensei_insert_ad_impression_amp&adsensei_front_nonce='.$nonce);                             
    284         $ad_clicks_url        = admin_url('admin-ajax.php?action=adsensei_insert_ad_clicks_amp&adsensei_front_nonce='.$nonce);                             
    285    
    286             require_once ADSENSEI_PLUGIN_DIR . '/admin/includes/rest-api-service.php';
    287             $api_service = new ADSENSEI_Ad_Setup_Api_Service();
    288             $adsensei_ads = $api_service->getAdDataByParam('adsensei-ads');
    289             if(isset($adsensei_ads['posts_data'])){       
    290               foreach($adsensei_ads['posts_data'] as $key => $value){
    291                 $ads =$value['post_meta'];
    292                 if($value['post']['post_status']== 'draft'){
    293                   continue;
    294                 }
    295                 if(isset($ads['enabled_on_amp']) && !$ads['enabled_on_amp']){
    296                   continue;
    297                 }
    298                 if(!isset($ads['position'])){
    299                   continue;
    300                 }
    301      
    302                 if(isset($ads['ad_id']))
    303                   $post_status = get_post_status($ads['ad_id']);
    304                   else
    305                     $post_status =  'publish';
    306      
    307                   if(isset($ads['random_ads_list']))
    308                   $ads['random_ads_list'] = unserialize($ads['random_ads_list']);
    309                if(isset($ads['visibility_include']))
    310                    $ads['visibility_include'] = unserialize($ads['visibility_include']);
    311                if(isset($ads['visibility_exclude']))
    312                    $ads['visibility_exclude'] = unserialize($ads['visibility_exclude']);
    313      
    314                if(isset($ads['targeting_include']))
    315                    $ads['targeting_include'] = unserialize($ads['targeting_include']);
    316      
    317                if(isset($ads['targeting_exclude']))
    318                    $ads['targeting_exclude'] = unserialize($ads['targeting_exclude']);
    319                   $is_on         = adsensei_is_visibility_on($ads);
    320                   $is_visitor_on = adsensei_is_visitor_on($ads);
    321                   if($is_on && $is_visitor_on && $post_status=='publish'){
    322                     $ad_impression_script .= '<amp-analytics><script type="application/json">
     323      $ad_impression_script = '';
     324      $ad_clicks_script     = '';
     325
     326      $nonce                = wp_create_nonce('adsensei_ajax_check_front_nonce');
     327      $ad_impression_url    = admin_url('admin-ajax.php?action=adsensei_insert_ad_impression_amp&adsensei_front_nonce=' . $nonce);
     328      $ad_clicks_url        = admin_url('admin-ajax.php?action=adsensei_insert_ad_clicks_amp&adsensei_front_nonce=' . $nonce);
     329
     330      require_once ADSENSEI_PLUGIN_DIR . '/admin/includes/rest-api-service.php';
     331      $api_service = new ADSENSEI_Ad_Setup_Api_Service();
     332      $adsensei_ads = $api_service->getAdDataByParam('adsensei-ads');
     333      if (isset($adsensei_ads['posts_data'])) {
     334        foreach ($adsensei_ads['posts_data'] as $key => $value) {
     335          $ads = $value['post_meta'];
     336          if ($value['post']['post_status'] == 'draft') {
     337            continue;
     338          }
     339          if (isset($ads['enabled_on_amp']) && !$ads['enabled_on_amp']) {
     340            continue;
     341          }
     342          if (!isset($ads['position'])) {
     343            continue;
     344          }
     345
     346          if (isset($ads['ad_id']))
     347            $post_status = get_post_status($ads['ad_id']);
     348          else
     349            $post_status =  'publish';
     350
     351          if (isset($ads['random_ads_list']))
     352            $ads['random_ads_list'] = unserialize($ads['random_ads_list']);
     353          if (isset($ads['visibility_include']))
     354            $ads['visibility_include'] = unserialize($ads['visibility_include']);
     355          if (isset($ads['visibility_exclude']))
     356            $ads['visibility_exclude'] = unserialize($ads['visibility_exclude']);
     357
     358          if (isset($ads['targeting_include']))
     359            $ads['targeting_include'] = unserialize($ads['targeting_include']);
     360
     361          if (isset($ads['targeting_exclude']))
     362            $ads['targeting_exclude'] = unserialize($ads['targeting_exclude']);
     363          $is_on         = adsensei_is_visibility_on($ads);
     364          $is_visitor_on = adsensei_is_visitor_on($ads);
     365          if ($is_on && $is_visitor_on && $post_status == 'publish') {
     366            $ad_impression_script .= '<amp-analytics><script type="application/json">
    323367                    {
    324368                      "requests": {
    325                         "event": "'.esc_url($ad_impression_url).'&event=${eventId}"
     369                        "event": "' . esc_url($ad_impression_url) . '&event=${eventId}"
    326370                      },
    327371                      "triggers": {
     
    330374                          "request": "event",
    331375                          "visibilitySpec": {
    332                             "selector": ".adsensei-ad'.esc_attr($ads['ad_id']).'",
     376                            "selector": ".adsensei-ad' . esc_attr($ads['ad_id']) . '",
    333377                            "visiblePercentageMin": 20,
    334378                            "totalTimeMin": 500,
     
    336380                          },                                 
    337381                          "vars": {
    338                             "eventId":".adsensei-ad'.esc_attr($ads['ad_id']).'"
     382                            "eventId":".adsensei-ad' . esc_attr($ads['ad_id']) . '"
    339383                          }
    340384                        }
    341385                      }
    342386                    }</script></amp-analytics>                                 
    343                   ';     
    344              
    345               $ad_clicks_script .='<amp-analytics>
     387                  ';
     388
     389            $ad_clicks_script .= '<amp-analytics>
    346390                                  <script type="application/json">
    347391                                    {
    348392                                      "requests": {
    349                                         "event": "'.esc_url_raw($ad_clicks_url).'&event=${eventId}"
     393                                        "event": "' . esc_url_raw($ad_clicks_url) . '&event=${eventId}"
    350394                                      },
    351395                                      "triggers": {
    352396                                        "trackAnchorClicks": {
    353397                                          "on": "click",
    354                                           "selector": ".adsensei-ad'.esc_attr($ads['ad_id']).'",
     398                                          "selector": ".adsensei-ad' . esc_attr($ads['ad_id']) . '",
    355399                                          "request": "event",
    356400                                          "vars": {
    357                                             "eventId": ".adsensei-ad'.esc_attr($ads['ad_id']).'"
     401                                            "eventId": ".adsensei-ad' . esc_attr($ads['ad_id']) . '"
    358402                                          }
    359403                                        }
     
    362406                                  </script>
    363407                                </amp-analytics>';
    364 
    365 
    366                   }
    367 
    368               }
    369             }
    370                          
    371           echo $ad_impression_script;
    372           echo $ad_clicks_script;
    373          }
    374     }
    375    
    376    
    377     /**
    378      * Function to insert ad clicks for both (AMP and NON AMP)
    379      * @global type $wpdb
    380      * @param type $ad_id
    381      * @param type $device_name
    382      */
    383     public function adsensei_insert_clicks($ad_id, $device_name='',$referrer_url='',$user_ip='',$actual_link='', $browser=''){
    384       global $wpdb;
    385 
    386       $today = adsensei_get_date('day');
    387       $id_array = explode('adsensei-ad', $ad_id );
    388 
    389       $ad_id = $id_array[1];
    390       $todays_date = date('Y-m-d');
    391       $year = date("Y");
    392 
    393       $stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_id` = %d AND `ad_device_name` = %s AND `ad_thetime` = %d AND `referrer` = %s AND `ip_address` = %d AND `url` = %s AND `browser` = %s ", $ad_id, trim($device_name), $today, trim($referrer_url),trim($user_ip),trim($actual_link),trim($browser)));
    394       if( $stats == NULL ){
    395         $stats =  $wpdb->get_var( $wpdb->prepare( "SELECT `id` FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_id` = %d AND `ad_device_name` = %s", $ad_id, $device_name ) )  ;
     408          }
     409        }
    396410      }
    397       if($stats > 0) {
    398               $wpdb->query("UPDATE `{$wpdb->prefix}adsensei_stats` SET `ad_clicks` = `ad_clicks` + 1 WHERE `id` = {$stats};");
    399 
    400       } else {
    401        
    402               $wpdb->insert($wpdb->prefix.'adsensei_stats', array('ad_id' => $ad_id, 'ad_thetime' => $today, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_device_name' => trim($device_name),'referrer' => trim($referrer_url),'ip_address' => trim($user_ip),'browser' => trim($browser),'url' => trim($actual_link) ));
    403 
    404             }       
    405 
    406 
    407             $stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_id` = %d ", $ad_id ) );
    408             if($stats > 0) {
    409              
    410               $wpdb->query("UPDATE `{$wpdb->prefix}adsensei_single_stats_` SET `ad_clicks` = `ad_clicks` + 1 WHERE `ad_id` = {$ad_id} AND `ad_date` = '{$todays_date}';");
    411               $wpdb->query("UPDATE `{$wpdb->prefix}adsensei_single_stats_` SET `date_click` = `date_click` + 1 WHERE `ad_id` = {$ad_id} AND `ad_date` = '{$todays_date}'; ");
    412 
    413             } else {
    414               $wpdb->insert($wpdb->prefix.'adsensei_single_stats_', array('ad_id' => $ad_id, 'ad_thetime' => 0, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_date' => $todays_date, 'date_click' => 0, 'ad_year'=> $year, 'date_impression' => 1 ));
    415             }
    416 
    417        
    418     }
    419    
    420  
    421    
    422     /**
    423      * Ajax handler to get ad clicks in AMP
    424      * @return type void
    425      */
    426     public function adsensei_insert_ad_clicks_amp(){       
    427        
    428             if ( ! isset( $_GET['adsensei_front_nonce'] ) ){
    429                 return;
    430              }
    431             if ( !wp_verify_nonce( $_GET['adsensei_front_nonce'], 'adsensei_ajax_check_front_nonce' ) ){
    432                return; 
    433             } 
    434            
    435             $ad_id = sanitize_text_field($_GET['event']);
    436             $device_name = 'amp';           
    437            
    438             $referrer_url  = (isset($_SERVER['HTTP_REFERER'])) ? esc_url($_SERVER['HTTP_REFERER']):'';
    439             $user_ip       =  $this->adsensei_get_client_ip();
    440             $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    441             $browser = $_SERVER['HTTP_USER_AGENT'];
    442             require_once ADSENSEI_PLUGIN_DIR . '/admin/includes/mobile-detect.php';
    443             $device_name ='';
    444             $mobile_detect = $isTablet = '';
    445             $mobile_detect = new Adsensei_Mobile_Detect;
    446             $isMobile = $mobile_detect->isMobile();
    447             $isTablet = $mobile_detect->isTablet();
    448      
    449             $device_name  = 'desktop';
    450             if( $isMobile && $isTablet ){ //Only For tablet
    451               $device_name  = 'mobile';
    452             }else if($isMobile && !$isTablet){ // Only for mobile
    453               $device_name  = 'mobile';
    454             }
    455             if($ad_id){     
    456              
    457                 $this->adsensei_insert_clicks($ad_id,$device_name,$referrer_url,$user_ip,$actual_link, $browser );
    458                
    459             }                           
    460            wp_die();           
    461     }
    462 
     411
     412      echo $ad_impression_script;
     413      echo $ad_clicks_script;
     414    }
     415  }
     416
     417
     418  /**
     419   * Function to insert ad clicks for both (AMP and NON AMP)
     420   * @global type $wpdb
     421   * @param type $ad_id
     422   * @param type $device_name
     423   */
     424  public function adsensei_insert_clicks($ad_id, $device_name = '', $referrer_url = '', $user_ip = '', $actual_link = '', $browser = '')
     425  {
     426    global $wpdb;
     427
     428    $today = adsensei_get_date('day');
     429    $id_array = explode('adsensei-ad', $ad_id);
     430
     431    $ad_id = $id_array[1];
     432    $todays_date = date('Y-m-d');
     433    $year = date("Y");
     434
     435    $stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_id` = %d AND `ad_device_name` = %s AND `ad_thetime` = %d AND `referrer` = %s AND `ip_address` = %d AND `url` = %s AND `browser` = %s ", $ad_id, trim($device_name), $today, trim($referrer_url), trim($user_ip), trim($actual_link), trim($browser)));
     436    if ($stats == NULL) {
     437      $stats =  $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_id` = %d AND `ad_device_name` = %s", $ad_id, $device_name));
     438    }
     439    if ($stats > 0) {
     440      $wpdb->query(
     441        $wpdb->prepare(
     442          "UPDATE `{$wpdb->prefix}adsensei_stats` SET `ad_clicks` = `ad_clicks` + 1 WHERE `id` = %d",
     443          $stats
     444        )
     445      );
     446    } else {
     447
     448      $wpdb->insert($wpdb->prefix . 'adsensei_stats', array('ad_id' => $ad_id, 'ad_thetime' => $today, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_device_name' => trim($device_name), 'referrer' => trim($referrer_url), 'ip_address' => trim($user_ip), 'browser' => trim($browser), 'url' => trim($actual_link)));
     449    }
     450
     451
     452    $stats = $wpdb->get_var($wpdb->prepare("SELECT `id` FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_id` = %d ", $ad_id));
     453    if ($stats > 0) {
     454      $wpdb->query(
     455        $wpdb->prepare(
     456          "UPDATE `{$wpdb->prefix}adsensei_single_stats` SET `ad_clicks` = `ad_clicks` + 1 WHERE `ad_id` = %d AND `ad_date` = %s",
     457          $ad_id,
     458          $todays_date
     459        )
     460      );
     461
     462      $wpdb->query(
     463        $wpdb->prepare(
     464          "UPDATE `{$wpdb->prefix}adsensei_single_stats` SET `date_click` = `date_click` + 1 WHERE `ad_id` = %d AND `ad_date` = %s",
     465          $ad_id,
     466          $todays_date
     467        )
     468      );
     469    } else {
     470      $wpdb->insert($wpdb->prefix . 'adsensei_single_stats_', array('ad_id' => $ad_id, 'ad_thetime' => 0, 'ad_clicks' => 0, 'ad_impressions' => 1, 'ad_date' => $todays_date, 'date_click' => 0, 'ad_year' => $year, 'date_impression' => 1));
     471    }
     472  }
     473
     474
     475
     476  /**
     477   * Ajax handler to get ad clicks in AMP
     478   * @return type void
     479   */
     480  public function adsensei_insert_ad_clicks_amp()
     481  {
     482
     483    if (!isset($_GET['adsensei_front_nonce'])) {
     484      return;
     485    }
     486    if (!wp_verify_nonce($_GET['adsensei_front_nonce'], 'adsensei_ajax_check_front_nonce')) {
     487      return;
     488    }
     489
     490    $ad_id = sanitize_text_field($_GET['event']);
     491    $device_name = 'amp';
     492
     493    $referrer_url  = (isset($_SERVER['HTTP_REFERER'])) ? esc_url($_SERVER['HTTP_REFERER']) : '';
     494    $user_ip       =  $this->adsensei_get_client_ip();
     495    $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
     496    $browser = $_SERVER['HTTP_USER_AGENT'];
     497    require_once ADSENSEI_PLUGIN_DIR . '/admin/includes/mobile-detect.php';
     498    $device_name = '';
     499    $mobile_detect = $isTablet = '';
     500    $mobile_detect = new Adsensei_Mobile_Detect;
     501    $isMobile = $mobile_detect->isMobile();
     502    $isTablet = $mobile_detect->isTablet();
     503
     504    $device_name  = 'desktop';
     505    if ($isMobile && $isTablet) { //Only For tablet
     506      $device_name  = 'mobile';
     507    } else if ($isMobile && !$isTablet) { // Only for mobile
     508      $device_name  = 'mobile';
     509    }
     510    if ($ad_id) {
     511
     512      $this->adsensei_insert_clicks($ad_id, $device_name, $referrer_url, $user_ip, $actual_link, $browser);
     513    }
     514    wp_die();
     515  }
    463516}
    464517if (class_exists('adsensei_admin_analytics')) {
    465     $adsensei_analytics_hooks_obj =new adsensei_admin_analytics;
    466         $adsensei_analytics_hooks_obj->adsensei_admin_analytics_hooks();       
     518  $adsensei_analytics_hooks_obj = new adsensei_admin_analytics;
     519  $adsensei_analytics_hooks_obj->adsensei_admin_analytics_hooks();
    467520}
  • adsensei-b30/trunk/includes/reports/common.php

    r2921235 r3075211  
    447447            $to_date = $dates_i[0];
    448448            if($ad_id=='all') {
    449                 $results_impresn_S = $wpdb->get_results($wpdb->prepare("SELECT date_impression,ad_date FROM
    450             `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$to_date' AND '$from_date'"));
     449                $results_impresn_S = $wpdb->get_results(
     450                    $wpdb->prepare(
     451                        "SELECT date_impression, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN %s AND %s",
     452                        $to_date,
     453                        $from_date
     454                    )
     455                );
     456               
    451457            }
    452458            else
    453459            {
    454                 $results_impresn_S = $wpdb->get_results($wpdb->prepare("SELECT date_impression,ad_date FROM
    455             `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$to_date' AND '$from_date' AND `ad_id` = $ad_id "));
     460                $results_impresn_S = $wpdb->get_results(
     461                    $wpdb->prepare(
     462                        "SELECT date_impression, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN %s AND %s AND `ad_id` = %d",
     463                        $to_date,
     464                        $from_date,
     465                        $ad_id
     466                    )
     467                );
     468               
    456469            }
    457470           
     
    477490   
    478491            if($ad_id=='all') {
    479                 $results_click_S = $wpdb->get_results($wpdb->prepare("SELECT date_click,ad_date FROM
    480             `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$to_date' AND '$from_date' "));
     492                $results_click_S = $wpdb->get_results(
     493                    $wpdb->prepare(
     494                        "SELECT date_click, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN %s AND %s",
     495                        $to_date,
     496                        $from_date
     497                    )
     498                );
     499               
    481500            }
    482501            else
    483502            {
    484                 $results_click_S = $wpdb->get_results($wpdb->prepare("SELECT date_click,ad_date FROM
    485             `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$to_date' AND '$from_date' AND `ad_id` = $ad_id "));
     503                $results_click_S = $wpdb->get_results(
     504                    $wpdb->prepare(
     505                        "SELECT date_click, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN %s AND %s AND `ad_id` = %d",
     506                        $to_date,
     507                        $from_date,
     508                        $ad_id
     509                    )
     510                );
     511               
    486512            }
    487513           
     
    500526            if($ad_id=="all")
    501527            {
    502                 $results_top5 = $wpdb->get_results($wpdb->prepare("SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression ,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click)as total_click from `{$wpdb->prefix}adsensei_single_stats_` INNER JOIN `{$wpdb->prefix}posts` ON `{$wpdb->prefix}posts`.ID=`{$wpdb->prefix}adsensei_single_stats_`.ad_id WHERE `{$wpdb->prefix}adsensei_single_stats_`.ad_date BETWEEN '$to_date' AND '$from_date'   GROUP BY `{$wpdb->prefix}posts`.post_title ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC  LIMIT 5"));
     528                $results_top5 = $wpdb->get_results(
     529                    $wpdb->prepare(
     530                        "SELECT `{$wpdb->prefix}posts`.ID, `{$wpdb->prefix}posts`.post_title,
     531                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     532                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     533                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     534                        INNER JOIN `{$wpdb->prefix}posts`
     535                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id
     536                        WHERE `{$wpdb->prefix}adsensei_single_stats_`.ad_date BETWEEN %s AND %s
     537                        GROUP BY `{$wpdb->prefix}posts`.post_title
     538                        ORDER BY SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) DESC
     539                        LIMIT 5",
     540                        $to_date,
     541                        $from_date
     542                    )
     543                );             
    503544                $array_top5 = array_values($results_top5);
    504545               
     
    516557            $current_date_month_ = date('Y-m-d');
    517558            if($ad_id=='all') {
    518                 $results_impresn_F = $wpdb->get_results($wpdb->prepare(" SELECT date_impression,ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$first_date_' AND '$current_date_month_'"));
     559                $results_impresn_F = $wpdb->get_results(
     560                    $wpdb->prepare(
     561                        "SELECT date_impression, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN %s AND %s",
     562                        $first_date_,
     563                        $current_date_month_
     564                    )
     565                );             
    519566            }
    520567            else
    521568            {
    522                 $results_impresn_F = $wpdb->get_results($wpdb->prepare(" SELECT date_impression,ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$first_date_' AND '$current_date_month_' AND `ad_id` = $ad_id "));
     569                $results_impresn_F = $wpdb->get_results(
     570                    $wpdb->prepare(
     571                        "SELECT date_impression, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN %s AND %s AND `ad_id` = %d",
     572                        $first_date_,
     573                        $current_date_month_,
     574                        $ad_id
     575                    )
     576                );
     577               
    523578            }
    524579       
     
    553608        $get_impressions_specific_dates = str_replace('-','/',$_to_slash);
    554609        if($ad_id=='all') {
    555             $results_click_F = $wpdb->get_results($wpdb->prepare(" SELECT date_click,ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$first_date_' AND '$current_date_month_' "));
     610            $results_click_F = $wpdb->get_results(
     611                $wpdb->prepare(
     612                    "SELECT date_click, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN %s AND %s",
     613                    $first_date_,
     614                    $current_date_month_
     615                )
     616            );
     617           
    556618        }
    557619        else
    558620        {
    559             $results_click_F = $wpdb->get_results($wpdb->prepare(" SELECT date_click,ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$first_date_' AND '$current_date_month_' AND `ad_id` = $ad_id "));
     621            $results_click_F = $wpdb->get_results(
     622                $wpdb->prepare(
     623                    "SELECT date_click, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN %s AND %s AND `ad_id` = %d",
     624                    $first_date_,
     625                    $current_date_month_,
     626                    $ad_id
     627                )
     628            );
     629           
    560630        }
    561631       
     
    573643        if($ad_id=="all")
    574644            {
    575                 $results_top5 = $wpdb->get_results($wpdb->prepare("SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression ,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click)as total_click from `{$wpdb->prefix}adsensei_single_stats_` INNER JOIN `{$wpdb->prefix}posts` ON `{$wpdb->prefix}posts`.ID=`{$wpdb->prefix}adsensei_single_stats_`.ad_id WHERE `{$wpdb->prefix}adsensei_single_stats_`.ad_date BETWEEN '$first_date_' AND '$current_date_month_'  GROUP BY `{$wpdb->prefix}posts`.post_title ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC  LIMIT 5"));
     645                $results_top5 = $wpdb->get_results(
     646                    $wpdb->prepare(
     647                        "SELECT `{$wpdb->prefix}posts`.ID, `{$wpdb->prefix}posts`.post_title,
     648                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     649                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     650                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     651                        INNER JOIN `{$wpdb->prefix}posts`
     652                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id
     653                        WHERE `{$wpdb->prefix}adsensei_single_stats_`.ad_date BETWEEN %s AND %s
     654                        GROUP BY `{$wpdb->prefix}posts`.post_title
     655                        ORDER BY SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) DESC
     656                        LIMIT 5",
     657                        $first_date_,
     658                        $current_date_month_
     659                    )
     660                );             
    576661                $array_top5 = array_values($results_top5);
    577662               
     
    583668            $year = date("Y");
    584669            if($ad_id=='all') {
    585                 $results_impresn_F = $wpdb->get_results($wpdb->prepare(" SELECT date_impression,ad_date from `{$wpdb->prefix}adsensei_single_stats_` WHERE month(ad_date)=month(now())-1 AND year(ad_date) = '$year' "));
     670                $results_impresn_F = $wpdb->get_results(
     671                    $wpdb->prepare(
     672                        "SELECT date_impression, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = MONTH(NOW()) - 1 AND YEAR(ad_date) = %d",
     673                        $year
     674                    )
     675                );
     676               
    586677            }
    587678            else
    588679            {
    589                 $results_impresn_F = $wpdb->get_results($wpdb->prepare(" SELECT date_impression,ad_date from `{$wpdb->prefix}adsensei_single_stats_` WHERE month(ad_date)=month(now())-1 AND year(ad_date) = '$year' AND `ad_id`=$ad_id "));
     680                $results_impresn_F = $wpdb->get_results(
     681                    $wpdb->prepare(
     682                        "SELECT date_impression, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = MONTH(NOW()) - 1 AND YEAR(ad_date) = %d AND `ad_id` = %d",
     683                        $year,
     684                        $ad_id
     685                    )
     686                );
     687               
    590688            }
    591689           
     
    619717        $get_impressions_specific_dates = str_replace('-','/',$_to_slash);
    620718        if($ad_id=='all') {
    621         $results_click_F = $wpdb->get_results($wpdb->prepare(" SELECT date_click,ad_date from `{$wpdb->prefix}adsensei_single_stats_` WHERE month(ad_date)=month(now())-1 AND year(ad_date) = '$year' "));
     719            $results_click_F = $wpdb->get_results(
     720                $wpdb->prepare(
     721                    "SELECT date_click, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = MONTH(NOW()) - 1 AND YEAR(ad_date) = %d",
     722                    $year
     723                )
     724            );
     725           
    622726        }
    623727        else
    624728        {
    625         $results_click_F = $wpdb->get_results($wpdb->prepare(" SELECT date_click,ad_date from `{$wpdb->prefix}adsensei_single_stats_` WHERE month(ad_date)=month(now())-1 AND year(ad_date) = '$year' AND `ad_id`=$ad_id "));   
     729            $results_click_F = $wpdb->get_results(
     730                $wpdb->prepare(
     731                    "SELECT date_click, ad_date FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = MONTH(NOW()) - 1 AND YEAR(ad_date) = %d AND `ad_id` = %d",
     732                    $year,
     733                    $ad_id
     734                )
     735            );
     736           
    626737        }
    627738       
     
    640751        if($ad_id=="all")
    641752            {
    642                 $results_top5 = $wpdb->get_results($wpdb->prepare("SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression ,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click)as total_click from `{$wpdb->prefix}adsensei_single_stats_` INNER JOIN `{$wpdb->prefix}posts` ON `{$wpdb->prefix}posts`.ID=`{$wpdb->prefix}adsensei_single_stats_`.ad_id WHERE month(`{$wpdb->prefix}adsensei_single_stats_`.ad_date)=month(now())-1 AND year(`{$wpdb->prefix}adsensei_single_stats_`.ad_date) = '$year'  GROUP BY `{$wpdb->prefix}posts`.post_title ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC  LIMIT 5"));
     753                $results_top5 = $wpdb->get_results(
     754                    $wpdb->prepare(
     755                        "SELECT `{$wpdb->prefix}posts`.ID, `{$wpdb->prefix}posts`.post_title,
     756                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     757                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     758                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     759                        INNER JOIN `{$wpdb->prefix}posts`
     760                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id
     761                        WHERE MONTH(`{$wpdb->prefix}adsensei_single_stats_`.ad_date) = MONTH(NOW()) - 1
     762                        AND YEAR(`{$wpdb->prefix}adsensei_single_stats_`.ad_date) = %d
     763                        GROUP BY `{$wpdb->prefix}posts`.post_title
     764                        ORDER BY SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) DESC
     765                        LIMIT 5",
     766                        $year
     767                    )
     768                );
     769               
    643770                $array_top5 = array_values($results_top5); 
    644771            }
     
    653780            $current_date_month_ = date('Y-m-d');
    654781            if($ad_id=="all"){
    655                 $results_impresn_F = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) as date_impression, ad_year FROM `{$wpdb->prefix}adsensei_single_stats_`  group by ad_year ;"));
     782                $results_impresn_F = $wpdb->get_results(
     783                    $wpdb->prepare(
     784                        "SELECT SUM(date_impression) AS date_impression, ad_year FROM `{$wpdb->prefix}adsensei_single_stats_` GROUP BY ad_year;"
     785                    )
     786                );
     787               
    656788            }
    657789            else
    658790            {
    659              $results_impresn_F = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) as date_impression, ad_year FROM `{$wpdb->prefix}adsensei_single_stats_` where ad_id = $ad_id group by ad_year ;")); 
     791                $results_impresn_F = $wpdb->get_results(
     792                    $wpdb->prepare(
     793                        "SELECT SUM(date_impression) AS date_impression, ad_year FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_id = %d GROUP BY ad_year;",
     794                        $ad_id
     795                    )
     796                );
     797               
    660798            }
    661799           
     
    675813            $get_impressions_specific_dates = $ad_imprsn_values;
    676814            if($ad_id=="all"){
    677                 $results_click_F = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) as date_click, ad_year FROM `{$wpdb->prefix}adsensei_single_stats_`  group by ad_year; "));
     815                $results_click_F = $wpdb->get_results(
     816                    $wpdb->prepare(
     817                        "SELECT SUM(date_click) AS date_click, ad_year FROM `{$wpdb->prefix}adsensei_single_stats_` GROUP BY ad_year;"
     818                    )
     819                );
     820               
    678821            }
    679822            else{
    680                 $results_click_F = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) as date_click, ad_year FROM `{$wpdb->prefix}adsensei_single_stats_` where ad_id = $ad_id group by ad_year; "));
     823                $results_click_F = $wpdb->get_results(
     824                    $wpdb->prepare(
     825                        "SELECT SUM(date_click) AS date_click, ad_year FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_id = %d GROUP BY ad_year;",
     826                        $ad_id
     827                    )
     828                );
     829               
    681830            }
    682831           
     
    695844            if($ad_id=="all")
    696845            {
    697                 $results_top5 = $wpdb->get_results($wpdb->prepare("SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression ,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click)as total_click from `{$wpdb->prefix}adsensei_single_stats_` INNER JOIN `{$wpdb->prefix}posts` ON `{$wpdb->prefix}posts`.ID=`{$wpdb->prefix}adsensei_single_stats_`.ad_id   GROUP BY `{$wpdb->prefix}posts`.post_title ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC  LIMIT 5"));
     846                $results_top5 = $wpdb->get_results(
     847                    $wpdb->prepare(
     848                        "SELECT `{$wpdb->prefix}posts`.ID, `{$wpdb->prefix}posts`.post_title,
     849                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     850                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     851                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     852                        INNER JOIN `{$wpdb->prefix}posts`
     853                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id
     854                        GROUP BY `{$wpdb->prefix}posts`.post_title
     855                        ORDER BY SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) DESC
     856                        LIMIT 5"
     857                    )
     858                );
     859               
    698860                $array_top5 = array_values($results_top5); 
    699861            }
     
    711873            if($ad_id=="all")
    712874            {
    713             $jan = $wpdb->get_results($wpdb->prepare(" SELECT SUM(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 1 AND year(ad_date) = $year ; "));
    714             $feb = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 2 AND year(ad_date) = $year ;"));
    715             $mar = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 3 AND year(ad_date) = $year  ;"));
    716             $apr = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 4 AND year(ad_date) = $year ;"));
    717             $may = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 5 AND year(ad_date) = $year ;"));
    718             $jun = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 6 AND year(ad_date) = $year ;"));
    719             $july = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 7 AND year(ad_date) = $year ;"));
    720             $aug = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 8 AND year(ad_date) = $year ;"));
    721             $sep = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 9 AND year(ad_date) = $year ;"));
    722             $oct = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 10 AND year(ad_date) = $year ;"));
    723             $nov = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 11 AND year(ad_date) = $year ;"));
    724             $dec = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 12 AND year(ad_date) = $year ;"));
     875                $jan = $wpdb->get_var(
     876                    $wpdb->prepare(
     877                        "SELECT SUM(date_impression) AS date_impression
     878                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     879                        WHERE MONTH(ad_date) = 1 AND YEAR(ad_date) = %d",
     880                        $year
     881                    )
     882                );
     883               
     884                $feb = $wpdb->get_var(
     885                    $wpdb->prepare(
     886                        "SELECT SUM(date_impression) AS date_impression
     887                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     888                        WHERE MONTH(ad_date) = 2 AND YEAR(ad_date) = %d",
     889                        $year
     890                    )
     891                );
     892               
     893                $mar = $wpdb->get_var(
     894                    $wpdb->prepare(
     895                        "SELECT SUM(date_impression) AS date_impression
     896                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     897                        WHERE MONTH(ad_date) = 3 AND YEAR(ad_date) = %d",
     898                        $year
     899                    )
     900                );
     901               
     902                $apr = $wpdb->get_var(
     903                    $wpdb->prepare(
     904                        "SELECT SUM(date_impression) AS date_impression
     905                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     906                        WHERE MONTH(ad_date) = 4 AND YEAR(ad_date) = %d",
     907                        $year
     908                    )
     909                );
     910               
     911                $may = $wpdb->get_var(
     912                    $wpdb->prepare(
     913                        "SELECT SUM(date_impression) AS date_impression
     914                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     915                        WHERE MONTH(ad_date) = 5 AND YEAR(ad_date) = %d",
     916                        $year
     917                    )
     918                );
     919               
     920                $jun = $wpdb->get_var(
     921                    $wpdb->prepare(
     922                        "SELECT SUM(date_impression) AS date_impression
     923                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     924                        WHERE MONTH(ad_date) = 6 AND YEAR(ad_date) = %d",
     925                        $year
     926                    )
     927                );
     928               
     929                $jul = $wpdb->get_var(
     930                    $wpdb->prepare(
     931                        "SELECT SUM(date_impression) AS date_impression
     932                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     933                        WHERE MONTH(ad_date) = 7 AND YEAR(ad_date) = %d",
     934                        $year
     935                    )
     936                );
     937               
     938                $aug = $wpdb->get_var(
     939                    $wpdb->prepare(
     940                        "SELECT SUM(date_impression) AS date_impression
     941                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     942                        WHERE MONTH(ad_date) = 8 AND YEAR(ad_date) = %d",
     943                        $year
     944                    )
     945                );
     946               
     947                $sep = $wpdb->get_var(
     948                    $wpdb->prepare(
     949                        "SELECT SUM(date_impression) AS date_impression
     950                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     951                        WHERE MONTH(ad_date) = 9 AND YEAR(ad_date) = %d",
     952                        $year
     953                    )
     954                );
     955               
     956                $oct = $wpdb->get_var(
     957                    $wpdb->prepare(
     958                        "SELECT SUM(date_impression) AS date_impression
     959                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     960                        WHERE MONTH(ad_date) = 10 AND YEAR(ad_date) = %d",
     961                        $year
     962                    )
     963                );
     964               
     965                $nov = $wpdb->get_var(
     966                    $wpdb->prepare(
     967                        "SELECT SUM(date_impression) AS date_impression
     968                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     969                        WHERE MONTH(ad_date) = 11 AND YEAR(ad_date) = %d",
     970                        $year
     971                    )
     972                );
     973               
     974                $dec = $wpdb->get_var(
     975                    $wpdb->prepare(
     976                        "SELECT SUM(date_impression) AS date_impression
     977                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     978                        WHERE MONTH(ad_date) = 12 AND YEAR(ad_date) = %d",
     979                        $year
     980                    )
     981                );
    725982            }
    726983           
    727984            else
    728985            {
    729             $jan = $wpdb->get_results($wpdb->prepare(" SELECT SUM(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 1 AND year(ad_date) = $year AND `ad_id`=$ad_id ; "));
    730             $feb = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 2 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    731             $mar = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 3 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    732             $apr = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 4 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    733             $may = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 5 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    734             $jun = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 6 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    735             $july = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 7 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    736             $aug = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 8 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    737             $sep = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 9 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    738             $oct = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 10 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    739             $nov = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 11 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    740             $dec = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_impression) AS date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 12 AND year(ad_date) = $year AND ad_id=$ad_id ;"));   
    741                
     986                $jan = $wpdb->get_results(
     987                    $wpdb->prepare(
     988                        "SELECT SUM(date_impression) AS date_impression
     989                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     990                        WHERE MONTH(ad_date) = 1 AND YEAR(ad_date) = %d AND ad_id = %d",
     991                        $year,
     992                        $ad_id
     993                    )
     994                );
     995               
     996                $feb = $wpdb->get_results(
     997                    $wpdb->prepare(
     998                        "SELECT SUM(date_impression) AS date_impression
     999                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1000                        WHERE MONTH(ad_date) = 2 AND YEAR(ad_date) = %d AND ad_id = %d",
     1001                        $year,
     1002                        $ad_id
     1003                    )
     1004                );
     1005               
     1006                $mar = $wpdb->get_results(
     1007                    $wpdb->prepare(
     1008                        "SELECT SUM(date_impression) AS date_impression
     1009                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1010                        WHERE MONTH(ad_date) = 3 AND YEAR(ad_date) = %d AND ad_id = %d",
     1011                        $year,
     1012                        $ad_id
     1013                    )
     1014                );
     1015               
     1016                $apr = $wpdb->get_results(
     1017                    $wpdb->prepare(
     1018                        "SELECT SUM(date_impression) AS date_impression
     1019                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1020                        WHERE MONTH(ad_date) = 4 AND YEAR(ad_date) = %d AND ad_id = %d",
     1021                        $year,
     1022                        $ad_id
     1023                    )
     1024                );
     1025               
     1026                $may = $wpdb->get_results(
     1027                    $wpdb->prepare(
     1028                        "SELECT SUM(date_impression) AS date_impression
     1029                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1030                        WHERE MONTH(ad_date) = 5 AND YEAR(ad_date) = %d AND ad_id = %d",
     1031                        $year,
     1032                        $ad_id
     1033                    )
     1034                );
     1035               
     1036                $jun = $wpdb->get_results(
     1037                    $wpdb->prepare(
     1038                        "SELECT SUM(date_impression) AS date_impression
     1039                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1040                        WHERE MONTH(ad_date) = 6 AND YEAR(ad_date) = %d AND ad_id = %d",
     1041                        $year,
     1042                        $ad_id
     1043                    )
     1044                );
     1045               
     1046                $jul = $wpdb->get_results(
     1047                    $wpdb->prepare(
     1048                        "SELECT SUM(date_impression) AS date_impression
     1049                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1050                        WHERE MONTH(ad_date) = 7 AND YEAR(ad_date) = %d AND ad_id = %d",
     1051                        $year,
     1052                        $ad_id
     1053                    )
     1054                );
     1055               
     1056                $aug = $wpdb->get_results(
     1057                    $wpdb->prepare(
     1058                        "SELECT SUM(date_impression) AS date_impression
     1059                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1060                        WHERE MONTH(ad_date) = 8 AND YEAR(ad_date) = %d AND ad_id = %d",
     1061                        $year,
     1062                        $ad_id
     1063                    )
     1064                );
     1065               
     1066                $sep = $wpdb->get_results(
     1067                    $wpdb->prepare(
     1068                        "SELECT SUM(date_impression) AS date_impression
     1069                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1070                        WHERE MONTH(ad_date) = 9 AND YEAR(ad_date) = %d AND ad_id = %d",
     1071                        $year,
     1072                        $ad_id
     1073                    )
     1074                );
     1075               
     1076                $oct = $wpdb->get_results(
     1077                    $wpdb->prepare(
     1078                        "SELECT SUM(date_impression) AS date_impression
     1079                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1080                        WHERE MONTH(ad_date) = 10 AND YEAR(ad_date) = %d AND ad_id = %d",
     1081                        $year,
     1082                        $ad_id
     1083                    )
     1084                );
     1085               
     1086                $nov = $wpdb->get_results(
     1087                    $wpdb->prepare(
     1088                        "SELECT SUM(date_impression) AS date_impression
     1089                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1090                        WHERE MONTH(ad_date) = 11 AND YEAR(ad_date) = %d AND ad_id = %d",
     1091                        $year,
     1092                        $ad_id
     1093                    )
     1094                );
     1095               
     1096                $dec = $wpdb->get_results(
     1097                    $wpdb->prepare(
     1098                        "SELECT SUM(date_impression) AS date_impression
     1099                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1100                        WHERE MONTH(ad_date) = 12 AND YEAR(ad_date) = %d AND ad_id = %d",
     1101                        $year,
     1102                        $ad_id
     1103                    )
     1104                );
     1105                   
    7421106            }
    7431107
     
    7671131            if($ad_id=="all")
    7681132            {
    769                 $jan = $wpdb->get_results($wpdb->prepare(" SELECT SUM(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 1 AND year(ad_date) = $year  ;"));
    770             $feb = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 2 AND year(ad_date) = $year ;"));
    771             $mar = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 3 AND year(ad_date) = $year ;"));
    772             $apr = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 4 AND year(ad_date) = $year ;"));
    773             $may = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 5 AND year(ad_date) = $year ;"));
    774             $jun = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 6 AND year(ad_date) = $year ;"));
    775             $july = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 7 AND year(ad_date) = $year ;"));
    776             $aug = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 8 AND year(ad_date) = $year ;"));
    777             $sep = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 9 AND year(ad_date) = $year ;"));
    778             $oct = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 10 AND year(ad_date) = $year ;"));
    779             $nov = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 11 AND year(ad_date) = $year ;"));
    780             $dec = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 12 AND year(ad_date) = $year ;"));
     1133                $jan = $wpdb->get_results(
     1134                    $wpdb->prepare(
     1135                        "SELECT SUM(date_click) AS date_click
     1136                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1137                        WHERE MONTH(ad_date) = 1 AND YEAR(ad_date) = %d",
     1138                        $year
     1139                    )
     1140                );
     1141               
     1142                $feb = $wpdb->get_results(
     1143                    $wpdb->prepare(
     1144                        "SELECT SUM(date_click) AS date_click
     1145                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1146                        WHERE MONTH(ad_date) = 2 AND YEAR(ad_date) = %d",
     1147                        $year
     1148                    )
     1149                );
     1150               
     1151                $mar = $wpdb->get_results(
     1152                    $wpdb->prepare(
     1153                        "SELECT SUM(date_click) AS date_click
     1154                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1155                        WHERE MONTH(ad_date) = 3 AND YEAR(ad_date) = %d",
     1156                        $year
     1157                    )
     1158                );
     1159               
     1160                $apr = $wpdb->get_results(
     1161                    $wpdb->prepare(
     1162                        "SELECT SUM(date_click) AS date_click
     1163                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1164                        WHERE MONTH(ad_date) = 4 AND YEAR(ad_date) = %d",
     1165                        $year
     1166                    )
     1167                );
     1168               
     1169                $may = $wpdb->get_results(
     1170                    $wpdb->prepare(
     1171                        "SELECT SUM(date_click) AS date_click
     1172                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1173                        WHERE MONTH(ad_date) = 5 AND YEAR(ad_date) = %d",
     1174                        $year
     1175                    )
     1176                );
     1177               
     1178                $jun = $wpdb->get_results(
     1179                    $wpdb->prepare(
     1180                        "SELECT SUM(date_click) AS date_click
     1181                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1182                        WHERE MONTH(ad_date) = 6 AND YEAR(ad_date) = %d",
     1183                        $year
     1184                    )
     1185                );
     1186               
     1187                $july = $wpdb->get_results(
     1188                    $wpdb->prepare(
     1189                        "SELECT SUM(date_click) AS date_click
     1190                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1191                        WHERE MONTH(ad_date) = 7 AND YEAR(ad_date) = %d",
     1192                        $year
     1193                    )
     1194                );
     1195               
     1196                $aug = $wpdb->get_results(
     1197                    $wpdb->prepare(
     1198                        "SELECT SUM(date_click) AS date_click
     1199                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1200                        WHERE MONTH(ad_date) = 8 AND YEAR(ad_date) = %d",
     1201                        $year
     1202                    )
     1203                );
     1204               
     1205                $sep = $wpdb->get_results(
     1206                    $wpdb->prepare(
     1207                        "SELECT SUM(date_click) AS date_click
     1208                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1209                        WHERE MONTH(ad_date) = 9 AND YEAR(ad_date) = %d",
     1210                        $year
     1211                    )
     1212                );
     1213               
     1214                $oct = $wpdb->get_results(
     1215                    $wpdb->prepare(
     1216                        "SELECT SUM(date_click) AS date_click
     1217                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1218                        WHERE MONTH(ad_date) = 10 AND YEAR(ad_date) = %d",
     1219                        $year
     1220                    )
     1221                );
     1222               
     1223                $nov = $wpdb->get_results(
     1224                    $wpdb->prepare(
     1225                        "SELECT SUM(date_click) AS date_click
     1226                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1227                        WHERE MONTH(ad_date) = 11 AND YEAR(ad_date) = %d",
     1228                        $year
     1229                    )
     1230                );
     1231               
     1232                $dec = $wpdb->get_results(
     1233                    $wpdb->prepare(
     1234                        "SELECT SUM(date_click) AS date_click
     1235                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1236                        WHERE MONTH(ad_date) = 12 AND YEAR(ad_date) = %d",
     1237                        $year
     1238                    )
     1239                );
    7811240            }
    7821241            else
    7831242            {
    784             $jan = $wpdb->get_results($wpdb->prepare(" SELECT SUM(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 1 AND year(ad_date) = $year AND `ad_id`=$ad_id ;"));
    785             $feb = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 2 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    786             $mar = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 3 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    787             $apr = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 4 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    788             $may = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 5 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    789             $jun = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 6 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    790             $july = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 7 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    791             $aug = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 8 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    792             $sep = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 9 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    793             $oct = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 10 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    794             $nov = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 11 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
    795             $dec = $wpdb->get_results($wpdb->prepare(" SELECT sum(date_click) AS date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE MONTH(ad_date) = 12 AND year(ad_date) = $year AND ad_id=$ad_id ;"));
     1243                $jan = $wpdb->get_results(
     1244                    $wpdb->prepare(
     1245                        "SELECT SUM(date_click) AS date_click
     1246                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1247                        WHERE MONTH(ad_date) = 1 AND YEAR(ad_date) = %d AND ad_id = %d",
     1248                        $year,
     1249                        $ad_id
     1250                    )
     1251                );
     1252               
     1253                $feb = $wpdb->get_results(
     1254                    $wpdb->prepare(
     1255                        "SELECT SUM(date_click) AS date_click
     1256                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1257                        WHERE MONTH(ad_date) = 2 AND YEAR(ad_date) = %d AND ad_id = %d",
     1258                        $year,
     1259                        $ad_id
     1260                    )
     1261                );
     1262               
     1263                $mar = $wpdb->get_results(
     1264                    $wpdb->prepare(
     1265                        "SELECT SUM(date_click) AS date_click
     1266                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1267                        WHERE MONTH(ad_date) = 3 AND YEAR(ad_date) = %d AND ad_id = %d",
     1268                        $year,
     1269                        $ad_id
     1270                    )
     1271                );
     1272               
     1273                $apr = $wpdb->get_results(
     1274                    $wpdb->prepare(
     1275                        "SELECT SUM(date_click) AS date_click
     1276                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1277                        WHERE MONTH(ad_date) = 4 AND YEAR(ad_date) = %d AND ad_id = %d",
     1278                        $year,
     1279                        $ad_id
     1280                    )
     1281                );
     1282               
     1283                $may = $wpdb->get_results(
     1284                    $wpdb->prepare(
     1285                        "SELECT SUM(date_click) AS date_click
     1286                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1287                        WHERE MONTH(ad_date) = 5 AND YEAR(ad_date) = %d AND ad_id = %d",
     1288                        $year,
     1289                        $ad_id
     1290                    )
     1291                );
     1292               
     1293                $jun = $wpdb->get_results(
     1294                    $wpdb->prepare(
     1295                        "SELECT SUM(date_click) AS date_click
     1296                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1297                        WHERE MONTH(ad_date) = 6 AND YEAR(ad_date) = %d AND ad_id = %d",
     1298                        $year,
     1299                        $ad_id
     1300                    )
     1301                );
     1302               
     1303                $july = $wpdb->get_results(
     1304                    $wpdb->prepare(
     1305                        "SELECT SUM(date_click) AS date_click
     1306                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1307                        WHERE MONTH(ad_date) = 7 AND YEAR(ad_date) = %d AND ad_id = %d",
     1308                        $year,
     1309                        $ad_id
     1310                    )
     1311                );
     1312               
     1313                $aug = $wpdb->get_results(
     1314                    $wpdb->prepare(
     1315                        "SELECT SUM(date_click) AS date_click
     1316                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1317                        WHERE MONTH(ad_date) = 8 AND YEAR(ad_date) = %d AND ad_id = %d",
     1318                        $year,
     1319                        $ad_id
     1320                    )
     1321                );
     1322               
     1323                $sep = $wpdb->get_results(
     1324                    $wpdb->prepare(
     1325                        "SELECT SUM(date_click) AS date_click
     1326                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1327                        WHERE MONTH(ad_date) = 9 AND YEAR(ad_date) = %d AND ad_id = %d",
     1328                        $year,
     1329                        $ad_id
     1330                    )
     1331                );
     1332               
     1333                $oct = $wpdb->get_results(
     1334                    $wpdb->prepare(
     1335                        "SELECT SUM(date_click) AS date_click
     1336                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1337                        WHERE MONTH(ad_date) = 10 AND YEAR(ad_date) = %d AND ad_id = %d",
     1338                        $year,
     1339                        $ad_id
     1340                    )
     1341                );
     1342               
     1343                $nov = $wpdb->get_results(
     1344                    $wpdb->prepare(
     1345                        "SELECT SUM(date_click) AS date_click
     1346                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1347                        WHERE MONTH(ad_date) = 11 AND YEAR(ad_date) = %d AND ad_id = %d",
     1348                        $year,
     1349                        $ad_id
     1350                    )
     1351                );
     1352               
     1353                $dec = $wpdb->get_results(
     1354                    $wpdb->prepare(
     1355                        "SELECT SUM(date_click) AS date_click
     1356                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1357                        WHERE MONTH(ad_date) = 12 AND YEAR(ad_date) = %d AND ad_id = %d",
     1358                        $year,
     1359                        $ad_id
     1360                    )
     1361                );
     1362               
    7961363            }
    7971364           
     
    8111378            if($ad_id=="all")
    8121379            {
    813                 $results_top5 = $wpdb->get_results($wpdb->prepare("SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression ,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click)as total_click from `{$wpdb->prefix}adsensei_single_stats_` INNER JOIN `{$wpdb->prefix}posts` ON `{$wpdb->prefix}posts`.ID=`{$wpdb->prefix}adsensei_single_stats_`.ad_id   WHERE year(`{$wpdb->prefix}adsensei_single_stats_`.ad_date) = $year GROUP BY `{$wpdb->prefix}posts`.post_title ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC  LIMIT 5"));
     1380                $results_top5 = $wpdb->get_results(
     1381                    $wpdb->prepare(
     1382                        "SELECT `{$wpdb->prefix}posts`.ID, `{$wpdb->prefix}posts`.post_title,
     1383                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     1384                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     1385                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1386                        INNER JOIN `{$wpdb->prefix}posts`
     1387                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id
     1388                        WHERE YEAR(`{$wpdb->prefix}adsensei_single_stats_`.ad_date) = %d
     1389                        GROUP BY `{$wpdb->prefix}posts`.post_title
     1390                        ORDER BY total_click DESC
     1391                        LIMIT 5",
     1392                        $year
     1393                    )
     1394                );
     1395               
    8141396                $array_top5 = array_values($results_top5); 
    8151397            }
     
    8201402        if($ad_id=="all")
    8211403        {
    822             $results_impresn = $wpdb->get_results($wpdb->prepare("SELECT date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_date` = '{$yesterday_date}' " ));
     1404            $results_impresn = $wpdb->get_results(
     1405                $wpdb->prepare(
     1406                    "SELECT date_impression
     1407                    FROM `{$wpdb->prefix}adsensei_single_stats_`
     1408                    WHERE `ad_date` = %s",
     1409                    $yesterday_date
     1410                )
     1411            );
     1412           
    8231413        }
    8241414        else
    8251415        {
    826             $results_impresn = $wpdb->get_results($wpdb->prepare("SELECT date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_id` = $ad_id AND `ad_date` = '{$yesterday_date}' " ));
     1416            $results_impresn = $wpdb->get_results(
     1417                $wpdb->prepare(
     1418                    "SELECT date_impression
     1419                    FROM `{$wpdb->prefix}adsensei_single_stats_`
     1420                    WHERE `ad_id` = %d
     1421                    AND `ad_date` = %s",
     1422                    $ad_id,
     1423                    $yesterday_date
     1424                )
     1425            );
     1426           
    8271427        }
    8281428       
     
    8361436        if($ad_id=="all")
    8371437        {   
    838             $results_click = $wpdb->get_results($wpdb->prepare("SELECT date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_date` = '{$yesterday_date}' " ));
     1438            $results_click = $wpdb->get_results(
     1439                $wpdb->prepare(
     1440                    "SELECT date_click
     1441                    FROM `{$wpdb->prefix}adsensei_single_stats_`
     1442                    WHERE `ad_date` = %s",
     1443                    $yesterday_date
     1444                )
     1445            );
     1446           
    8391447        }
    8401448        else
    8411449        {
    842             $results_click = $wpdb->get_results($wpdb->prepare("SELECT date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_id` = $ad_id AND `ad_date` = '{$yesterday_date}' " ));
     1450            $results_click = $wpdb->get_results(
     1451                $wpdb->prepare(
     1452                    "SELECT date_click
     1453                    FROM `{$wpdb->prefix}adsensei_single_stats_`
     1454                    WHERE `ad_id` = %d
     1455                    AND `ad_date` = %s",
     1456                    $ad_id,
     1457                    $yesterday_date
     1458                )
     1459            );
     1460           
    8431461        }
    8441462       
     
    8511469        if($ad_id=="all")
    8521470            {
    853                 $results_top5 = $wpdb->get_results($wpdb->prepare("SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression ,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click)as total_click from `{$wpdb->prefix}adsensei_single_stats_` INNER JOIN `{$wpdb->prefix}posts` ON `{$wpdb->prefix}posts`.ID=`{$wpdb->prefix}adsensei_single_stats_`.ad_id   WHERE `{$wpdb->prefix}adsensei_single_stats_`.`ad_date` = '{$yesterday_date}'  GROUP BY `{$wpdb->prefix}posts`.post_title ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC  LIMIT 5"));
     1471                $results_top5 = $wpdb->get_results(
     1472                    $wpdb->prepare(
     1473                        "SELECT `{$wpdb->prefix}posts`.ID, `{$wpdb->prefix}posts`.post_title,
     1474                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     1475                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     1476                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1477                        INNER JOIN `{$wpdb->prefix}posts`
     1478                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id
     1479                        WHERE `{$wpdb->prefix}adsensei_single_stats_`.`ad_date` = %s
     1480                        GROUP BY `{$wpdb->prefix}posts`.post_title
     1481                        ORDER BY total_click DESC
     1482                        LIMIT 5",
     1483                        $yesterday_date
     1484                    )
     1485                );
     1486               
    8541487                $array_top5 = array_values($results_top5); 
    8551488            }
     
    8581491        if($ad_id=="all")
    8591492            {
    860             $results_impresn_t = $wpdb->get_results($wpdb->prepare("SELECT date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_date` = '{$todays_date}' " ));   
     1493                $results_impresn_t = $wpdb->get_results(
     1494                    $wpdb->prepare(
     1495                        "SELECT date_impression
     1496                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1497                        WHERE `ad_date` = %s",
     1498                        $todays_date
     1499                    )
     1500                );
     1501               
    8611502            }
    8621503            else
    8631504            {
    864             $results_impresn_t = $wpdb->get_results($wpdb->prepare("SELECT date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_id` = $ad_id AND `ad_date` = '{$todays_date}' " ));   
     1505                $results_impresn_t = $wpdb->get_results(
     1506                    $wpdb->prepare(
     1507                        "SELECT date_impression
     1508                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1509                        WHERE `ad_id` = %d
     1510                        AND `ad_date` = %s",
     1511                        $ad_id,
     1512                        $todays_date
     1513                    )
     1514                );
     1515               
    8651516            }
    8661517       
     
    8731524        if($ad_id=="all")
    8741525        {
    875             $results_click_t = $wpdb->get_results($wpdb->prepare("SELECT date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_date` = '{$todays_date}' " ));
     1526            $results_click_t = $wpdb->get_results(
     1527                $wpdb->prepare(
     1528                    "SELECT date_click
     1529                    FROM `{$wpdb->prefix}adsensei_single_stats_`
     1530                    WHERE `ad_date` = %s",
     1531                    $todays_date
     1532                )
     1533            );
     1534           
    8761535        }
    8771536        else
    8781537        {
    879             $results_click_t = $wpdb->get_results($wpdb->prepare("SELECT date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE `ad_id` = $ad_id AND `ad_date` = '{$todays_date}' " ));
     1538            $results_click_t = $wpdb->get_results(
     1539                $wpdb->prepare(
     1540                    "SELECT date_click
     1541                    FROM `{$wpdb->prefix}adsensei_single_stats_`
     1542                    WHERE `ad_id` = %d
     1543                    AND `ad_date` = %s",
     1544                    $ad_id,
     1545                    $todays_date
     1546                )
     1547            );
     1548           
    8801549        }
    8811550       
     
    8891558            {
    8901559                //$results_top5 = $wpdb->get_results($wpdb->prepare("SELECT p.post_title,SUM(s.date_impression) as total_impression ,SUM(s.date_click) as total_click FROM {$wpdb->prefix}adsensei_single_stats_ as s INNER JOIN {$wpdb->prefix}posts as p ON p.ID=s.ad_id   WHERE s.ad_date = {$todays_date} GROUP BY p.post_title ORDER BY total_click DESC  LIMIT 5"));
    891                 $results_top5 = $wpdb->get_results($wpdb->prepare("SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression ,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click)as total_click from `{$wpdb->prefix}adsensei_single_stats_` INNER JOIN `{$wpdb->prefix}posts` ON `{$wpdb->prefix}posts`.ID=`{$wpdb->prefix}adsensei_single_stats_`.ad_id  WHERE `{$wpdb->prefix}adsensei_single_stats_`.`ad_date` = '{$todays_date}'  GROUP BY `{$wpdb->prefix}posts`.post_title ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC  LIMIT 5"));
     1560                $results_top5 = $wpdb->get_results(
     1561                    $wpdb->prepare(
     1562                        "SELECT `{$wpdb->prefix}posts`.ID, `{$wpdb->prefix}posts`.post_title,
     1563                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     1564                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     1565                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1566                        INNER JOIN `{$wpdb->prefix}posts`
     1567                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id 
     1568                        WHERE `{$wpdb->prefix}adsensei_single_stats_`.`ad_date` = %s
     1569                        GROUP BY `{$wpdb->prefix}posts`.post_title
     1570                        ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC
     1571                        LIMIT 5",
     1572                        $todays_date
     1573                    )
     1574                );             
    8921575                $array_top5 = array_values($results_top5); 
    8931576            }
     
    9011584        if($ad_id=="all")
    9021585            {
    903                 $results_impresn_C_ = $wpdb->get_results($wpdb->prepare(" SELECT date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$get_from' AND '$get_to' "));
     1586                $results_top5 = $wpdb->get_results(
     1587                    $wpdb->prepare(
     1588                        "SELECT `{$wpdb->prefix}posts`.ID,
     1589                                `{$wpdb->prefix}posts`.post_title,
     1590                                SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     1591                                SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     1592                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1593                        INNER JOIN `{$wpdb->prefix}posts`
     1594                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id 
     1595                        WHERE `{$wpdb->prefix}adsensei_single_stats_`.`ad_date` = %s
     1596                        GROUP BY `{$wpdb->prefix}posts`.post_title
     1597                        ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC 
     1598                        LIMIT 5",
     1599                        $todays_date
     1600                    )
     1601                );
     1602               
    9041603            }
    9051604            else
    9061605            {
    907                 $results_impresn_C_ = $wpdb->get_results($wpdb->prepare(" SELECT date_impression FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$get_from' AND '$get_to' AND `ad_id` = $ad_id "));
     1606                $results_impresn_C_ = $wpdb->get_results(
     1607                    $wpdb->prepare(
     1608                        "SELECT date_impression
     1609                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1610                        WHERE ad_date BETWEEN %s AND %s
     1611                        AND `ad_id` = %d",
     1612                        $get_from,
     1613                        $get_to,
     1614                        $ad_id
     1615                    )
     1616                );
     1617               
    9081618            }
    9091619       
     
    9301640        if($ad_id=="all")
    9311641        {
    932             $results_click_S = $wpdb->get_results($wpdb->prepare(" SELECT date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$get_from' AND '$get_to' "));
     1642            $results_click_S = $wpdb->get_results(
     1643                $wpdb->prepare(
     1644                    "SELECT date_click
     1645                    FROM `{$wpdb->prefix}adsensei_single_stats_`
     1646                    WHERE ad_date BETWEEN %s AND %s",
     1647                    $get_from,
     1648                    $get_to
     1649                )
     1650            );
     1651           
    9331652        }
    9341653        else
    9351654        {
    936          $results_click_S = $wpdb->get_results($wpdb->prepare(" SELECT date_click FROM `{$wpdb->prefix}adsensei_single_stats_` WHERE ad_date BETWEEN '$get_from' AND '$get_to' AND `ad_id` = $ad_id "));   
     1655            $results_click_S = $wpdb->get_results(
     1656                $wpdb->prepare(
     1657                    "SELECT date_click
     1658                    FROM `{$wpdb->prefix}adsensei_single_stats_`
     1659                    WHERE ad_date BETWEEN %s AND %s
     1660                    AND `ad_id` = %d",
     1661                    $get_from,
     1662                    $get_to,
     1663                    $ad_id
     1664                )
     1665            );
     1666           
    9371667        }
    9381668       
     
    9501680        if($ad_id=="all")
    9511681            {
    952                 $results_top5 = $wpdb->get_results($wpdb->prepare("SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression ,SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click)as total_click from `{$wpdb->prefix}adsensei_single_stats_` INNER JOIN `{$wpdb->prefix}posts` ON `{$wpdb->prefix}posts`.ID=`{$wpdb->prefix}adsensei_single_stats_`.ad_id   WHERE `{$wpdb->prefix}adsensei_single_stats_`.`ad_date` BETWEEN '$get_from' AND '$get_to'  GROUP BY `{$wpdb->prefix}posts`.post_title ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC  LIMIT 5"));
     1682                $results_top5 = $wpdb->get_results(
     1683                    $wpdb->prepare(
     1684                        "SELECT `{$wpdb->prefix}posts`.ID,`{$wpdb->prefix}posts`.post_title,
     1685                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_impression) as total_impression,
     1686                        SUM(`{$wpdb->prefix}adsensei_single_stats_`.date_click) as total_click
     1687                        FROM `{$wpdb->prefix}adsensei_single_stats_`
     1688                        INNER JOIN `{$wpdb->prefix}posts`
     1689                        ON `{$wpdb->prefix}posts`.ID = `{$wpdb->prefix}adsensei_single_stats_`.ad_id   
     1690                        WHERE `{$wpdb->prefix}adsensei_single_stats_`.`ad_date` BETWEEN %s AND %s 
     1691                        GROUP BY `{$wpdb->prefix}posts`.post_title
     1692                        ORDER BY `{$wpdb->prefix}adsensei_single_stats_`.date_click DESC 
     1693                        LIMIT 5",
     1694                        $get_from,
     1695                        $get_to
     1696                    )
     1697                );
     1698               
    9531699                $array_top5 = array_values($results_top5); 
    9541700            }
     
    11251871        case 'sumofstats':
    11261872// echo 'sdf';die; 
    1127             $result = $wpdb->get_results($wpdb->prepare("SELECT SUM(`ad_clicks`) as `clicks`, SUM(`ad_impressions`) as `impressions` FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_id` = %d;", $ad_id), ARRAY_A);
     1873        $result = $wpdb->get_results(
     1874            $wpdb->prepare(
     1875                "SELECT SUM(`ad_clicks`) as `clicks`, SUM(`ad_impressions`) as `impressions`
     1876                FROM `{$wpdb->prefix}adsensei_stats`
     1877                WHERE `ad_id` = %d;",
     1878                $ad_id
     1879            ),
     1880            ARRAY_A
     1881        );
     1882
    11281883           
    11291884            $ad_stats['impressions'] = $result[0]['impressions'];
     
    11371892            if($ad_id){
    11381893               
    1139                 $result = $wpdb->get_results($wpdb->prepare("SELECT *FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_thetime` = %d AND `ad_id` = %d;", $date, $ad_id), ARRAY_A);
     1894                $result = $wpdb->get_results(
     1895                    $wpdb->prepare(
     1896                        "SELECT * FROM `{$wpdb->prefix}adsensei_stats`
     1897                        WHERE `ad_thetime` = %d AND `ad_id` = %d;",
     1898                        $date,
     1899                        $ad_id
     1900                    ),
     1901                    ARRAY_A
     1902                );
     1903               
    11401904               
    11411905            }else{
    11421906           
    1143                 $result = $wpdb->get_results($wpdb->prepare("SELECT *FROM `{$wpdb->prefix}adsensei_stats` WHERE `ad_thetime` = %d;", $date), ARRAY_A);
     1907                $result = $wpdb->get_results(
     1908                    $wpdb->prepare(
     1909                        "SELECT * FROM `{$wpdb->prefix}adsensei_stats`
     1910                        WHERE `ad_thetime` = %d;",
     1911                        $date
     1912                    ),
     1913                    ARRAY_A
     1914                );
     1915               
    11441916
    11451917               
     
    12372009                                break;
    12382010                        }
    1239                         $ad_thetime = $wpdb->prepare('where ad_thetime BETWEEN '.$startDate.' AND '.$endDate);
    1240                    
     2011                        $ad_thetime = $wpdb->prepare( 'WHERE ad_thetime BETWEEN %s AND %s', $startDate, $endDate );
    12412012                    }
    12422013                }
     
    12442015                if(isset($parameters['search_param']) && !empty($parameters['search_param'])){
    12452016                    if(empty($ad_thetime)){
    1246                         $search_param = $wpdb->prepare("where ad_id  LIKE '%".$parameters['search_param']."%' or
    1247                         ad_device_name  LIKE '%".$parameters['search_param']."%' or
    1248                         ip_address  LIKE '%".$parameters['search_param']."%' or
    1249                         url  LIKE '%".$parameters['search_param']."%' or
    1250                         browser  LIKE '%".$parameters['search_param']."%' or
    1251                         referrer  LIKE '%".$parameters['search_param']."%'   ");
     2017                        $search_param = $wpdb->prepare(
     2018                            "WHERE ad_id LIKE %s OR
     2019                            ad_device_name LIKE %s OR
     2020                            ip_address LIKE %s OR
     2021                            url LIKE %s OR
     2022                            browser LIKE %s OR
     2023                            referrer LIKE %s",
     2024                            '%' . $parameters['search_param'] . '%',
     2025                            '%' . $parameters['search_param'] . '%',
     2026                            '%' . $parameters['search_param'] . '%',
     2027                            '%' . $parameters['search_param'] . '%',
     2028                            '%' . $parameters['search_param'] . '%',
     2029                            '%' . $parameters['search_param'] . '%'
     2030                        );
     2031                       
    12522032                    }else {
    12532033                   
    1254                         $search_param = $wpdb->prepare("and ( ad_id  LIKE '%".$parameters['search_param']."%' or
    1255                         ad_device_name  LIKE '%".$parameters['search_param']."%' or
    1256                         ip_address  LIKE '%".$parameters['search_param']."%' or
    1257                         url  LIKE '%".$parameters['search_param']."%' or
    1258                         browser  LIKE '%".$parameters['search_param']."%' or
    1259                         referrer  LIKE '%".$parameters['search_param']."%' )  ");
     2034                        $search_param = $wpdb->prepare(
     2035                            "AND (ad_id LIKE %s OR
     2036                            ad_device_name LIKE %s OR
     2037                            ip_address LIKE %s OR
     2038                            url LIKE %s OR
     2039                            browser LIKE %s OR
     2040                            referrer LIKE %s)",
     2041                            '%' . $parameters['search_param'] . '%',
     2042                            '%' . $parameters['search_param'] . '%',
     2043                            '%' . $parameters['search_param'] . '%',
     2044                            '%' . $parameters['search_param'] . '%',
     2045                            '%' . $parameters['search_param'] . '%',
     2046                            '%' . $parameters['search_param'] . '%'
     2047                        );
     2048                       
    12602049                    }
    12612050
    12622051                }
    1263             $results = $wpdb->get_results($wpdb->prepare("SELECT * FROM `{$wpdb->prefix}adsensei_stats` ". $ad_thetime ." ".$search_param ." LIMIT " . $offset . "," . $items_per_page), ARRAY_A);
     2052                $results = $wpdb->get_results(
     2053                    $wpdb->prepare(
     2054                        "SELECT * FROM `{$wpdb->prefix}adsensei_stats` %s %s LIMIT %d, %d",
     2055                        $ad_thetime,
     2056                        $search_param,
     2057                        $offset,
     2058                        $items_per_page
     2059                    ),
     2060                    ARRAY_A
     2061                );
     2062               
     2063               
    12642064                    $ad_stats = $results;   
    1265                     $result_total = $wpdb->get_row($wpdb->prepare("SELECT count(*) as total FROM `{$wpdb->prefix}adsensei_stats` ". $ad_thetime ." ".$search_param), ARRAY_A);
     2065                    $result_total = $wpdb->get_row(
     2066                        $wpdb->prepare(
     2067                            "SELECT count(*) as total FROM `{$wpdb->prefix}adsensei_stats` %s %s",
     2068                            $ad_thetime,
     2069                            $search_param
     2070                        ),
     2071                        ARRAY_A
     2072                    );
     2073                   
     2074                   
    12662075                    $log_array = array();
    12672076                    foreach($results as $result){
  • adsensei-b30/trunk/includes/template-functions.php

    r2921235 r3075211  
    30343034                        $stats = $wpdb->get_var($wpdb->prepare("SELECT * FROM `{$wpdb->prefix}adsensei_stats`" ));
    30353035                        if($stats>0){
    3036                           $wpdb->query( "UPDATE `{$wpdb->prefix}adsensei_stats` SET `Beginning_of_post` = `Beginning_of_post` + 1 WHERE `id` = {$stats};" );
     3036                          $wpdb->query(
     3037                            $wpdb->prepare(
     3038                                "UPDATE `{$wpdb->prefix}adsensei_stats` SET `Beginning_of_post` = `Beginning_of_post` + 1 WHERE `id` = %d;",
     3039                                $stats
     3040                            )
     3041                        );
     3042                       
    30373043                        }
    30383044                      }
     
    30643070                        $stats = $wpdb->get_var($wpdb->prepare("SELECT * FROM `{$wpdb->prefix}adsensei_stats`" ));
    30653071                        if($stats>0){
    3066                           $wpdb->query( "UPDATE `{$wpdb->prefix}adsensei_stats` SET `After_more_tag` = `After_more_tag` + 1 WHERE `id` = {$stats};" );
     3072                          $wpdb->query( $wpdb->prepare( "UPDATE `{$wpdb->prefix}adsensei_stats` SET `After_more_tag` = `After_more_tag` + 1 WHERE `id` = %d", $stats ) );
    30673073                        }
    30683074                      }
Note: See TracChangeset for help on using the changeset viewer.