getBanners() ); } public function getBannerNameById( $id ) { $model = new StatisticsModel(); return $model->getBannerName( $id ); } function countAdsViews() { global $wpdb; $dbStatisitcs = $wpdb->prefix . 'adfoxly_statistics' . '_views'; $result = $wpdb->get_var( "SELECT count(id) FROM $dbStatisitcs" ); return $result; } function countAdsClicks() { global $wpdb; $dbStatisitcs = $wpdb->prefix . 'adfoxly_statistics' . '_clicks'; $result = $wpdb->get_var( "SELECT count(id) FROM $dbStatisitcs" ); return $result; } public function getViewsPerDayLabels( $days = 7 ) { global $wpdb; $dbStatisitcs = $wpdb->prefix . 'adfoxly_statistics' . '_views'; $result = $wpdb->get_results( "SELECT `date` FROM $dbStatisitcs GROUP BY DAY(`date`) ORDER BY `id` ASC" ); return $result; } public function getClicksPerDayArray( $days = 7 ) { $model = new StatisticsModel(); $today = date( 'Y-m-d H:i:s' ); $todayDate = date_create( $today ); $todayDate = date_modify( $todayDate, "-$days day" ); $array = null; $views = $model->getClicksPerDay( $days ); for ( $i = 0; $i < $days; $i ++ ) { $date = date_modify( $todayDate, "+1 day" ); $date = $date->format( 'Y-m-d' ); if ( isset( $views[ $date ] ) && ! empty( $views[ $date ] ) ) { $array[ $date ] = intval( $views[ $date ]->number ); } else { $array[ $date ] = 0; } } return $array; } public function getViewsPerDayArray( $days = 7 ) { $model = new StatisticsModel(); $today = date( 'Y-m-d H:i:s' ); $todayDate = date_create( $today ); $todayDate = date_modify( $todayDate, "-$days day" ); $array = null; $views = $model->getViewsPerDay( $days ); for ( $i = 0; $i < $days; $i ++ ) { $date = date_modify( $todayDate, "+1 day" ); $date = $date->format( 'Y-m-d' ); if ( isset( $views[ $date ] ) && ! empty( $views[ $date ] ) ) { $array[ $date ] = intval( $views[ $date ]->number ); } else { $array[ $date ] = 0; } } return $array; } function countTop3Clicks() { global $wpdb; $dbStatisitcs = $wpdb->prefix . 'adfoxly_statistics' . '_clicks'; $result = $wpdb->get_results( "SELECT s.banner_id, count(id) as clicks FROM " . $dbStatisitcs . " s JOIN (SELECT count(id) as number, banner_id FROM $dbStatisitcs GROUP BY banner_id) s2 ON (s2.banner_id = s.banner_id) GROUP BY banner_id ORDER BY s2.number DESC LIMIT 3", OBJECT ); return $result; } // function countTop3PlacesByClicks() { // global $wpdb; // $dbStatisitcs = $wpdb->prefix . 'adfoxly_statistics' . '_clicks'; // // $result = $wpdb->get_results( "SELECT s.banner_id, count(id) as clicks FROM " . $dbStatisitcs . " s JOIN (SELECT count(id) as number, banner_id FROM $dbStatisitcs GROUP BY banner_id) s2 ON (s2.banner_id = s.banner_id) GROUP BY banner_id ORDER BY s2.number DESC LIMIT 3", OBJECT ); // // return $result; // } public function adminMenu() { add_submenu_page( 'adfoxly', __( 'Analytics (beta)' ), __( 'Analytics (beta)' ), 'manage_options', 'adfoxly-analytics', array( $this, 'wpadsStatisticsPage' ) ); } public function wpadsStatisticsPage() { require_once dirname( dirname( dirname( __FILE__ ) ) ) . '/admin/partials/adfoxly-admin-statistics.php'; } } new adfoxlyStatistics();