X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Frouter.php;h=5a51f3d7d425bb54d02a48978fb73d79c4888b23;hb=8933022edcf4851ac8feb08aca9de4a4fbabc1df;hp=ca8daf5a906f65744ace2d77d8bbea7c1850e5c3;hpb=5bea746fa81d70335717f592fadb80f3892f7d73;p=quix0rs-gnu-social.git diff --git a/lib/router.php b/lib/router.php index ca8daf5a90..5a51f3d7d4 100644 --- a/lib/router.php +++ b/lib/router.php @@ -27,9 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} +if (!defined('GNUSOCIAL')) { exit(1); } /** * URL Router @@ -108,6 +106,11 @@ class Router if (Event::handle('StartInitializeRouter', array(&$m))) { + // top of the menu hierarchy, sometimes "Home" + $m->connect('', array('action' => 'top')); + + // public endpoints + $m->connect('robots.txt', array('action' => 'robotstxt')); $m->connect('opensearch/people', array('action' => 'opensearch', @@ -156,13 +159,13 @@ class Router 'deleteaccount', 'restoreaccount', 'top', + 'public', ); foreach ($main as $a) { $m->connect('main/'.$a, array('action' => $a)); } - $m->connect('main/public', array('action' => 'public')); $m->connect('main/all', array('action' => 'networkpublic')); $m->connect('main/tagprofile/:id', array('action' => 'tagprofile'), @@ -239,12 +242,10 @@ class Router array('action' => 'shownotice'), array('notice' => '[0-9]+')); - $m->connect('notice/delete/:notice', + $m->connect('notice/:notice/delete', array('action' => 'deletenotice'), array('notice' => '[0-9]+')); - $m->connect('notice/delete', array('action' => 'deletenotice')); - // conversation $m->connect('conversation/:id', @@ -763,6 +764,13 @@ class Router 'api/statuses/update_with_media.json', array('action' => 'ApiMediaUpload') ); + // Twitter Media upload API v1.1 + $m->connect( + 'api/media/upload.:format', + array('action' => 'ApiMediaUpload', + 'format' => '(xml|json)', + ) + ); // search $m->connect('api/search.atom', array('action' => 'ApiSearchAtom')); @@ -824,7 +832,7 @@ class Router foreach (array('subscriptions', 'subscribers', 'all', 'foaf', 'replies', - 'microsummary') as $a) { + ) as $a) { $m->connect($a, array('action' => $a, 'nickname' => $nickname)); @@ -875,9 +883,6 @@ class Router array('action' => 'rsd', 'nickname' => $nickname)); - $m->connect('', - array('action' => 'startpage')); - // peopletags $m->connect('peopletags', @@ -921,6 +926,7 @@ class Router $m->connect('all/:tag', array('action' => 'showprofiletag', + 'nickname' => $nickname, 'tag' => self::REGEX_TAG)); foreach (array('subscriptions', 'subscribers') as $a) { @@ -930,9 +936,6 @@ class Router } } - $m->connect('', array('action' => 'startpage')); - $m->connect('main/public', array('action' => 'public')); - $m->connect('main/all', array('action' => 'networkpublic')); $m->connect('rss', array('action' => 'publicrss')); $m->connect('featuredrss', array('action' => 'featuredrss')); $m->connect('featured/', array('action' => 'featured')); @@ -941,7 +944,7 @@ class Router foreach (array('subscriptions', 'subscribers', 'nudge', 'all', 'foaf', 'replies', - 'inbox', 'outbox', 'microsummary') as $a) { + 'inbox', 'outbox') as $a) { $m->connect(':nickname/'.$a, array('action' => $a), array('nickname' => Nickname::DISPLAY_FMT)); @@ -950,6 +953,13 @@ class Router array('action' => 'subqueue'), array('nickname' => Nickname::DISPLAY_FMT)); + // some targeted RSS 1.0 actions (extends TargetedRss10Action) + foreach (array('all', 'replies') as $a) { + $m->connect(':nickname/'.$a.'/rss', + array('action' => $a.'rss'), + array('nickname' => Nickname::DISPLAY_FMT)); + } + // people tags $m->connect(':nickname/peopletags', @@ -999,9 +1009,9 @@ class Router 'tagger_id' => '[0-9]+', 'id' => '[0-9]+')); - $m->connect(':tagger/all/:tag', - array('action' => 'showprofiletag', - 'tagger' => Nickname::DISPLAY_FMT, + $m->connect(':nickname/all/:tag', + array('action' => 'showprofiletag'), + array('nickname' => Nickname::DISPLAY_FMT, 'tag' => self::REGEX_TAG)); foreach (array('subscriptions', 'subscribers') as $a) { @@ -1017,12 +1027,6 @@ class Router array('nickname' => Nickname::DISPLAY_FMT)); } - foreach (array('all', 'replies') as $a) { - $m->connect(':nickname/'.$a.'/rss', - array('action' => $a.'rss'), - array('nickname' => Nickname::DISPLAY_FMT)); - } - $m->connect(':nickname/avatar', array('action' => 'avatarbynickname'), array('nickname' => Nickname::DISPLAY_FMT)); @@ -1097,16 +1101,12 @@ class Router function map($path) { try { - $match = $this->m->match($path); - } catch (Exception $e) { - common_log(LOG_ERR, "Problem getting route for $path - " . - $e->getMessage()); + return $this->m->match($path); + } catch (NoRouteMapException $e) { + common_debug($e->getMessage()); // TRANS: Client error on action trying to visit a non-existing page. - $cac = new ClientErrorAction(_('Page not found.'), 404); - $cac->showPage(); + throw new ClientException(_('Page not found.'), 404); } - - return $match; } function build($action, $args=null, $params=null, $fragment=null)