prefix."ad_buttons";
$structure = "CREATE TABLE $table (
id INT(9) NOT NULL AUTO_INCREMENT,
ad_picture VARCHAR(100) NOT NULL,
ad_link VARCHAR(80) NOT NULL,
ad_text VARCHAR(80) NOT NULL,
ad_views INT(9) DEFAULT 0,
ad_clicks INT(9) DEFAULT 0,
ad_active TINYINT(1) NOT NULL DEFAULT 0,
UNIQUE KEY id (id)
);";
$wpdb->query($structure);
$wpdb->query("INSERT INTO $table(id, ad_picture, ad_link, ad_text, ad_views, ad_clicks, ad_active)
VALUES(1, 'http://blogio.net/ad_buttons_125.jpg', 'http://blogio.net/blog/wp-ad-plugin/', 'ads powered by Ad Buttons', 1, 0, 1)");
}
add_action('activate_ad-buttons/adbuttons.php', 'ad_buttons_install');
//check if user is a bot of some sort
function is_bot()
{
$bots = array('google','yahoo','msn','jeeves','lycos','ArchitectSpider','whatuseek','BSDSeek','BullsEye');
//takes the list above and returns (google)|(yahoo)|(msn)...
$regex = '('.implode($bots, ')|(').')';
//uses the generated regex above to see if those keywords are contained in the user agent variable
return eregi($regex, $_SERVER['HTTP_USER_AGENT']);
}
function ad_buttons()
{
global $wpdb;
$widget_adbuttons_cfg = array(
'ab_dspcnt' => '',
'ab_target' => '',
'ab_adsense' => '',
'ab_adsense_fixed' => '',
'ab_adsense_pos' => '',
'ab_adsense_pubid' => '',
'ab_adsense_channel' => '',
'ab_adsense_corners' => '',
'ab_adsense_col_border' => '',
'ab_adsense_col_title' => '',
'ab_adsense_col_bg' => '',
'ab_adsense_col_txt' => '',
'ab_adsense_col_url' => '',
'ab_width' => '',
'ab_padding' => ''
);
$widget_adbuttons_cfg = get_option('widget_adbuttons_cfg');
$wp_root = get_option('home');
if($widget_adbuttons_cfg['ab_adsense']){
$ab_adsense_ad = '
';
}
if($widget_adbuttons_cfg['ab_target'] == 'bnk'){
$target = " target=\"_blank\" ";
}
elseif($widget_adbuttons_cfg['ab_target'] == 'top'){
$target = " target=\"_top\" ";
}
elseif($widget_adbuttons_cfg['ab_target'] == 'non'){
$target = " ";
}
if($widget_adbuttons_cfg['ab_adsense']){
$ab_count = 1;
}
else {
$ab_count = 0;
}
echo'
';
echo '';
$results = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."ad_buttons WHERE ad_active = 1 ORDER BY RAND()");
foreach($results as $result){
if ($ab_count < $widget_adbuttons_cfg['ab_dspcnt']) {
if($widget_adbuttons_cfg['ab_adsense']){
if($widget_adbuttons_cfg['ab_adsense_pos']==$ab_count){
echo $ab_adsense_ad;
}
}
echo"
id\" $target title=\"$result->ad_text\">
ad_picture\" alt=\"$result->ad_text\" vspace=\"1\" hspace=\"1\" border=\"0\">";
$ab_count = $ab_count + 1;
// update view counter on the ad button
if(!is_bot()) {
$wpdb->query("UPDATE ".$wpdb->prefix."ad_buttons
SET ad_views = ad_views + 1 WHERE id = ".$result->id);
}
}
}
if($widget_adbuttons_cfg['ab_adsense']){
if($widget_adbuttons_cfg['ab_adsense_pos']==$ab_count){
echo $ab_adsense_ad;
}
}
echo '
';
}
// add rewrite rules to support click tracking
function ad_click_rewrite() {
global $wp_rewrite;
// add rewrite tokens
$recon = '%reconments%';
$wp_rewrite->add_rewrite_tag($recon, '([A-Za-z0-9_]*)', 'recommends=');
$keywords_structure = $wp_rewrite->root . "recommends/$recon/";
$keywords_rewrite = $wp_rewrite->generate_rewrite_rules($keywords_structure);
$wp_rewrite->rules = $keywords_rewrite + $wp_rewrite->rules;
return $wp_rewrite->rules;
}
add_action('generate_rewrite_rules', 'ad_click_rewrite');
function ad_buttons_settings()
{
global $wpdb;
include 'adbuttonsadmin.php';
}
function ad_buttons_stats()
{
global $wpdb;
include 'adbuttonsstats.php';
}
function ad_buttons_top()
{
global $wpdb;
include 'adbuttonstop.php';
}
function ad_buttons_act()
{
global $wpdb;
include 'adbuttonsact.php';
}
function ad_buttons_stats_actions()
{
add_menu_page('Ad Buttons', 'Ad Buttons', 9, __FILE__, 'ad_buttons_act', get_option('home').'/'.PLUGINDIR.'/'.dirname(plugin_basename(__FILE__)).'/ad_buttons_icon.png');
// Add a submenu to the custom top-level menu:
add_submenu_page(__FILE__, 'Ad Buttons Settings', 'Settings', 9, 'ad-buttons-settings', 'ad_buttons_settings');
}
add_action('admin_menu', 'ad_buttons_stats_actions');
// process ad clicks
function adbuttons_getclick()
{
global $wpdb;
if(isset($_GET['recommends'])) {
$ad_id = $_GET['recommends'];
if(is_numeric($ad_id)){
$results = $wpdb->get_results("SELECT ad_link FROM ".$wpdb->prefix."ad_buttons WHERE id = $ad_id LIMIT 1");
foreach($results as $result){
$send_to_url = $result->ad_link;
if(!is_bot()) {
$wpdb->query("UPDATE ".$wpdb->prefix."ad_buttons
SET ad_clicks = ad_clicks + 1 WHERE id = ".$ad_id);
}
//redirect
header("Location: ".$send_to_url);
exit(0);
}
}
}
}
// widget
function widget_init_adbuttons_widget() {
// Check for required functions
if (!function_exists('register_sidebar_widget'))
return;
function adbuttons_widget($args){
extract($args);
$options = get_option('widget_adbuttons_cfg');
$title = empty($options['title']) ? __('Sponsored Links') : $options['title'];
?>