]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/router.php
Merge branch '0.8.x' of git://gitorious.org/laconica/dev into links
[quix0rs-gnu-social.git] / lib / router.php
index 77794aaf70e190b8a61c443b88287da22ae857b6..635e1d77e09dddde427d2e9d1c8a971bc0683250 100644 (file)
@@ -68,8 +68,8 @@ class Router
         }
     }
 
-    function initialize() {
-
+    function initialize()
+    {
         $m = Net_URL_Mapper::getInstance();
 
         // In the "root"
@@ -107,6 +107,9 @@ class Router
             $m->connect('main/'.$a, array('action' => $a));
         }
 
+        $m->connect('main/sup/:seconds', array('action' => 'sup'),
+                    array('seconds' => '[0-9]+'));
+
         $m->connect('main/tagother/:id', array('action' => 'tagother'));
 
         // these take a code
@@ -128,7 +131,7 @@ class Router
         // settings
 
         foreach (array('profile', 'avatar', 'password', 'openid', 'im',
-                       'email', 'sms', 'twitter', 'other') as $s) {
+                       'email', 'sms', 'twitter', 'design', 'other') as $s) {
             $m->connect('settings/'.$s, array('action' => $s.'settings'));
         }
 
@@ -136,14 +139,25 @@ class Router
 
         foreach (array('group', 'people', 'notice') as $s) {
             $m->connect('search/'.$s, array('action' => $s.'search'));
-            $m->connect('search/'.$s.'?q=:q', array('action' => $s.'search'),array('q' => '.+'));
+            $m->connect('search/'.$s.'?q=:q',
+                        array('action' => $s.'search'),
+                        array('q' => '.+'));
         }
 
         // The second of these is needed to make the link work correctly
         // when inserted into the page. The first is needed to match the
         // route on the way in. Seems to be another Net_URL_Mapper bug to me.
         $m->connect('search/notice/rss', array('action' => 'noticesearchrss'));
-        $m->connect('search/notice/rss?q=:q', array('action' => 'noticesearchrss'),array('q' => '.+'));
+        $m->connect('search/notice/rss?q=:q', array('action' => 'noticesearchrss'),
+                    array('q' => '.+'));
+
+        $m->connect('attachment/:attachment/ajax',
+                    array('action' => 'attachment_ajax'),
+                    array('notice' => '[0-9]+'));
+
+        $m->connect('attachment/:attachment',
+                    array('action' => 'attachment'),
+                    array('notice' => '[0-9]+'));
 
         // notice
 
@@ -151,6 +165,12 @@ class Router
         $m->connect('notice/new?replyto=:replyto',
                     array('action' => 'newnotice'),
                     array('replyto' => '[A-Za-z0-9_-]+'));
+        $m->connect('notice/:notice/attachments/ajax',
+                    array('action' => 'attachments_ajax'),
+                    array('notice' => '[0-9]+'));
+        $m->connect('notice/:notice/attachments',
+                    array('action' => 'attachments'),
+                    array('notice' => '[0-9]+'));
         $m->connect('notice/:notice',
                     array('action' => 'shownotice'),
                     array('notice' => '[0-9]+'));
@@ -159,6 +179,12 @@ class Router
                     array('action' => 'deletenotice'),
                     array('notice' => '[0-9]+'));
 
+        // conversation
+
+        $m->connect('conversation/:id',
+                    array('action' => 'conversation'),
+                    array('id' => '[0-9]+'));
+
         $m->connect('message/new', array('action' => 'newmessage'));
         $m->connect('message/new?to=:to', array('action' => 'newmessage'), array('to' => '[A-Za-z0-9_-]+'));
         $m->connect('message/:message',
@@ -225,12 +251,12 @@ class Router
         $m->connect('api/statuses/:method',
                     array('action' => 'api',
                           'apiaction' => 'statuses'),
-                    array('method' => '(public_timeline|friends_timeline|user_timeline|update|replies|friends|followers|featured)(\.(atom|rss|xml|json))?'));
+                    array('method' => '(public_timeline|friends_timeline|user_timeline|update|replies|mentions|friends|followers|featured)(\.(atom|rss|xml|json))?'));
 
         $m->connect('api/statuses/:method/:argument',
                     array('action' => 'api',
                           'apiaction' => 'statuses'),
-                    array('method' => '(user_timeline|friends_timeline|replies|show|destroy|friends|followers)'));
+                    array('method' => '(user_timeline|friends_timeline|replies|mentions|show|destroy|friends|followers)'));
 
         // users
 
@@ -263,8 +289,8 @@ class Router
         foreach (array('xml', 'json', 'rss', 'atom') as $e) {
             $m->connect('api/direct_messages/sent.'.$e,
                         array('action' => 'api',
-                        'apiaction' => 'direct_messages',
-                        'method' => 'sent.'.$e));
+                              'apiaction' => 'direct_messages',
+                              'method' => 'sent.'.$e));
         }
 
         $m->connect('api/direct_messages/destroy/:argument',
@@ -328,9 +354,9 @@ class Router
 
         foreach (array('xml', 'json', 'rss', 'atom') as $e) {
             $m->connect('api/favorites.'.$e,
-                array('action' => 'api',
-                      'apiaction' => 'favorites',
-                      'method' => 'favorites.'.$e));
+                        array('action' => 'api',
+                              'apiaction' => 'favorites',
+                              'method' => 'favorites.'.$e));
         }
 
         // notifications
@@ -415,7 +441,7 @@ class Router
             $match = $this->m->match($path);
         } catch (Net_URL_Mapper_InvalidException $e) {
             common_log(LOG_ERR, "Problem getting route for $path - " .
-                $e->getMessage());
+                       $e->getMessage());
             $cac = new ClientErrorAction("Page not found.", 404);
             $cac->showPage();
         }
@@ -438,10 +464,11 @@ class Router
         // Due to a bug in the Net_URL_Mapper code, the returned URL may
         // contain a malformed query of the form ?p1=v1?p2=v2?p3=v3. We
         // repair that here rather than modifying the upstream code...
-        $qpos = strpos($url,'?');
+
+        $qpos = strpos($url, '?');
         if ($qpos !== false) {
             $url = substr($url, 0, $qpos+1) .
-                     str_replace('?', '&', substr($url, $qpos+1));
+              str_replace('?', '&', substr($url, $qpos+1));
         }
         return $url;
     }