$m->connect('main/tagother/:id', array('action' => 'tagother'));
+ $m->connect('main/oembed.xml',
+ array('action' => 'api',
+ 'method' => 'oembed.xml',
+ 'apiaction' => 'oembed'));
+
+ $m->connect('main/oembed.json',
+ array('action' => 'api',
+ 'method' => 'oembed.json',
+ 'apiaction' => 'oembed'));
+
// these take a code
foreach (array('register', 'confirmaddress', 'recoverpassword') as $c) {
array('tag' => '[a-zA-Z0-9]+'));
$m->connect('tag/:tag',
array('action' => 'tag'),
- array('tag' => '[a-zA-Z0-9]+'));
+ array('tag' => '[\pL\pN_\-\.]{1,64}'));
$m->connect('peopletag/:tag',
array('action' => 'peopletag'),
$m->connect('api/statuses/:method/:argument',
array('action' => 'api',
'apiaction' => 'statuses'),
- array('method' => '(user_timeline|friends_timeline|replies|mentions|show|destroy|friends|followers)'));
+ array('method' => '(|user_timeline|friends_timeline|replies|mentions|show|destroy|friends|followers)'));
// users
array('action' => 'api',
'apiaction' => 'laconica'));
+ $m->connect('api/laconica/:method',
+ array('action' => 'api',
+ 'apiaction' => 'laconica'));
+
+ // Groups
+ $m->connect('api/laconica/groups/:method/:argument',
+ array('action' => 'api',
+ 'apiaction' => 'groups'));
+
+ $m->connect('api/laconica/groups/:method',
+ array('action' => 'api',
+ 'apiaction' => 'groups'));
+
+ // Tags
+ $m->connect('api/laconica/tags/:method/:argument',
+ array('action' => 'api',
+ 'apiaction' => 'tags'));
+
+ $m->connect('api/laconica/tags/:method',
+ array('action' => 'api',
+ 'apiaction' => 'tags'));
+
// search
$m->connect('api/search.atom', array('action' => 'twitapisearchatom'));
$m->connect('api/search.json', array('action' => 'twitapisearchjson'));