prefix . "wp125_ads"; $thead = $wpdb->get_row($wpdb->prepare( "SELECT target FROM {$adtable_name} WHERE id = %d", $theid )); $theid = $wpdb->escape($theid); $update = "UPDATE ". $adtable_name ." SET clicks=clicks+1 WHERE id='$theid'"; $results = $wpdb->query( $update ); header("Location: $thead->target"); exit; } } //Stylesheet function wp125_stylesheet() { if (get_option("wp125_disable_default_style")=='') { wp_register_style('wp125style', wp125_get_plugin_dir('url').'/wp125.css'); wp_enqueue_style('wp125style'); } } add_action('wp_enqueue_scripts', 'wp125_stylesheet'); //Installer function wp125_install () { require_once(dirname(__FILE__).'/installer.php'); } register_activation_hook(__FILE__,'wp125_install'); //Create Widget function wp125_create_ad_widget() { register_widget('WP125_Widget'); } //Add the Admin Menus if (is_admin()) { function wp125_add_admin_menu() { global $wp125_edit; // make it global so we can read from wp125_admin_styles() load_plugin_textdomain('wp125', PLUGINDIR.'/'.dirname(plugin_basename(__FILE__)).'/translations', dirname(plugin_basename(__FILE__)).'/translations'); add_menu_page(__("125x125 Ads", 'wp125'), __("Ads", 'wp125'), MANAGEMENT_PERMISSION, __FILE__, "wp125_write_managemenu"); add_submenu_page(__FILE__, __("Manage 125x125 Ads", 'wp125'), __("Manage", 'wp125'), MANAGEMENT_PERMISSION, __FILE__, "wp125_write_managemenu"); $wp125_edit = add_submenu_page(__FILE__, __("Add/Edit 125x125 Ads", 'wp125'), __("Add/Edit", 'wp125'), MANAGEMENT_PERMISSION, 'wp125_addedit', "wp125_write_addeditmenu"); add_submenu_page(__FILE__, __("125x125 Ad Settings", 'wp125'), __("Settings", 'wp125'), MANAGEMENT_PERMISSION, 'wp125_settings', "wp125_write_settingsmenu"); } //Include menus require_once(dirname(__FILE__).'/adminmenus.php'); } //Check Ad Date, and deactivate if the time is up function wp125_CheckAdDate($thedate, $theid, $pre_exp_email) { global $wpdb; $adtable_name = $wpdb->prefix . "wp125_ads"; if ($thedate!='00/00/0000') { $today = strtotime(date('m').'/'.date('d').'/'.date('Y')); $thedefdate = $thedate; $thedate = strtotime($thedate); if ($today > $thedate) { $updatedb = "UPDATE $adtable_name SET status='0' AND pre_exp_email='0' WHERE id='$theid'"; $results = $wpdb->query($updatedb); sendExpirationEmail($theid); } $dayssetting = get_option("wp125_daysbeforeexp"); if ( strtotime(date('m').'/'.date('d').'/'.date('Y')) > strtotime($thedefdate." - $dayssetting days") AND $dayssetting>0 AND $pre_exp_email!=1 ) { sendPreExpirationEmail($theid); $updatedb = "UPDATE $adtable_name SET pre_exp_email='1' WHERE id='$theid'"; $results = $wpdb->query($updatedb); } return; } else { return; } } function wp125_task_check_ad_expiry() { global $wpdb; $adtable_name = $wpdb->prefix . "wp125_ads"; $ads = $wpdb->get_results("SELECT * FROM $adtable_name WHERE status = '1'"); if ($ads) { foreach ($ads as $key => $ad) { wp125_CheckAdDate($ad->end_date, $ad->id, $ad->pre_exp_email); } } } //Write the Ads function wp125_write_ads($exclude="0") { global $wpdb; if ($exclude != "0") { $exclude = implode(",", $exclude); } $setting_ad_orientation = get_option("wp125_ad_orientation"); $setting_num_slots = get_option("wp125_num_slots"); $setting_ad_order = get_option("wp125_ad_order"); $setting_buyad_url = get_option("wp125_buyad_url"); $setting_defaultad = get_option("wp125_defaultad"); $adtable_name = $wpdb->prefix . "wp125_ads"; if (!defined('ADLINK_EXTRA')) { define("ADLINK_EXTRA", ""); } if ($setting_ad_order == 'random') { $theorder = 'RAND() LIMIT '.$setting_num_slots; } else { $theorder = 'slot ASC'; } $exclude_sql = "AND slot NOT IN ($exclude)"; $theads = $wpdb->get_results("SELECT * FROM $adtable_name WHERE status = '1' $exclude_sql ORDER BY $theorder", ARRAY_A); if ($setting_ad_orientation=='1c') { echo '
'."\n"; $arraycount = 0; if (!empty($theads)) { foreach ($theads as $thead){ $theslot = $thead['slot']; $adguidearray[$theslot] = $thead; $arraycount++; } if ($setting_ad_order == 'random') { srand((float)microtime() * 1000000); shuffle($adguidearray); $adguidearray_shufflefix = $adguidearray[0]; $adguidearray[0]=''; $adguidearray[]=$adguidearray_shufflefix; } } for ($curslot=1; $curslot <= $setting_num_slots; $curslot++) { $altclass = ( ' odd' != $altclass ) ? ' odd' : ' even'; if (isset($adguidearray[$curslot])) { if ($adguidearray[$curslot]['clicks'] != -1) { $linkurl = get_option('blogurl').'index.php?adclick='.$adguidearray[$curslot]['id']; } else { $linkurl = $adguidearray[$curslot]['target']; } echo '
'.$adguidearray[$curslot]['name'].'
'."\n"; } else { echo '
'."\n"; } } echo "
\n"; } if ($setting_ad_orientation=='2c') { echo '
'."\n"; $arraycount = 0; if (!empty($theads)) { foreach ($theads as $thead){ $theslot = $thead['slot']; $adguidearray[$theslot] = $thead; $arraycount++; } if ($setting_ad_order == 'random') { srand((float)microtime() * 1000000); shuffle($adguidearray); $adguidearray_shufflefix = $adguidearray[0]; $adguidearray[0]=''; $adguidearray[]=$adguidearray_shufflefix; } } for ($curslot=1; $curslot <= $setting_num_slots; $curslot++) { $altclass = ( ' odd' != $altclass ) ? ' odd' : ' even'; if (isset($adguidearray[$curslot])) { if ($adguidearray[$curslot]['clicks'] != -1) { $linkurl = get_option('blogurl').'index.php?adclick='.$adguidearray[$curslot]['id']; } else { $linkurl = $adguidearray[$curslot]['target']; } echo '
'.$adguidearray[$curslot]['name'].'
'."\n"; } else { echo '
'."\n"; } } echo "
\n"; } } function wp125_single_ad($theslot) { global $wpdb; if (!defined('ADLINK_EXTRA')) { define("ADLINK_EXTRA", ""); } $adtable_name = $wpdb->prefix . "wp125_ads"; $thead = $wpdb->get_row("SELECT * FROM $adtable_name WHERE slot = '$theslot' AND status = '1' ORDER BY id DESC", OBJECT); if ($thead) { if ($thead->clicks != -1) { $linkurl = get_option('blogurl').'index.php?adclick='.$thead->id; } else { $linkurl = $thead->target; } echo ''.$thead->name.''; } else { echo 'Your Ad Here'; } } //Return path to plugin directory (url/path) function wp125_get_plugin_dir($type) { if ( !defined('WP_CONTENT_URL') ) define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content'); if ( !defined('WP_CONTENT_DIR') ) define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); if ($type=='path') { return WP_CONTENT_DIR.'/plugins/'.plugin_basename(dirname(__FILE__)); } else { return WP_CONTENT_URL.'/plugins/'.plugin_basename(dirname(__FILE__)); } } //Send email alert to admin when an ad expires function sendExpirationEmail($theid) { global $wpdb; $adtable_name = $wpdb->prefix . "wp125_ads"; $thead = $wpdb->get_row("SELECT * FROM $adtable_name WHERE id='$theid'", OBJECT); if (get_option('wp125_emailonexp')!='') { $theblog = get_option('blogname'); $from = get_option('admin_email'); $message = "One of the advertisements on $theblog has expired.\n\nAD NAME: ".$thead->name."\nAD URL: ".$thead->target."\nSTART DATE: ".$thead->start_date."\nEND DATE: ".$thead->end_date."\n\nFor more information, and to manage your ads, please log in to your WordPress administration.\n\n\n*** Powered by WordPress and WP125 ***"; $headers = "From: $from\r\nReply-To: $from"; $mail_sent = @mail(get_option('wp125_emailonexp'), "An ad on your blog has expired", $message, $headers); } return; } //Handle pre-expiration emails function sendPreExpirationEmail($theid) { global $wpdb; $adtable_name = $wpdb->prefix . "wp125_ads"; $thead = $wpdb->get_row("SELECT * FROM $adtable_name WHERE id='$theid'", OBJECT); if (get_option('wp125_emailonexp')!='') { $theblog = get_option('blogname'); $from = get_option('admin_email'); $message = "One of the advertisements on $theblog will be expiring soon.\n\nAD NAME: ".$thead->name."\nAD URL: ".$thead->target."\nSTART DATE: ".$thead->start_date."\nEND DATE: ".$thead->end_date."\n\nFor more information, and to manage your ads, please log in to your WordPress administration.\n\n\n*** Powered by WordPress and WP125 ***"; $headers = "From: $from\r\nReply-To: $from"; $mail_sent = @mail(get_option('wp125_emailonexp'), "An ad on your blog expires soon", $message, $headers); } return; } function wp125_add_menu_favorite($actions) { $actions['admin.php?page=wp125/wp125.php'] = array('Manage Ads', 'manage_options'); return $actions; } add_filter('favorite_actions', 'wp125_add_menu_favorite'); //Favorites Menu //Hooks add_action("widgets_init", "wp125_create_ad_widget"); //Create the Widget if (is_admin()) { add_action('admin_menu', 'wp125_add_admin_menu'); } //Admin pages if (!wp_next_scheduled('wp125classic_cron_ad_expiry')) { wp_schedule_event(time(), 'twicedaily', 'wp125classic_cron_ad_expiry'); } add_action('wp125classic_cron_ad_expiry', 'wp125_task_check_ad_expiry'); /* Copyright 2008 Matt Harzewski This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ ?>