]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Directory/DirectoryPlugin.php
Merge remote-tracking branch 'upstream/master' into social-master
[quix0rs-gnu-social.git] / plugins / Directory / DirectoryPlugin.php
index 5979bb0e806107cd49d59d6696d20389fac53730..d940b813db2f4ae6f02922e3ea9b542e8b3e49c0 100644 (file)
@@ -69,50 +69,30 @@ class DirectoryPlugin extends Plugin
     }
 
     /**
-     * Load related modules when needed
+     * Map URLs to actions
      *
-     * @param string $cls Name of the class to be loaded
+     * @param URLMapper $m path-to-action mapper
      *
      * @return boolean hook value; true means continue processing,
      *         false means stop.
      */
-    function onAutoload($cls)
+    public function onRouterInitialized(URLMapper $m)
     {
-        // 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;
-        }
-    }
+        $m->connect(
+            'directory/users/:filter/sort_by/:sort/reverse/:reverse',
+            array('action' => 'userdirectory'),
+            array('filter' => '[0-9a-zA-Z]|(0-9)'),
+            array('sort' => '[a-z]+'),
+            array('reverse' => '[0-9]')
+        );
 
-    /**
-     * Map URLs to actions
-     *
-     * @param Net_URL_Mapper $m path-to-action mapper
-     *
-     * @return boolean hook value; true means continue processing,
-     *         false means stop.
-     */
-    function onRouterInitialized($m)
-    {
+        $m->connect(
+            'directory/users/:filter/sort_by/:sort',
+            array('action' => 'userdirectory'),
+            array('filter' => '[0-9a-zA-Z]|(0-9)'),
+            array('sort' => '[a-z]+')
+        );
 
         $m->connect(
             'directory/users/:filter',
@@ -120,6 +100,19 @@ class DirectoryPlugin extends Plugin
             array('filter' => '[0-9a-zA-Z]|(0-9)')
         );
 
+        $m->connect(
+            'directory/users/sort_by/:sort/reverse/:reverse',
+            array('action' => 'userdirectory'),
+            array('sort' => '[a-z]+'),
+            array('reverse' => '[0-9]')
+        );
+
+        $m->connect(
+            'directory/users/sort_by/:sort',
+            array('action' => 'userdirectory'),
+            array('sort' => '[a-z]+')
+        );
+
         $m->connect(
             'directory/users',
             array('action' => 'userdirectory')
@@ -136,6 +129,11 @@ class DirectoryPlugin extends Plugin
             array('action' => 'groupdirectory')
         );
 
+        $m->connect(
+            'groups/all',
+            array('action' => 'groupdirectory')
+        );
+
         return true;
     }
 
@@ -188,7 +186,7 @@ class DirectoryPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-    function onEndShowStatusNetStyles($action)
+    public function onEndShowStylesheets(Action $action)
     {
         if (in_array(
             $action->trimmed('action'),
@@ -238,9 +236,9 @@ class DirectoryPlugin extends Plugin
         $nav->out->menuItem(
             common_local_url('userdirectory'),
             // TRANS: Menu item text for user directory.
-            _m('MENU','Directory'),
+            _m('MENU','People'),
             // TRANS: Menu item title for user directory.
-            _m('User Directory.'),
+            _m('People.'),
             $actionName == 'userdirectory',
             'nav_directory'
         );
@@ -251,11 +249,11 @@ class DirectoryPlugin extends Plugin
     /*
      * Version info
      */
-    function onPluginVersion(&$versions)
+    function onPluginVersion(array &$versions)
     {
         $versions[] = array(
             'name' => 'Directory',
-            'version' => STATUSNET_VERSION,
+            'version' => GNUSOCIAL_VERSION,
             'author' => 'Zach Copley',
             'homepage' => 'http://status.net/wiki/Plugin:Directory',
             // TRANS: Plugin description.