]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Directory/DirectoryPlugin.php
Put text content into Favorite activities/activityobjects
[quix0rs-gnu-social.git] / plugins / Directory / DirectoryPlugin.php
index 921de71a1a434d2323171d574536198e2f2c41d7..e061b89e467ea61215af4b70a4eeca880db0de76 100644 (file)
@@ -68,41 +68,6 @@ class DirectoryPlugin extends Plugin
         return true;
     }
 
-    /**
-     * Load related modules when needed
-     *
-     * @param string $cls Name of the class to be loaded
-     *
-     * @return boolean hook value; true means continue processing,
-     *         false means stop.
-     */
-    function onAutoload($cls)
-    {
-        // common_debug("class = $cls");
-
-        $dir = dirname(__FILE__);
-
-        switch ($cls)
-        {
-        case 'UserdirectoryAction':
-        case 'GroupdirectoryAction':
-            include_once $dir
-                . '/actions/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
-            return false;
-        case 'AlphaNav':
-            include_once $dir
-                . '/lib/' . strtolower($cls) . '.php';
-            return false;
-        case 'SortableSubscriptionList':
-        case 'SortableGroupList':
-            include_once $dir
-                . '/lib/' . strtolower($cls) . '.php';
-            return false;
-        default:
-            return true;
-        }
-    }
-
     /**
      * Map URLs to actions
      *
@@ -115,21 +80,25 @@ class DirectoryPlugin extends Plugin
     {
 
         $m->connect(
-            'directory/users',
+            'directory/users/:filter',
             array('action' => 'userdirectory'),
-            array('filter' => 'all')
+            array('filter' => '[0-9a-zA-Z]|(0-9)')
         );
 
         $m->connect(
-            'directory/users/:filter',
-            array('action' => 'userdirectory'),
-            array('filter' => '([0-9a-zA-Z_]{1,64}|0-9)')
+            'directory/users',
+            array('action' => 'userdirectory')
         );
 
         $m->connect(
             'groups/:filter',
             array('action' => 'groupdirectory'),
-            array('filter' => '([0-9a-zA-Z_]{1,64}|0-9)')
+            array('filter' => '[0-9a-zA-Z]|(0-9)')
+        );
+
+        $m->connect(
+            'groups',
+            array('action' => 'groupdirectory')
         );
 
         return true;
@@ -155,6 +124,9 @@ class DirectoryPlugin extends Plugin
         return true;
     }
 
+    // The following three function are to replace the existing groups
+    // list page with the directory plugin's group directory page
+
     /**
      * Hijack the mapping (Action -> URL) and return the URL to our
      * group directory page instead of the normal groups page
@@ -181,7 +153,7 @@ class DirectoryPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-    function onEndShowStatusNetStyles($action)
+    public function onEndShowStylesheets(Action $action)
     {
         if (in_array(
             $action->trimmed('action'),
@@ -193,6 +165,24 @@ class DirectoryPlugin extends Plugin
         return true;
     }
 
+    /**
+     * Fool the public nav into thinking it's on the regular
+     * group page when it's actually on our injected group
+     * directory page. This way "Groups" gets hilighted when
+     * when we're on the groups directory page.
+     *
+     * @param type $action the current action
+     *
+     * @return boolean hook flag
+     */
+    function onStartPublicGroupNav($action)
+    {
+        if ($action->trimmed('action') == 'groupdirectory') {
+            $action->actionName = 'groups';
+        }
+        return true;
+    }
+
     /**
      * Modify the public local nav to add a link to the user directory
      *
@@ -230,7 +220,7 @@ class DirectoryPlugin extends Plugin
     {
         $versions[] = array(
             'name' => 'Directory',
-            'version' => STATUSNET_VERSION,
+            'version' => GNUSOCIAL_VERSION,
             'author' => 'Zach Copley',
             'homepage' => 'http://status.net/wiki/Plugin:Directory',
             // TRANS: Plugin description.