]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Adsense/AdsensePlugin.php
Reduce tag margin in bookmark notice
[quix0rs-gnu-social.git] / plugins / Adsense / AdsensePlugin.php
index ab2b9a6fb3b417dd8fca6d6c3bb78ee925f5d24f..742e7bf3666ffd9619567c330a19fab9f6de2ba3 100644 (file)
@@ -77,12 +77,25 @@ if (!defined('STATUSNET')) {
  *
  * @seeAlso  UAPPlugin
  */
-
 class AdsensePlugin extends UAPPlugin
 {
     public $adScript = 'http://pagead2.googlesyndication.com/pagead/show_ads.js';
     public $client   = null;
 
+    function initialize()
+    {
+        parent::initialize();
+
+        // A little bit of chicanery so we avoid overwriting values that
+        // are passed in with the constructor
+        foreach (array('mediumRectangle', 'rectangle', 'leaderboard', 'wideSkyscraper', 'adScript', 'client') as $setting) {
+            $value = common_config('adsense', strtolower($setting));
+            if (!empty($value)) { // not found
+                $this->$setting = $value;
+            }
+        }
+    }
+
     /**
      * Show a medium rectangle 'ad'
      *
@@ -90,7 +103,6 @@ class AdsensePlugin extends UAPPlugin
      *
      * @return void
      */
-
     protected function showMediumRectangle($action)
     {
         $this->showAdsenseCode($action, 300, 250, $this->mediumRectangle);
@@ -103,7 +115,6 @@ class AdsensePlugin extends UAPPlugin
      *
      * @return void
      */
-
     protected function showRectangle($action)
     {
         $this->showAdsenseCode($action, 180, 150, $this->rectangle);
@@ -116,7 +127,6 @@ class AdsensePlugin extends UAPPlugin
      *
      * @return void
      */
-
     protected function showWideSkyscraper($action)
     {
         $this->showAdsenseCode($action, 160, 600, $this->wideSkyscraper);
@@ -129,7 +139,6 @@ class AdsensePlugin extends UAPPlugin
      *
      * @return void
      */
-
     protected function showLeaderboard($action)
     {
         $this->showAdsenseCode($action, 728, 90, $this->leaderboard);
@@ -145,7 +154,6 @@ class AdsensePlugin extends UAPPlugin
      *
      * @return void
      */
-
     protected function showAdsenseCode($action, $width, $height, $slot)
     {
         $code  = 'google_ad_client = "'.$this->client.'"; ';
@@ -157,4 +165,35 @@ class AdsensePlugin extends UAPPlugin
 
         $action->script($this->adScript);
     }
-}
\ No newline at end of file
+
+    function onRouterInitialized($m)
+    {
+        $m->connect('panel/adsense',
+                    array('action' => 'adsenseadminpanel'));
+
+        return true;
+    }
+
+    function onEndAdminPanelNav($menu) {
+        if (AdminPanelAction::canAdmin('adsense')) {
+            // TRANS: Menu item title/tooltip
+            $menu_title = _m('AdSense configuration');
+            // TRANS: Menu item for site administration
+            $menu->out->menuItem(common_local_url('adsenseadminpanel'), _m('MENU','AdSense'),
+                                 $menu_title, $action_name == 'adsenseadminpanel', 'nav_adsense_admin_panel');
+        }
+        return true;
+    }
+
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'BlankAdPlugin',
+                            'version' => GNUSOCIAL_VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:Adsense',
+                            'rawdescription' =>
+                            // TRANS: Plugin description.
+                            _m('Plugin to add Google AdSense to StatusNet sites.'));
+        return true;
+    }
+}