X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Frouter.php;h=19fb697a1c2a946f34ae31086fb0d41ef240097e;hb=34ad355cd71c465e91f845e532a07d796c0fbb34;hp=8798db89e0524748e2c0013414982c699aba2d78;hpb=fb406a81e2c2ab6c7a09a8ff009a692844f46ac5;p=quix0rs-gnu-social.git diff --git a/lib/router.php b/lib/router.php index 8798db89e0..19fb697a1c 100644 --- a/lib/router.php +++ b/lib/router.php @@ -34,7 +34,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { /** * URL Router * - * Cheap wrapper around Net_URL_Mapper + * Cheap wrapper around URLMapper * * @category URL * @package StatusNet @@ -143,7 +143,7 @@ class Router $main = array('login', 'logout', 'register', 'subscribe', 'unsubscribe', 'cancelsubscription', 'approvesub', 'confirmaddress', 'recoverpassword', - 'invite', 'favor', 'disfavor', 'sup', + 'invite', 'sup', 'block', 'unblock', 'subedit', 'groupblock', 'groupunblock', 'sandbox', 'unsandbox', @@ -156,6 +156,7 @@ class Router 'backupaccount', 'deleteaccount', 'restoreaccount', + 'top', ); foreach ($main as $a) { @@ -167,15 +168,8 @@ class Router $m->connect('main/tagprofile', array('action' => 'tagprofile')); - $m->connect('main/oembed', - array('action' => 'oembed')); - $m->connect('main/xrds', array('action' => 'publicxrds')); - $m->connect('.well-known/host-meta', - array('action' => 'hostmeta')); - $m->connect('main/xrd', - array('action' => 'userxrd')); // settings @@ -215,7 +209,7 @@ class Router // 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. + // route on the way in. Seems to be another URLMapper bug to me. $m->connect('search/notice/rss?q=:q', array('action' => 'noticesearchrss'), array('q' => '.+')); $m->connect('search/notice/rss', array('action' => 'noticesearchrss')); @@ -224,10 +218,6 @@ class Router array('action' => 'attachment'), array('attachment' => '[0-9]+')); - $m->connect('attachment/:attachment/ajax', - array('action' => 'attachment_ajax'), - array('attachment' => '[0-9]+')); - $m->connect('attachment/:attachment/thumbnail', array('action' => 'attachment_thumbnail'), array('attachment' => '[0-9]+')); @@ -243,10 +233,6 @@ class Router $m->connect('notice/new', array('action' => 'newnotice')); - $m->connect('notice/:notice/file', - array('action' => 'file'), - array('notice' => '[0-9]+')); - $m->connect('notice/:notice', array('action' => 'shownotice'), array('notice' => '[0-9]+')); @@ -257,16 +243,11 @@ class Router $m->connect('notice/delete', array('action' => 'deletenotice')); - $m->connect('bookmarklet/new', array('action' => 'bookmarklet')); - // conversation $m->connect('conversation/:id', array('action' => 'conversation'), array('id' => '[0-9]+')); - $m->connect('conversation/:id/replies', - array('action' => 'conversationreplies'), - array('id' => '[0-9]+')); $m->connect('message/new', array('action' => 'newmessage')); $m->connect('message/new?to=:to', array('action' => 'newmessage'), array('to' => Nickname::DISPLAY_FMT)); @@ -400,6 +381,15 @@ class Router $m->connect('api/statuses/replies.:format', array('action' => 'ApiTimelineMentions', 'format' => '(xml|json|rss|atom|as)')); + + $m->connect('api/statuses/mentions_timeline/:id.:format', + array('action' => 'ApiTimelineMentions', + 'id' => Nickname::INPUT_FMT, + 'format' => '(xml|json|rss|atom|as)')); + + $m->connect('api/statuses/mentions_timeline.:format', + array('action' => 'ApiTimelineMentions', + 'format' => '(xml|json|rss|atom|as)')); $m->connect('api/statuses/retweeted_by_me.:format', array('action' => 'ApiTimelineRetweetedByMe', @@ -463,6 +453,44 @@ class Router 'id' => '[0-9]+', 'format' => '(xml|json)')); + // START qvitter API additions + + $m->connect('api/attachment/:id.:format', + array('action' => 'ApiAttachment', + 'id' => '[0-9]+', + 'format' => '(xml|json)')); + + $m->connect('api/checkhub.:format', + array('action' => 'ApiCheckHub', + 'format' => '(xml|json)')); + + $m->connect('api/externalprofile/show.:format', + array('action' => 'ApiExternalProfileShow', + 'format' => '(xml|json)')); + + $m->connect('api/statusnet/groups/admins/:id.:format', + array('action' => 'ApiGroupAdmins', + 'id' => Nickname::INPUT_FMT, + 'format' => '(xml|json)')); + + $m->connect('api/account/update_link_color.:format', + array('action' => 'ApiAccountUpdateLinkColor', + 'format' => '(xml|json)')); + + $m->connect('api/account/update_background_color.:format', + array('action' => 'ApiAccountUpdateBackgroundColor', + 'format' => '(xml|json)')); + + $m->connect('api/account/register.:format', + array('action' => 'ApiAccountRegister', + 'format' => '(xml|json)')); + + $m->connect('api/check_nickname.:format', + array('action' => 'ApiCheckNickname', + 'format' => '(xml|json)')); + + // END qvitter API additions + // users $m->connect('api/users/show/:id.:format', @@ -562,26 +590,6 @@ class Router $m->connect('api/account/rate_limit_status.:format', array('action' => 'ApiAccountRateLimitStatus')); - // favorites - - $m->connect('api/favorites/:id.:format', - array('action' => 'ApiTimelineFavorites', - 'id' => Nickname::INPUT_FMT, - 'format' => '(xml|json|rss|atom|as)')); - - $m->connect('api/favorites.:format', - array('action' => 'ApiTimelineFavorites', - 'format' => '(xml|json|rss|atom|as)')); - - $m->connect('api/favorites/create/:id.:format', - array('action' => 'ApiFavoriteCreate', - 'id' => '[0-9]+', - 'format' => '(xml|json)')); - - $m->connect('api/favorites/destroy/:id.:format', - array('action' => 'ApiFavoriteDestroy', - 'id' => '[0-9]+', - 'format' => '(xml|json)')); // blocks $m->connect('api/blocks/create/:id.:format', @@ -611,21 +619,21 @@ class Router // statusnet $m->connect('api/statusnet/version.:format', - array('action' => 'ApiStatusnetVersion', + array('action' => 'ApiGNUsocialVersion', 'format' => '(xml|json)')); $m->connect('api/statusnet/config.:format', - array('action' => 'ApiStatusnetConfig', + array('action' => 'ApiGNUsocialConfig', 'format' => '(xml|json)')); - // For older methods, we provide "laconica" base action + // For our current software name, we provide "gnusocial" base action - $m->connect('api/laconica/version.:format', - array('action' => 'ApiStatusnetVersion', + $m->connect('api/gnusocial/version.:format', + array('action' => 'ApiGNUsocialVersion', 'format' => '(xml|json)')); - $m->connect('api/laconica/config.:format', - array('action' => 'ApiStatusnetConfig', + $m->connect('api/gnusocial/config.:format', + array('action' => 'ApiGNUsocialConfig', 'format' => '(xml|json)')); // Groups and tags are newer than 0.8.1 so no backward-compatibility @@ -650,11 +658,11 @@ class Router $m->connect('api/statusnet/groups/join/:id.:format', array('action' => 'ApiGroupJoin', + 'id' => Nickname::INPUT_FMT, 'format' => '(xml|json)')); $m->connect('api/statusnet/groups/join.:format', array('action' => 'ApiGroupJoin', - 'id' => Nickname::INPUT_FMT, 'format' => '(xml|json)')); $m->connect('api/statusnet/groups/leave/:id.:format', @@ -707,6 +715,9 @@ class Router 'format' => '(xml|json|rss|atom|as)')); // Lists (people tags) + $m->connect('api/lists/list.:format', + array('action' => 'ApiListSubscriptions', + 'format' => '(xml|json)')); $m->connect('api/lists/memberships.:format', array('action' => 'ApiListMemberships', @@ -776,6 +787,7 @@ class Router // Tags $m->connect('api/statusnet/tags/timeline/:tag.:format', array('action' => 'ApiTimelineTag', + 'tag' => self::REGEX_TAG, 'format' => '(xml|json|rss|atom|as)')); // media related @@ -783,6 +795,10 @@ class Router 'api/statusnet/media/upload', array('action' => 'ApiMediaUpload') ); + $m->connect( + 'api/statuses/update_with_media.json', + array('action' => 'ApiMediaUpload') + ); // search $m->connect('api/search.atom', array('action' => 'ApiSearchAtom')); @@ -790,23 +806,22 @@ class Router $m->connect('api/trends.json', array('action' => 'ApiTrends')); $m->connect('api/oauth/request_token', - array('action' => 'ApiOauthRequestToken')); + array('action' => 'ApiOAuthRequestToken')); $m->connect('api/oauth/access_token', - array('action' => 'ApiOauthAccessToken')); + array('action' => 'ApiOAuthAccessToken')); $m->connect('api/oauth/authorize', - array('action' => 'ApiOauthAuthorize')); + array('action' => 'ApiOAuthAuthorize')); // Admin $m->connect('panel/site', array('action' => 'siteadminpanel')); $m->connect('panel/user', array('action' => 'useradminpanel')); - $m->connect('panel/access', array('action' => 'accessadminpanel')); + $m->connect('panel/access', array('action' => 'accessadminpanel')); $m->connect('panel/paths', array('action' => 'pathsadminpanel')); $m->connect('panel/sessions', array('action' => 'sessionsadminpanel')); $m->connect('panel/sitenotice', array('action' => 'sitenoticeadminpanel')); - $m->connect('panel/snapshot', array('action' => 'snapshotadminpanel')); $m->connect('panel/license', array('action' => 'licenseadminpanel')); $m->connect('panel/plugins', array('action' => 'pluginsadminpanel')); @@ -868,20 +883,19 @@ class Router 'nickname' => $nickname)); } - foreach (array('all', 'replies', 'favorites') as $a) { + foreach (array('all', 'replies') as $a) { $m->connect($a.'/rss', array('action' => $a.'rss', 'nickname' => $nickname)); } - $m->connect('favorites', - array('action' => 'showfavorites', + $m->connect('avatar', + array('action' => 'avatarbynickname', 'nickname' => $nickname)); - $m->connect('avatar/:size', array('action' => 'avatarbynickname', 'nickname' => $nickname), - array('size' => '(original|96|48|24)')); + array('size' => '(|original|\d+)')); $m->connect('tag/:tag/rss', array('action' => 'userrss', @@ -955,11 +969,8 @@ class Router $m->connect('', array('action' => 'public')); $m->connect('rss', array('action' => 'publicrss')); $m->connect('featuredrss', array('action' => 'featuredrss')); - $m->connect('favoritedrss', array('action' => 'favoritedrss')); $m->connect('featured/', array('action' => 'featured')); $m->connect('featured', array('action' => 'featured')); - $m->connect('favorited/', array('action' => 'favorited')); - $m->connect('favorited', array('action' => 'favorited')); $m->connect('rsd.xml', array('action' => 'rsd')); foreach (array('subscriptions', 'subscribers', @@ -1040,19 +1051,18 @@ class Router array('nickname' => Nickname::DISPLAY_FMT)); } - foreach (array('all', 'replies', 'favorites') as $a) { + foreach (array('all', 'replies') as $a) { $m->connect(':nickname/'.$a.'/rss', array('action' => $a.'rss'), array('nickname' => Nickname::DISPLAY_FMT)); } - $m->connect(':nickname/favorites', - array('action' => 'showfavorites'), + $m->connect(':nickname/avatar', + array('action' => 'avatarbynickname'), array('nickname' => Nickname::DISPLAY_FMT)); - $m->connect(':nickname/avatar/:size', array('action' => 'avatarbynickname'), - array('size' => '(original|96|48|24)', + array('size' => '(|original|\d+)', 'nickname' => Nickname::DISPLAY_FMT)); $m->connect(':nickname/tag/:tag/rss', @@ -1096,15 +1106,6 @@ class Router array('action' => 'AtomPubSubscriptionFeed'), array('subscriber' => '[0-9]+')); - $m->connect('api/statusnet/app/favorites/:profile/:notice.atom', - array('action' => 'AtomPubShowFavorite'), - array('profile' => '[0-9]+', - 'notice' => '[0-9]+')); - - $m->connect('api/statusnet/app/favorites/:profile.atom', - array('action' => 'AtomPubFavoriteFeed'), - array('profile' => '[0-9]+')); - $m->connect('api/statusnet/app/memberships/:profile/:group.atom', array('action' => 'AtomPubShowMembership'), array('profile' => '[0-9]+', @@ -1154,7 +1155,7 @@ class Router } $url = $this->m->generate($args, $params, $fragment); - // Due to a bug in the Net_URL_Mapper code, the returned URL may + // Due to a bug in the URLMapper 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...