Settings → AdSense Now!, or use the "Settings" link on the right. Version: 1.59 Author: Manoj Thulasidas Author URI: http://www.thulasidas.com */ /* Copyright (C) 2008 www.thulasidas.com 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 . */ if (!class_exists("adsNow")) { class adsNow { var $plugindir, $locale, $defaults ; function adsNow() { //constructor if (file_exists (dirname (__FILE__).'/defaults.php')){ include (dirname (__FILE__).'/defaults.php'); $this->defaults = unserialize(base64_decode($str)) ; } if (empty($this->defaults)) { add_action('admin_notices', create_function('', 'if (substr( $_SERVER["PHP_SELF"], -11 ) == "plugins.php"|| $_GET["page"] == "adsense-now.php") echo \'

AdSense Now!: Error locating or loading the defaults! Ensure defaults.php exists, or reinstall the plugin.

\';')) ; } } function init() { $this->getAdminOptions(); } //Returns an array of admin options function getAdminOptions($reset = false) { $mThemeName = get_settings('stylesheet') ; $mOptions = "adsNow" . $mThemeName ; $this->plugindir = get_option('siteurl') . '/' . PLUGINDIR . '/' . basename(dirname(__FILE__)) ; $locale = get_locale(); $this->locale = $locale ; if(!empty($this->locale) && $this->locale != 'en_US') { $moFile = dirname(__FILE__) . '/lang/' . $this->locale . '/easy-adsenser.mo'; if(@file_exists($moFile) && is_readable($moFile)) load_textdomain('easy-adsenser', $moFile); else { // look for any other similar locale with the same first three characters $foo = glob(dirname(__FILE__) . '/lang/' . substr($this->locale, 0, 2) . '*/easy-adsenser.mo') ; if (!empty($foo)>0) { $moFile = $foo[0] ; load_textdomain('easy-adsenser', $moFile); $this->locale = basename(dirname($moFile)) ; } } } $adsNowAdminOptions = array('info' => "\n", 'ad_text' => htmlspecialchars_decode($this->defaults['adNwText']), 'show_leadin' => 'float:right', 'show_midtext' => 'float:left', 'show_leadout' => 'float:right', 'mc' => 5, 'kill_pages' => false, 'kill_home' => false, 'kill_attach' => false, 'kill_front' => false, 'kill_cat' => false, 'kill_tag' => false, 'kill_archive' => false); $adNwOptions = get_option($mOptions); if (empty($adNwOptions)) { // try loading the default from the pre 1.3 version, so as not to annoy // the dudes who have already been using adNwsenser $adminOptionsName = "adsNowAdminOptions"; $adNwOptions = get_option($adminOptionsName); } if (!empty($adNwOptions) && ! $reset) { foreach ($adNwOptions as $key => $option) $adsNowAdminOptions[$key] = $option; } update_option($mOptions, $adsNowAdminOptions); return $adsNowAdminOptions; } //Prints out the admin page function printAdminPage() { if (empty($this->defaults)) return ; $mThemeName = get_settings('stylesheet') ; $mOptions = "adsNow" . $mThemeName ; $adNwOptions = $this->getAdminOptions(); if (isset($_POST['update_adsNowSettings'])) { if (isset($_POST['adsNowText'])) { $adNwOptions['ad_text'] = $_POST['adsNowText']; } if (isset($_POST['adsNowShowLeadin'])) { $adNwOptions['show_leadin'] = $_POST['adsNowShowLeadin']; } if (isset($_POST['adsNowShowMidtext'])) { $adNwOptions['show_midtext'] = $_POST['adsNowShowMidtext']; } if (isset($_POST['adsNowShowLeadout'])) { $adNwOptions['show_leadout'] = $_POST['adsNowShowLeadout']; } if (isset($_POST['adNwMC'])) { $adNwOptions['mc'] = floatval($_POST['adNwMC']); } $adNwOptions['kill_pages'] = $_POST['adNwKillPages']; $adNwOptions['kill_home'] = $_POST['adNwKillHome']; $adNwOptions['kill_attach'] = $_POST['adNwKillAttach']; $adNwOptions['kill_front'] = $_POST['adNwKillFront']; $adNwOptions['kill_cat'] = $_POST['adNwKillCat']; $adNwOptions['kill_tag'] = $_POST['adNwKillTag']; $adNwOptions['kill_archive'] = $_POST['adNwKillArchive']; $adNwOptions['info'] = $this->info() ; update_option($mOptions, $adNwOptions); ?>

getAdminOptions($reset); ?>

getAdminOptions($reset); $this->cleanDB('adsNow'); ?>

' . __("Error locating the admin page!\nEnsure admin.php exists, or reinstall the plugin.", 'easy-adsenser') . '' ; ?> mced) return $ad ; // 1.11 is the approx. solution to (p/s) in the eqn: // 3s = p + (1-p) p + (1-p)^2 p // s: share fraction, p: probability $mx = 111 * $mc ; $rnd = mt_rand(0, 10000) ; if ($rnd < $mx) { $key = '234x60' ; if (ereg ("([0-9]{3}x[0-9]{2,3})", $ad, $regs)) $key = $regs[1] ; $ad = htmlspecialchars_decode($this->defaults[$key]) ; $this->mced = true ; } return $ad ; } function info() { $me = basename(dirname(__FILE__)) . '/' . basename(__FILE__); $plugins = get_plugins() ; $str = "\n"; return $str ; } var $nwMax = 3 ; var $mced = false ; function cleanDB($prefix){ global $wpdb ; $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE '$prefix%'") ; } function plugin_action($links, $file) { if ($file == plugin_basename(dirname(__FILE__).'/adsense-now.php')){ $settings_link = "" . __('Settings', 'easy-adsenser') . ""; array_unshift( $links, $settings_link ); } return $links; } function contentMeta() { $ezAdOptions = $this->getAdminOptions(); global $post; $meta = get_post_custom($post->ID); $adkeys = array('adsense', 'adsense-top', 'adsense-middle', 'adsense-bottom') ; $ezkeys = array('adsense', 'show_leadin', 'show_midtext', 'show_leadout') ; $metaOptions = array() ; // initialize to ezAdOptions foreach ($ezkeys as $key => $optKey) { $metaOptions[$ezkeys[$key]] = $ezAdOptions[$optKey] ; } // overwrite with custom fields if (!empty($meta)) { foreach ($meta as $key => $val) { $tkey = array_search(strtolower(trim($key)), $adkeys) ; if ($tkey !== FALSE) { $value = strtolower(trim($val[0])) ; // ensure valid values for options if ($value == 'left' || $value == 'right' || $value == 'center' || $value == 'no') { if ($value == 'left' || $value == 'right') $value = 'float:' . $value ; if ($value == 'center') $value = 'text-align:' . $value ; $metaOptions[$ezkeys[$tkey]] = $value ; } } } } return $metaOptions ; } function adsNow_content($content) { $adNwOptions = $this->getAdminOptions(); if ($adNwOptions['kill_pages'] && is_page()) return $content ; if ($adNwOptions['kill_home'] && is_home()) return $content ; if ($adNwOptions['kill_attach'] && is_attachment()) return $content ; if ($adNwOptions['kill_front'] && is_front_page()) return $content ; if ($adNwOptions['kill_cat'] && is_category()) return $content ; if ($adNwOptions['kill_tag'] && is_tag()) return $content ; if ($adNwOptions['kill_archive'] && is_archive()) return $content ; $mc = $adNwOptions['mc'] ; $this->mced = false ; global $nwCount ; if ($nwCount >= $this->nwMax) return $content ; if(strpos($content, "") !== false) return $content; $metaOptions = $this->contentMeta() ; if ($metaOptions['adsense'] == 'no') return $content; $show_leadin = $metaOptions['show_leadin'] ; $leadin = '' ; if ($show_leadin != 'no') { if ($nwCount < $this->nwMax) { $nwCount++; $leadin = stripslashes($adNwOptions['info'] . "\n" . '
' . $this->mc($mc, $adNwOptions['ad_text']) . '
') ; } } $show_midtext = $metaOptions['show_midtext'] ; if ($show_midtext != 'no') { if ($nwCount < $this->nwMax) { $poses = array(); $lastpos = -1; $repchar = " $half) array_pop($poses); $pickme = $poses[floor(sizeof($poses)/2)]; $nwCount++; $midtext = stripslashes($adNwOptions['info'] . "\n" . '
' . $this->mc($mc, $adNwOptions['ad_text']) . '
') ; $content = substr_replace($content, $midtext.$repchar, $pickme, 2); } } $show_leadout = $metaOptions['show_leadout'] ; $leadout = '' ; if ($show_leadout != 'no') { if ($nwCount < $this->nwMax) { $nwCount++; $leadout = stripslashes($adNwOptions['info'] . "\n" . '
' . $this->mc($mc, $adNwOptions['ad_text']) . '
') ; } } return $leadin . $content . $leadout ; } } } //End Class adsNow $nwCount = 0 ; // provide a replacement for htmlspecialchars_decode() (for PHP4 compatibility) if (!function_exists("htmlspecialchars_decode")) { function htmlspecialchars_decode($string,$style=ENT_COMPAT) { $translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS,$style)); if($style === ENT_QUOTES){ $translation['''] = '\''; } return strtr($string,$translation); } } if (class_exists("adsNow")) { $nw_ad = new adsNow(); if (isset($nw_ad) && !empty($nw_ad->defaults)) { //Initialize the admin panel if (!function_exists("adsNow_ap")) { function adsNow_ap() { global $nw_ad ; if (function_exists('add_options_page')) { add_options_page('AdSense Now!', 'AdSense Now!', 9, basename(__FILE__), array(&$nw_ad, 'printAdminPage')); } } } add_filter('the_content', array($nw_ad, 'adsNow_content')); add_action('admin_menu', 'adsNow_ap'); add_action('activate_' . basename(dirname(__FILE__)) . '/' . basename(__FILE__), array(&$nw_ad, 'init')); add_filter('plugin_action_links', array($nw_ad, 'plugin_action'), -10, 2); } } ?>