advert_analysis_filter_option(); $this->do_analysis_page(); } public function advert_analysis_filter_option(){ if ( 'POST' == $_SERVER['REQUEST_METHOD'] && $_POST['post_type'] == 'admin_analysis_filter' && $_POST['originalaction'] == 'adminanalysis' && current_user_can('edit_adverts') ){ if ( !is_user_logged_in() || ! wp_verify_nonce( $_POST['admin-analysis'], 'admin_analysis' ) ){ print 'Woah, whats really going on...?'; return; } $filter = $_POST['advert-analysis-filter']; if(!empty($filter)) $this->get_filter_data($filter); } else{ if( current_user_can('edit_adverts') ){ $filter = 'today'; $this->get_filter_data($filter); } } } public function get_filter_data($filter){ global $wpdb; $log_table = $wpdb->prefix . 'advert_logged'; $current_year = date('Y'); $current_date = current_time('Y-m-d'); if($filter === 'today'){$time_conditions = " WHERE DATE(time) = '{$current_date}' ";} if($filter === 'yesterday'){$time_conditions = " WHERE DATE(time) = DATE_SUB('{$current_date}', INTERVAL 1 DAY) ";} if($filter === 'pastweek'){$time_conditions = " WHERE DATE(time) >= DATE_SUB('{$current_date}', INTERVAL 1 WEEK) ";} if($filter === 'pastmonth'){$time_conditions = " WHERE DATE(time) >= DATE_SUB('{$current_date}', INTERVAL 1 MONTH) ";} if($filter === 'pastyear'){$time_conditions = " WHERE DATE(time) >= DATE_SUB('{$current_date}', INTERVAL 1 YEAR) ";} if($filter === 'ytd'){$time_conditions = " WHERE YEAR(time) = $current_year ";} if(!current_user_can('publish_adverts')){ $user_id = get_current_user_id(); $company_id = get_user_meta( $user_id, 'advert_advertiser_company_id'.get_current_blog_id(), true); if($filter == 'all'){ $advert_user = " WHERE adv_id = $company_id "; } else{ $advert_user = " AND adv_id = $company_id "; } } else{ $advert_user = ""; } if($filter == 'all'){ $queryitems = $wpdb->get_results(" SELECT SUM(price) AS total, COUNT(CASE WHEN typeof = 'i' THEN 1 END) AS imp, COUNT(CASE WHEN typeof = 'c' THEN 1 END) click FROM $log_table $advert_user "); } elseif(!empty($filter)){ $queryitems = $wpdb->get_results(" SELECT SUM(price) AS total, COUNT(CASE WHEN typeof = 'i' THEN 1 END) AS imp, COUNT(CASE WHEN typeof = 'c' THEN 1 END) click FROM $log_table $time_conditions $advert_user "); } $this->queryitems = $queryitems; } public function do_analysis_page(){ $queryitems = $this->queryitems; //get page $tab1 = esc_url(admin_url('admin.php?page=advert-analysis-overview')); $tab2 = esc_url(admin_url('admin.php?page=advert-analysis-drilldown')); ?>