db[ 'views' ] = $wpdb->prefix . "adfoxly_statistics_views"; $this->db[ 'clicks' ] = $wpdb->prefix . "adfoxly_statistics_clicks"; } public function getBannerName( $id ) { $result = get_the_title( $id ); return $result; } public function saveView( $id, $fingerprint ) { global $wpdb; //var_dump($id); // $args = array( // 'meta_query' => array( // array( // 'key' => 'adfoxly-ad-campaign', // 'value' => $id, // 'compare' => 'LIKE' // ) // ), // 'post_type' => 'adfoxly_ad_campaign', // 'posts_per_page' => - 1 // ); // // $ads = get_posts( $args ); // // var_dump($ads); // if ( ! empty( $ads ) ) { // var_dump($ads); //// $adfoxlyCampaignUserViews = get_post_meta( $ads[ 0 ]->ID, 'adfoxly-campaign-maxviews-user', true ); //// $campaignId = $id; //// //// global $wpdb; //// $countFingerPrint = $wpdb->get_var( "SELECT count(*) FROM " . $wpdb->prefix . "adfoxly_statistics_views WHERE fingerprint = '" . $stats->getFingerPrint() . "'" ); //// var_dump($adfoxlyCampaignUserViews); //// var_dump($countFingerPrint); // // } $wpdb->insert( $this->db[ 'views' ], array( 'banner_id' => $id, 'fingerprint' => $fingerprint, ) ); } public function getClicksPerDay( $days = 7 ) { global $wpdb; $dbStatisitcs = $wpdb->prefix . 'adfoxly_statistics' . '_clicks'; $today = date( 'Y-m-d H:i:s' ); $date = date_create( $today ); $date = date_modify( $date, "-$days day" ); $date = $date->format( 'Y-m-d' ); $result = $wpdb->get_results( "SELECT DATE_FORMAT(`date`, '%Y-%m-%d') as date, count(id) as number FROM $dbStatisitcs WHERE `date` >= '$date' GROUP BY DAY(`date`) ORDER BY `date` ASC", OBJECT_K ); return $result; } public function getViewsPerDay( $days = 7 ) { global $wpdb; $dbStatisitcs = $wpdb->prefix . 'adfoxly_statistics' . '_views'; $today = date( 'Y-m-d H:i:s' ); $date = date_create( $today ); $date = date_modify( $date, "-$days day" ); $date = $date->format( 'Y-m-d' ); $result = $wpdb->get_results( "SELECT DATE_FORMAT(`date`, '%Y-%m-%d') as date, count(id) as number FROM $dbStatisitcs WHERE `date` >= '$date' GROUP BY DAY(`date`) ORDER BY `date` ASC", OBJECT_K ); return $result; } public function insertTables() { global $wpdb; // db clicks statistics $wpdb->query( "CREATE TABLE IF NOT EXISTS `" . $wpdb->prefix . "adfoxly_statistics_clicks` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT, `banner_id` INT( 11 ) NOT NULL, `ad_id` INT( 11 ) NOT NULL, `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `ip` VARCHAR( 15 ) NULL, `fingerprint` VARCHAR( 50 ) NOT NULL, PRIMARY KEY( `id` ) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1;" ); // db views statistics $wpdb->query( "CREATE TABLE IF NOT EXISTS `" . $wpdb->prefix . "adfoxly_statistics_views` ( `id` INT NOT NULL AUTO_INCREMENT, `banner_id` INT NOT NULL, `ad_id` INT NOT NULL, `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `ip` VARCHAR( 50 ) NULL, `fingerprint` VARCHAR( 50 ) NOT NULL, PRIMARY KEY( `id` ) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1;" ); } }