query("
CREATE TABLE IF NOT EXISTS {$wpdb->prefix}atb_options
(option_id INT NOT NULL AUTO_INCREMENT
,option_name VARCHAR(191) NULL
,option_value VARCHAR(500)
,PRIMARY KEY (option_id));
");
$wpdb->query("
CREATE TABLE IF NOT EXISTS {$wpdb->prefix}atb_pagehits
(hit_id INT NOT NULL AUTO_INCREMENT
,date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
,ip VARCHAR(191) NULL
,userid INT
,url VARCHAR(500)
,referrer VARCHAR(500)
,PRIMARY KEY (hit_id));
");
require_once(ABSPATH.'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
register_activation_hook(__FILE__,'atb_activate');
function atb_admin_notice() {
$settings_url=get_admin_url(null,'admin.php?page=admin-toolbox');
if(current_user_can('manage_options') && strpos($_SERVER['REQUEST_URI'],'admin-toolbox')===false):?>
_e("The Admin Toolbox plugin is active, but isn't configured to do anything yet. Visit the configuration page to complete setup.",'Admin Toolbox');?>
endif;
}
function atb_add_action_links($links) {
$settings_url=get_admin_url(null,'admin.php?page=admin-toolbox');
$support_url='http://r1cm.com/';
$links[]='Support';
array_push($links,'Settings');
return $links;
}
add_filter('plugin_action_links_'.plugin_basename(__FILE__),'atb_add_action_links');
function atb_uninstall() {
global $wpdb;
$wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}atb_options;");
$wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}atb_pagehits;");
require_once(ABSPATH.'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
register_uninstall_hook(__FILE__,'atb_uninstall');
function atb_admin_impact() {
global $wpdb;
include_once('atb_admin_impact.php');
}
add_action('admin_enqueue_scripts', 'atb_admin_impact');
function atb_login_impact() {
global $wpdb;
include_once('atb_login_impact.php');
}
add_action('login_enqueue_scripts', 'atb_login_impact');
function atb_frontend_impact() {
global $wpdb;
include_once('atb_frontend_impact.php');
}
add_action('wp_enqueue_scripts', 'atb_frontend_impact');
// PageHit Testing
function hit_page() {
global $current_user;
$userid=0;
if(is_user_logged_in()) {
$current_user=wp_get_current_user();
$userid=$current_user->ID;
}
$url=substr($_SERVER['REQUEST_URI'],0,250);
$referrer=substr($_SERVER['HTTP_REFERER'],0,250);
global $wpdb;
if(strpos($url,'&phv=1')===false)
$wpdb->query("
INSERT INTO {$wpdb->prefix}atb_pagehits(ip,userid,url,referrer)
VALUES ('{$_SERVER['REMOTE_ADDR']}','$userid','$url','$referrer');
");
if($time % 20===0) // 1/20 chance to run
$wpdb->query("
DELETE FROM {$wpdb->prefix}atb_pagehits
WHERE DATE_ADD(date,INTERVAL 90 DAY)prefix}atb_pagehits ph
LEFT JOIN {$wpdb->prefix}users u ON u.ID=ph.userid
WHERE 1=1
AND (LENGTH('$uid')=0 OR userid='$uid')
AND (LENGTH('$date')=0 OR LEFT(DATE_ADD(date,INTERVAL -5 HOUR),10)='$date')
AND (LENGTH('$url')=0 OR url LIKE '$url%')
ORDER BY 1 DESC
LIMIT $row_limit;
";
$hits=$wpdb->get_results($hit_query, OBJECT);
$date_query="
SELECT DISTINCT DATE_FORMAT(DATE_ADD(date,INTERVAL -5 HOUR),'%Y-%m-%d') as date
FROM {$wpdb->prefix}atb_pagehits
ORDER BY 1 DESC
";
$dates=$wpdb->get_results($date_query, OBJECT);
$user_query="
SELECT DISTINCT userid
,IFNULL(CONCAT(u.display_name,' (',user_email,')'),'Visitor') as user
FROM {$wpdb->prefix}atb_pagehits ph
LEFT JOIN {$wpdb->prefix}users u ON u.ID=ph.userid
ORDER BY user
";
$users=$wpdb->get_results($user_query, OBJECT);
$url_query="
SELECT * FROM (
SELECT DISTINCT url
FROM {$wpdb->prefix}atb_pagehits
WHERE LOCATE('?',url)=0
UNION
SELECT DISTINCT LEFT(url,INSTR(url,'?')-1) as url
FROM {$wpdb->prefix}atb_pagehits
)ph
WHERE LENGTH(url)>1
AND LOCATE('auto-draft',url)=0
AND LOCATE('checkout/order-',url)=0
ORDER BY 1;
";
$urls=$wpdb->get_results($url_query, OBJECT);
$row_count=$wpdb->num_rows;
if($row_count>0):
global $hit;?>