]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Favorite "aside"-sections moved, also small fixes left from before
authorMikael Nordfeldth <mmn@hethane.se>
Sat, 28 Jun 2014 14:09:46 +0000 (16:09 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Sat, 28 Jun 2014 14:09:46 +0000 (16:09 +0200)
Action now has 'isAction' which compares the loaded Action with names
of classes in an array (added without the 'Action') to its own type.

actions/all.php
actions/public.php
lib/action.php
lib/publicgroupnav.php
lib/uapplugin.php
plugins/Favorite/FavoritePlugin.php
plugins/Favorite/actions/favorited.php
plugins/Mapstraction/MapstractionPlugin.php
plugins/ModLog/ModLogPlugin.php
plugins/SiteNoticeInSidebar/SiteNoticeInSidebarPlugin.php
plugins/WikiHashtags/WikiHashtagsPlugin.php

index 2a3c0ef0b622950dc61b19a89eacc0357ed944b7..5933d009466047ff4e345133c6e5598cea985502 100644 (file)
@@ -196,8 +196,6 @@ class AllAction extends ProfileAction
         // XXX: make this a little more convenient
 
         if (!common_config('performance', 'high')) {
-            $pop = new PopularNoticeSection($this, $this->scoped);
-            $pop->show();
             $pop = new InboxTagCloudSection($this, $this->target);
             $pop->show();
         }
index 6ecdf2e50ab337bdcabd7364dbca35a09a2558d4..5e07a893ff645239ee4de3c0ccff7ff9d9a8c3df 100644 (file)
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
-
-require_once INSTALLDIR.'/lib/publicgroupnav.php';
-require_once INSTALLDIR.'/lib/noticelist.php';
-require_once INSTALLDIR.'/lib/feedlist.php';
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 // Farther than any human will go
 
@@ -261,8 +255,6 @@ class PublicAction extends Action
 
         $p = Profile::current();
 
-        $pop = new PopularNoticeSection($this, $p);
-        $pop->show();
         if (!common_config('performance', 'high')) {
             $cloud = new PublicTagCloudSection($this);
             $cloud->show();
index 518ab3fe8af371817a491cfc9331848500c0f559..360d342b2243b5cf981ed16a6d9d240d9afaaba4 100644 (file)
@@ -169,17 +169,36 @@ class Action extends HTMLOutputter // lawsuit
         return true;
     }
 
-    function updateScopedProfile() {
+    public function updateScopedProfile()
+    {
         $this->scoped = Profile::current();
         return $this->scoped;
     }
 
+    public function getScoped()
+    {
+        return ($this->scoped instanceof Profile) ? $this-scoped : null;
+    }
+
     // Must be run _after_ prepare
     public function getActionName()
     {
         return $this->action;
     }
 
+    public function isAction(array $names)
+    {
+        foreach ($names as $class) {
+            // PHP is case insensitive, and we have stuff like ApiUpperCaseAction,
+            // but we at least make a point out of wanting to do stuff case-sensitive.
+            $class = ucfirst($class) . 'Action';
+            if ($this instanceof $class) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     /**
      * Show page, a template method.
      *
index e7c61000f382b1e513e8096c517736db60a68b1f..69347bc0d4970ff99da8c5d2df9881b459496f81 100644 (file)
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
-
-require_once INSTALLDIR.'/lib/widget.php';
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 /**
  * Menu for public group of actions
index 9a6aeab6624eabee067f29c05914f6ab92a58cd4..dd72c8723d0224ab9c184d0f8f5416c7cb4226c3 100644 (file)
@@ -79,7 +79,7 @@ abstract class UAPPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-    function onStartShowAside($action)
+    function onStartShowAside(Action $action)
     {
         if (!is_null($this->mediumRectangle)) {
 
@@ -141,7 +141,7 @@ abstract class UAPPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-    function onStartShowSections($action)
+    function onStartShowSections(Action $action)
     {
         if (!is_null($this->rectangle)) {
             $action->elementStart('div',
@@ -161,7 +161,7 @@ abstract class UAPPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-    function onEndShowAside($action)
+    function onEndShowAside(Action $action)
     {
         if (!is_null($this->wideSkyscraper)) {
             $action->elementStart('div',
index 117f6cb46dc3f1ccca84b85b0eed77033cc5e66d..09a3f8641ce00d913539faa4b5d186faf17e37e0 100644 (file)
@@ -338,6 +338,18 @@ class FavoritePlugin extends ActivityHandlerPlugin
         }
     }
 
+    public function onEndShowSections(Action $action)
+    {
+        if (!$action->isAction(array('all', 'public'))) {
+            return true;
+        }
+
+        if (!common_config('performance', 'high')) {
+            $section = new PopularNoticeSection($action, $action->getScoped());
+            $section->show();
+        }
+    }
+
     public function onPluginVersion(array &$versions)
     {
         $versions[] = array('name' => 'Favorite',
index ff4a99cd60742bb234dd388a811e44db77787f92..849a1c8b07a5662799b33b84f2c7fa1ed25d6d14 100644 (file)
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
-
-require_once INSTALLDIR.'/lib/publicgroupnav.php';
-require_once INSTALLDIR.'/lib/noticelist.php';
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 /**
  * List of popular notices
index 2dcb30d676038b03744a6e7ced173e361738d47e..e2551de184ea4b04d8a7ec9148e3c6705b1cb333 100644 (file)
@@ -139,7 +139,7 @@ class MapstractionPlugin extends Plugin
         return true;
     }
 
-    function onEndShowSections($action)
+    function onEndShowSections(Action $action)
     {
         $actionName = $action->trimmed('action');
         // These are the ones that have maps on 'em
index f5373aa947663147513b97492898a9ef54568476..bbf283f8c41369858d763d8f734c5ce3cbb80895 100644 (file)
@@ -116,7 +116,7 @@ class ModLogPlugin extends Plugin
         return true;
     }
 
-    function onEndShowSections($action)
+    function onEndShowSections(Action $action)
     {
         if ($action->arg('action') != 'showstream') {
             return true;
index b487d867204a51414fb8a8ce9f7fa25ef0d14140..3131847349f80b9eb1f434001ab47b4bfa73c0d1 100644 (file)
@@ -60,7 +60,7 @@ class SiteNoticeInSidebarPlugin extends Plugin
         return false;
     }
 
-    function onStartShowSections($action)
+    function onStartShowSections(Action $action)
     {
         $text = common_config('site', 'notice');
         if (!empty($text)) {
index 52925d113af40c3bdefccd9ac4a966e72f46fb69..f0baa597ce8489d923b4be8960efe42595a26cae 100644 (file)
@@ -51,7 +51,7 @@ class WikiHashtagsPlugin extends Plugin
         parent::__construct();
     }
 
-    function onStartShowSections($action)
+    function onStartShowSections(Action $action)
     {
         $name = $action->trimmed('action');