"; else $error_msg=''; ?>
Two Factor Authentication
General
if($base!=$site) { // Fix AIOWPS Redirect bug
global $wpdb;
$get_config=$wpdb->get_results("SELECT 1 FROM {$wpdb->prefix}atb_options WHERE option_name='match_redirect' AND option_value>0;",OBJECT);
if(!$get_config) return;
if(is_path('wp-admin')) wp_redirect(admin_url()); else wp_redirect(site_url());
exit;
}
}
add_action('wp_loaded','atb_match_redirect',10);
//Redirect to HTTPS
function atb_https_redirect() {
if(empty($_SERVER['HTTPS'])) {
global $wpdb;
$get_config=$wpdb->get_results("SELECT 1 FROM {$wpdb->prefix}atb_options WHERE option_name='https_redirect' AND option_value>0",OBJECT);
if(!$get_config) return;
header("Location: https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
exit;
}
}
add_action('wp_loaded','atb_https_redirect',10);
// Compress PageHits
function atb_compress_hits() {
$d=atb_r("DELETE pg
FROM wp_atb_pagehits pg
WHERE url LIKE '%-ajax%';");
$r=atb_r("DELETE pg
FROM wp_atb_pagehits pg
JOIN (
SELECT MAX(hit_id) as hit_id
FROM wp_atb_pagehits
WHERE userid<1
AND date < NOW()-INTERVAL 90 DAY
GROUP BY LEFT(date,13),ip,userid,url,referrer
HAVING COUNT(ip)>1
ORDER BY hit_id ASC
LIMIT 100
)mx ON mx.hit_id=pg.hit_id;");
return $r;
}
// PageHit Summary
function atb_view_summary($atb_version_type) {
if(isset($_SESSION["limit_img_size_kb"])) unset($_SESSION["limit_img_size_kb"]);
$current_mth=current_time('Y-m-01');
$last_gen_mth=get_transient('atb_mt_max');
if(!$last_gen_mth) $last_gen_mth=$current_mth;
$mth=get_transient('atb_mt'); // Find Historical Month Stats
function atb_month_stat($params) {
$query="
SELECT DATE_FORMAT(CONCAT(month,'-01'),'%b %y') as month
,month as month_id,visitors
,ROUND(visitors/CASE WHEN month=DATE_FORMAT(NOW(),'%Y-%m') THEN DAY(NOW()) ELSE 30 END,0) as day_avg
FROM (
SELECT LEFT(date,7) as month,COUNT(DISTINCT ip) as visitors
FROM wp_atb_pagehits
WHERE date>NOW()-INTERVAL 400 DAY $params
GROUP BY LEFT(date,7)
)a
ORDER BY DATE_FORMAT(CONCAT(month,'-01'),'%y-%m');";
$mth=atb_r($query);
return $mth;
}
// Create Historical Month Stats
if(!$mth) {
$mth=atb_month_stat("AND date<'$current_mth'");
set_transient('atb_mt',$mth,999999999);
set_transient('atb_mt_max',$current_mth,999999999);
}
// Get Month Stats between last Gen Date and Month Begin
if(!$mth || $current_mth>$last_gen_mth) {
$mth_new=atb_month_stat("AND date>='$last_gen_mth' AND date<'$current_mth'");
if($mth && $mth_new) {
$mth=array_merge($mth,$mth_new); // Append Historical with Current
set_transient('atb_mt',$mth,999999999);
set_transient('atb_mt_max',$current_mth,999999999);
}
}
// Get Month Stats greater than Month Begin
$mth_new=atb_month_stat("AND date>='$current_mth'");
if(!$mth)$mth=$mth_new;
elseif($mth_new)$mth=array_merge($mth,$mth_new); // Append Historical with Today
$current_day=current_time('Y-m-d');
$last_gen_day=get_transient('atb_dy_max');
if(!$last_gen_day) $last_gen_day=$current_day;
$day=get_transient('atb_dy'); // Find Historical Day Stats
function atb_day_stat($params) {
$query="
SELECT DATE_FORMAT(date,'%a %D') as day
,date as date_id
,DATE_FORMAT(CONCAT(date,'-01'),'%b %y') as month,visitors
,visitors
FROM (
SELECT LEFT(date,10) as date,COUNT(DISTINCT ip) as visitors
FROM wp_atb_pagehits
WHERE date>NOW()-INTERVAL 400 DAY $params
GROUP BY LEFT(date,10)
)a
ORDER BY date;";
$day=atb_r($query);
return $day;
}
// Create Historical Day Stats
if(!$day) {
$day=atb_day_stat("AND date<'$current_day'");
set_transient('atb_dy',$day,999999999);
set_transient('atb_dy_max',$current_day,999999999);
}
// Get Day Stats between last Gen Date and Today
if(!$day || $current_day>$last_gen_day) {
$day_new=atb_day_stat("AND date>='$last_gen_day' AND date<'$current_day' ");
if($day && $day_new){ // Append Historical with Current
$day=array_merge($day,$day_new);
set_transient('atb_dy',$day,999999999);
set_transient('atb_dy_max',$current_day,999999999);
}
}
// Get Day Stats Today
$day_new=atb_day_stat("AND date>='$current_day'");
if(!$day) $day=$day_new;
elseif($day_new)$day=array_merge($day,$day_new); // Append Historical with Today
$max_visit_avg=0;
$max_visit_tot=0;
if($mth) foreach($mth as $mth_item) if($mth_item->day_avg>$max_visit_avg) {$max_visit_avg=$mth_item->day_avg; $max_visit_tot=$mth_item->visitors;} ?>