/** * Add our actions to the URL router * * @param Net_URL_Mapper $m URL mapper for this hit * * @return boolean hook return */ function onRouterInitialized($m) { $m->connect('main/flag/profile', array('action' => 'flagprofile')); $m->connect('main/flag/clear', array('action' => 'clearflag')); $m->connect('panel/profile/flag', array('action' => 'adminprofileflag')); return true; }
/** * Add paths to the router table * * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m URL mapper * * @return boolean hook return */ function onStartInitializeRouter($m) { $m->connect(':nickname/detail', array('action' => 'profiledetail'), array('nickname' => Nickname::DISPLAY_FMT)); $m->connect('/settings/profile/finduser', array('action' => 'Userautocomplete')); $m->connect('settings/profile/detail', array('action' => 'profiledetailsettings')); return true; }
/** * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m path-to-action mapper * @return boolean hook return */ function onRouterInitialized($m) { $m->connect('settings/mirror', array('action' => 'mirrorsettings')); $m->connect('settings/mirror/add', array('action' => 'addmirror')); $m->connect('settings/mirror/edit', array('action' => 'editmirror')); return true; }
/** * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m path-to-action mapper * @return boolean hook return */ function onRouterInitialized($m) { // Discovery actions $m->connect('main/amcd.json', array('action' => 'AccountManagementControlDocument')); $m->connect('main/amsessionstatus', array('action' => 'AccountManagementSessionStatus')); return true; }
/** * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m path-to-action mapper * @return boolean hook return */ function onRouterInitialized($m) { $m->connect('settings/mirror', array('action' => 'mirrorsettings')); $m->connect('settings/mirror/add/:provider', array('action' => 'mirrorsettings'), array('provider' => '[A-Za-z0-9_-]+')); $m->connect('settings/mirror/add', array('action' => 'addmirror')); $m->connect('settings/mirror/edit', array('action' => 'editmirror')); return true; }
function Fapp_first() { try { global $Grot_path; # Fcom_setLogInfo( "debug" , "app first:".$Grot_path ); $map = Net_URL_Mapper::getInstance(); $map->connect('/:app/'); $url = $map->match($Grot_path); if ($url) { /* match */ /* check func */ if (0 === strcmp($url["app"], DROT_APP_NAME)) { /* '/ayawave' request */ $cont = Frot_getInit(DROT_INITTYP_BSC); Frot_setSession(DROT_SESROT_SUBSTT, DROT_SUBSTT_INI, false); echo $cont; return; } else { /* func is not app */ Fapp_jumpFirst(); } } else { Fapp_jumpFirst(); } } catch (Exception $e) { throw new Exception('ERR(File:' . basename(__FILE__) . ',Line:' . __LINE__ . '):' . __FUNCTION__ . '()' . PHP_EOL . $e->getMessage()); } }
function Flgn_init() { try { global $Grot_path; $map = Net_URL_Mapper::getInstance(); $map->connect('/:app/:func/:type/:cont'); $npurl = Frot_getNoprmPath($Grot_path); $url = $map->match($npurl); # Fcom_setLogInfo( "debug" , "Flgn_init:".$Grot_path ); if ($url) { if (0 !== strcmp($url["app"], DROT_APP_NAME)) { Fcom_setLogInfo(DCOM_LOGLV_ERR, "invalid function " . $Grot_path); Fapp_jumpFirst(); } if (0 === strcmp($url["func"], DROT_FUNC_SRC)) { Flgn_iniSrc($url); } else { Fcom_setLogInfo(DCOM_LOGLV_ERR, "invalid function " . $Grot_path); Fapp_jumpFirst(); } } else { Frot_jumpFirst(); } } catch (Exception $e) { throw new Exception('ERR(File:' . basename(__FILE__) . ',Line:' . __LINE__ . '):' . __FUNCTION__ . '()' . PHP_EOL . $e->getMessage()); } }
function Flgn_ready() { try { global $Grot_path; Fcom_setLogInfo("debug", "login ready:" . $Grot_path); $map = Net_URL_Mapper::getInstance(); $map->connect('/:app/:func/:type/:cont'); $url = $map->match($Grot_path); if ($url) { if (0 !== strcmp($url["app"], DROT_APP_NAME) || 0 !== strcmp($url["func"], DROT_FUNC_FNC)) { Frot_jumpFirst(); } if (0 === strcmp($url["type"], DROT_FTYPE_ATH)) { $ret = Fath_ctrl($url["cont"]); echo json_encode($ret); return; } } else { # Fcom_setLogInfo( DCOM_LOGLV_ERR , "".$Grot_path ); Fapp_jumpFirst(); } } catch (Exception $e) { throw new Exception('ERR(File:' . basename(__FILE__) . ',Line:' . __LINE__ . '):' . __FUNCTION__ . '()' . PHP_EOL . $e->getMessage()); } }
public function connect($path, $defaults = array(), $rules = array()) { $result = null; if (Event::handle('StartConnectPath', array(&$path, &$defaults, &$rules, &$result))) { $result = parent::connect($path, $defaults, $rules); Event::handle('EndConnectPath', array($path, $defaults, $rules, $result)); } return $result; }
/** * Add OpenID-related paths to the router table * * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m URL mapper * * @return boolean hook return */ function onStartInitializeRouter($m) { $m->connect('main/openid', array('action' => 'openidlogin')); $m->connect('main/openidtrust', array('action' => 'openidtrust')); $m->connect('settings/openid', array('action' => 'openidsettings')); $m->connect('index.php?action=finishopenidlogin', array('action' => 'finishopenidlogin')); $m->connect('index.php?action=finishaddopenid', array('action' => 'finishaddopenid')); $m->connect('main/openidserver', array('action' => 'openidserver')); $m->connect('panel/openid', array('action' => 'openidadminpanel')); return true; }
public function generate($values = array(), $qstring = array(), $anchor = '') { if (!array_key_exists('action', $values)) { return parent::generate($values, $qstring, $anchor); } $action = $values['action']; if (!array_key_exists($action, $this->_actionToPath)) { return parent::generate($values, $qstring, $anchor); } $oldPaths = $this->paths; $this->paths = $this->_actionToPath[$action]; $result = parent::generate($values, $qstring, $anchor); $this->paths = $oldPaths; return $result; }
function Fapp_ready() { try { global $Grot_path; # Fcom_setLogInfo( "debug" , "Fapp_ready:".$Grot_path ); $map = Net_URL_Mapper::getInstance(); $map->connect('/:app/:func/:type/:cont'); $url = $map->match($Grot_path); if ($url) { if (0 !== strcmp($url["app"], DROT_APP_NAME)) { Fcom_setLogInfo(DCOM_LOGLV_ERR, "invalid function " . $Grot_path); Fapp_jumpFirst(); } if (0 === strcmp($url["func"], DROT_FUNC_SRC)) { Fapp_rdySrc($url); } else { if (0 === strcmp($url["func"], DROT_FUNC_FNC)) { Fapp_rdyFunc($url); } } } else { $map->reset(); $map->connect("/:app/:type"); $url = $map->match($Grot_path); if ($url) { if (0 !== strcmp($url["app"], DROT_APP_NAME)) { Fapp_jumpFirst(); } if (0 === strcmp($url["type"], "item")) { if (0 === strcmp($_GET["func"], "new")) { echo Frot_getInit(DROT_INITTYP_NEW); } else { if (0 === strcmp($_GET["func"], "edit")) { echo Frot_getInit(DROT_INITTYP_EDT); } } } } else { Fapp_jumpFirst(); } } } catch (Exception $e) { throw new Exception('ERR(File:' . basename(__FILE__) . ',Line:' . __LINE__ . '):' . __FUNCTION__ . '()' . PHP_EOL . $e->getMessage()); } }
/** * Map URLs to actions * * This event handler lets the plugin map URLs on the site to actions (and * thus an action handler class). Note that the action handler class for an * action will be named 'FoobarAction', where action = 'foobar'. The class * must be loaded in the onAutoload() method. * * @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('main/hello', array('action' => 'hello')); return true; }
/** * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m path-to-action mapper * @return boolean hook return */ function onRouterInitialized($m) { $m->connect('admin/bitly', array('action' => 'bitlyadminpanel')); return true; }
/** * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m path-to-action mapper * @return boolean hook return */ function onRouterInitialized($m) { $m->connect('group/:nickname/favorited', array('action' => 'groupfavorited'), array('nickname' => '[a-zA-Z0-9]+')); return true; }
/** * Add our actions to the URL router * * @param Net_URL_Mapper $m URL mapper for this hit * * @return boolean hook return */ function onRouterInitialized($m) { $m->connect('panel/blacklist', array('action' => 'blacklistadminpanel')); return true; }
function initialize() { $m = Net_URL_Mapper::getInstance(); // In the "root" $m->connect('', array('action' => 'public')); $m->connect('rss', array('action' => 'publicrss')); $m->connect('xrds', array('action' => 'publicxrds')); $m->connect('featuredrss', array('action' => 'featuredrss')); $m->connect('favoritedrss', array('action' => 'favoritedrss')); $m->connect('opensearch/people', array('action' => 'opensearch', 'type' => 'people')); $m->connect('opensearch/notice', array('action' => 'opensearch', 'type' => 'notice')); // docs $m->connect('doc/:title', array('action' => 'doc')); // facebook $m->connect('facebook', array('action' => 'facebookhome')); $m->connect('facebook/index.php', array('action' => 'facebookhome')); $m->connect('facebook/settings.php', array('action' => 'facebooksettings')); $m->connect('facebook/invite.php', array('action' => 'facebookinvite')); $m->connect('facebook/remove', array('action' => 'facebookremove')); // main stuff is repetitive $main = array('login', 'logout', 'register', 'subscribe', 'unsubscribe', 'confirmaddress', 'recoverpassword', 'invite', 'favor', 'disfavor', 'sup', 'block', 'subedit'); foreach ($main as $a) { $m->connect('main/' . $a, array('action' => $a)); } $m->connect('main/tagother/:id', array('action' => 'tagother')); // these take a code foreach (array('register', 'confirmaddress', 'recoverpassword') as $c) { $m->connect('main/' . $c . '/:code', array('action' => $c)); } // exceptional $m->connect('main/openid', array('action' => 'openidlogin')); $m->connect('main/remote', array('action' => 'remotesubscribe')); $m->connect('main/remote?nickname=:nickname', array('action' => 'remotesubscribe'), array('nickname' => '[A-Za-z0-9_-]+')); foreach (Router::$bare as $action) { $m->connect('index.php?action=' . $action, array('action' => $action)); } // settings foreach (array('profile', 'avatar', 'password', 'openid', 'im', 'email', 'sms', 'twitter', 'other') as $s) { $m->connect('settings/' . $s, array('action' => $s . 'settings')); } // search 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/notice/rss', array('action' => 'noticesearchrss')); // notice $m->connect('notice/new', array('action' => 'newnotice')); $m->connect('notice/new?replyto=:replyto', array('action' => 'newnotice'), array('replyto' => '[A-Za-z0-9_-]+')); $m->connect('notice/:notice', array('action' => 'shownotice'), array('notice' => '[0-9]+')); $m->connect('notice/delete', array('action' => 'deletenotice')); $m->connect('notice/delete/:notice', array('action' => 'deletenotice'), array('notice' => '[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', array('action' => 'showmessage'), array('message' => '[0-9]+')); $m->connect('user/:id', array('action' => 'userbyid'), array('id' => '[0-9]+')); $m->connect('tags/', array('action' => 'publictagcloud')); $m->connect('tag/', array('action' => 'publictagcloud')); $m->connect('tags', array('action' => 'publictagcloud')); $m->connect('tag', array('action' => 'publictagcloud')); $m->connect('tag/:tag/rss', array('action' => 'tagrss'), array('tag' => '[a-zA-Z0-9]+')); $m->connect('tag/:tag', array('action' => 'tag'), array('tag' => '[a-zA-Z0-9]+')); $m->connect('peopletag/:tag', array('action' => 'peopletag'), array('tag' => '[a-zA-Z0-9]+')); $m->connect('featured/', array('action' => 'featured')); $m->connect('featured', array('action' => 'featured')); $m->connect('favorited/', array('action' => 'favorited')); $m->connect('favorited', array('action' => 'favorited')); // groups $m->connect('group/new', array('action' => 'newgroup')); foreach (array('edit', 'join', 'leave') as $v) { $m->connect('group/:nickname/' . $v, array('action' => $v . 'group'), array('nickname' => '[a-zA-Z0-9]+')); } foreach (array('members', 'logo', 'rss') as $n) { $m->connect('group/:nickname/' . $n, array('action' => 'group' . $n), array('nickname' => '[a-zA-Z0-9]+')); } $m->connect('group/:id/id', array('action' => 'groupbyid'), array('id' => '[0-9]+')); $m->connect('group/:nickname', array('action' => 'showgroup'), array('nickname' => '[a-zA-Z0-9]+')); $m->connect('group/', array('action' => 'groups')); $m->connect('group', array('action' => 'groups')); $m->connect('groups/', array('action' => 'groups')); $m->connect('groups', array('action' => 'groups')); // Twitter-compatible API // statuses API $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))?')); $m->connect('api/statuses/:method/:argument', array('action' => 'api', 'apiaction' => 'statuses'), array('method' => '(user_timeline|friends_timeline|replies|show|destroy|friends|followers)')); // users $m->connect('api/users/:method/:argument', array('action' => 'api', 'apiaction' => 'users'), array('method' => 'show(\\.(xml|json))?')); $m->connect('api/users/:method', array('action' => 'api', 'apiaction' => 'users'), array('method' => 'show(\\.(xml|json))?')); // direct messages foreach (array('xml', 'json') as $e) { $m->connect('api/direct_messages/new.' . $e, array('action' => 'api', 'apiaction' => 'direct_messages', 'method' => 'create.' . $e)); } foreach (array('xml', 'json', 'rss', 'atom') as $e) { $m->connect('api/direct_messages.' . $e, array('action' => 'api', 'apiaction' => 'direct_messages', 'method' => 'direct_messages.' . $e)); } foreach (array('xml', 'json', 'rss', 'atom') as $e) { $m->connect('api/direct_messages/sent.' . $e, array('action' => 'api', 'apiaction' => 'direct_messages', 'method' => 'sent.' . $e)); } $m->connect('api/direct_messages/destroy/:argument', array('action' => 'api', 'apiaction' => 'direct_messages')); // friendships $m->connect('api/friendships/:method/:argument', array('action' => 'api', 'apiaction' => 'friendships'), array('method' => '(create|destroy)')); $m->connect('api/friendships/:method', array('action' => 'api', 'apiaction' => 'friendships'), array('method' => 'exists(\\.(xml|json))')); // Social graph $m->connect('api/friends/ids/:argument', array('action' => 'api', 'apiaction' => 'statuses', 'method' => 'friendsIDs')); foreach (array('xml', 'json') as $e) { $m->connect('api/friends/ids.' . $e, array('action' => 'api', 'apiaction' => 'statuses', 'method' => 'friendsIDs.' . $e)); } $m->connect('api/followers/ids/:argument', array('action' => 'api', 'apiaction' => 'statuses', 'method' => 'followersIDs')); foreach (array('xml', 'json') as $e) { $m->connect('api/followers/ids.' . $e, array('action' => 'api', 'apiaction' => 'statuses', 'method' => 'followersIDs.' . $e)); } // account $m->connect('api/account/:method', array('action' => 'api', 'apiaction' => 'account')); // favorites $m->connect('api/favorites/:method/:argument', array('action' => 'api', 'apiaction' => 'favorites')); $m->connect('api/favorites/:argument', array('action' => 'api', 'apiaction' => 'favorites', 'method' => 'favorites')); foreach (array('xml', 'json', 'rss', 'atom') as $e) { $m->connect('api/favorites.' . $e, array('action' => 'api', 'apiaction' => 'favorites', 'method' => 'favorites.' . $e)); } // notifications $m->connect('api/notifications/:method/:argument', array('action' => 'api', 'apiaction' => 'favorites')); // blocks $m->connect('api/blocks/:method/:argument', array('action' => 'api', 'apiaction' => 'blocks')); // help $m->connect('api/help/:method', array('action' => 'api', 'apiaction' => 'help')); // laconica $m->connect('api/laconica/:method', array('action' => 'api', 'apiaction' => 'laconica')); // search $m->connect('api/search.atom', array('action' => 'twitapisearchatom')); $m->connect('api/search.json', array('action' => 'twitapisearchjson')); $m->connect('api/trends.json', array('action' => 'twitapitrends')); // user stuff foreach (array('subscriptions', 'subscribers', 'nudge', 'xrds', 'all', 'foaf', 'replies', 'inbox', 'outbox', 'microsummary') as $a) { $m->connect(':nickname/' . $a, array('action' => $a), array('nickname' => '[a-zA-Z0-9]{1,64}')); } foreach (array('subscriptions', 'subscribers') as $a) { $m->connect(':nickname/' . $a . '/:tag', array('action' => $a), array('tag' => '[a-zA-Z0-9]+', 'nickname' => '[a-zA-Z0-9]{1,64}')); } foreach (array('rss', 'groups') as $a) { $m->connect(':nickname/' . $a, array('action' => 'user' . $a), array('nickname' => '[a-zA-Z0-9]{1,64}')); } foreach (array('all', 'replies', 'favorites') as $a) { $m->connect(':nickname/' . $a . '/rss', array('action' => $a . 'rss'), array('nickname' => '[a-zA-Z0-9]{1,64}')); } $m->connect(':nickname/favorites', array('action' => 'showfavorites'), array('nickname' => '[a-zA-Z0-9]{1,64}')); $m->connect(':nickname/avatar/:size', array('action' => 'avatarbynickname'), array('size' => '(original|96|48|24)', 'nickname' => '[a-zA-Z0-9]{1,64}')); $m->connect(':nickname', array('action' => 'showstream'), array('nickname' => '[a-zA-Z0-9]{1,64}')); Event::handle('RouterInitialized', array($m)); return $m; }
/** * 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) { // Always add the admin panel route $m->connect('admin/facebook', array('action' => 'facebookadminpanel')); $m->connect('main/facebooklogin', array('action' => 'facebooklogin')); $m->connect('main/facebookfinishlogin', array('action' => 'facebookfinishlogin')); $m->connect('settings/facebook', array('action' => 'facebooksettings')); $m->connect('facebook/deauthorize', array('action' => 'facebookdeauthorize')); return true; }
/** * Add ModPlus-related paths to the router table * * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m URL mapper * * @return boolean hook return */ function onStartInitializeRouter($m) { $m->connect('user/remote/:id', array('action' => 'remoteprofile'), array('id' => '[\\d]+')); return true; }
/** * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m path-to-action mapper * @return boolean hook return */ function onRouterInitialized($m) { // Discovery actions $m->connect('main/ownerxrd', array('action' => 'ownerxrd')); $m->connect('main/ostatus', array('action' => 'ostatusinit')); $m->connect('main/ostatustag', array('action' => 'ostatustag')); $m->connect('main/ostatustag?nickname=:nickname', array('action' => 'ostatustag'), array('nickname' => '[A-Za-z0-9_-]+')); $m->connect('main/ostatus?nickname=:nickname', array('action' => 'ostatusinit'), array('nickname' => '[A-Za-z0-9_-]+')); $m->connect('main/ostatus?group=:group', array('action' => 'ostatusinit'), array('group' => '[A-Za-z0-9_-]+')); $m->connect('main/ostatus?peopletag=:peopletag&tagger=:tagger', array('action' => 'ostatusinit'), array('tagger' => '[A-Za-z0-9_-]+', 'peopletag' => '[A-Za-z0-9_-]+')); // Remote subscription actions $m->connect('main/ostatussub', array('action' => 'ostatussub')); $m->connect('main/ostatusgroup', array('action' => 'ostatusgroup')); $m->connect('main/ostatuspeopletag', array('action' => 'ostatuspeopletag')); // PuSH actions $m->connect('main/push/hub', array('action' => 'pushhub')); $m->connect('main/push/callback/:feed', array('action' => 'pushcallback'), array('feed' => '[0-9]+')); // Salmon endpoint $m->connect('main/salmon/user/:id', array('action' => 'usersalmon'), array('id' => '[0-9]+')); $m->connect('main/salmon/group/:id', array('action' => 'groupsalmon'), array('id' => '[0-9]+')); $m->connect('main/salmon/peopletag/:id', array('action' => 'peopletagsalmon'), array('id' => '[0-9]+')); return true; }
/** * Add Twitter-related paths to the router table * * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m path-to-action mapper * * @return boolean hook return */ function onRouterInitialized($m) { $m->connect('admin/twitter', array('action' => 'twitteradminpanel')); if (self::hasKeys()) { $m->connect('twitter/authorization', array('action' => 'twitterauthorization')); $m->connect('settings/twitter', array('action' => 'twittersettings')); if (common_config('twitter', 'signin')) { $m->connect('main/twitterlogin', array('action' => 'twitterlogin')); } } return true; }
/** * Add FetLife-related paths to the router table * * @param Net_URL_Mapper $m path-to-action mapper * @return boolean hook return */ function onRouterInitialized($m) { $m->connect('settings/fetlife', array('action' => 'fetlifesettings')); return true; }
/** * 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) { $bare = array('requesttoken', 'accesstoken', 'userauthorization', 'postnotice', 'updateprofile', 'finishremotesubscribe'); foreach ($bare as $action) { $m->connect('index.php?action=' . $action, array('action' => $action)); } // exceptional $m->connect('main/remote', array('action' => 'remotesubscribe')); $m->connect('main/remote?nickname=:nickname', array('action' => 'remotesubscribe'), array('nickname' => '[A-Za-z0-9_-]+')); $m->connect('xrds', array('action' => 'xrds', 'nickname' => $nickname)); return true; }
/** * Hook for RouterInitialized event. * * @param Net_URL_Mapper $m path-to-action mapper * @return boolean hook return */ function onRouterInitialized($m) { // Discovery actions $m->connect('.well-known/host-meta', array('action' => 'hostmeta')); $m->connect('main/xrd', array('action' => 'userxrd')); $m->connect('main/ownerxrd', array('action' => 'ownerxrd')); $m->connect('main/ostatus', array('action' => 'ostatusinit')); $m->connect('main/ostatus?nickname=:nickname', array('action' => 'ostatusinit'), array('nickname' => '[A-Za-z0-9_-]+')); $m->connect('main/ostatus?group=:group', array('action' => 'ostatusinit'), array('group' => '[A-Za-z0-9_-]+')); $m->connect('main/ostatussub', array('action' => 'ostatussub')); $m->connect('main/ostatusgroup', array('action' => 'ostatusgroup')); // PuSH actions $m->connect('main/push/hub', array('action' => 'pushhub')); $m->connect('main/push/callback/:feed', array('action' => 'pushcallback'), array('feed' => '[0-9]+')); // Salmon endpoint $m->connect('main/salmon/user/:id', array('action' => 'usersalmon'), array('id' => '[0-9]+')); $m->connect('main/salmon/group/:id', array('action' => 'groupsalmon'), array('id' => '[0-9]+')); return true; }
<?php /** * M PHP Framework * @package M */ /** * M PHP Framework * * Controller main file for default app * * @package M * @author Arnaud Sellenet <demental at github> * @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License * @version 0.1 */ define('APP_NAME', '{$APP_NAME}'); require '{$APP_RELATIVE_FILE_TO_ROOT}/M_Startup.php'; require APP_ROOT . 'app/' . APP_NAME . '/routing.php'; $result = Net_URL_Mapper::getInstance()->match($_GET['route']); $getvalues = array_merge($result, $_GET); $requestvalues = array_merge($_POST, $get); $request = new MRequest($getvalues, $requestvalues); $d = new Dispatcher($request); $d->setConfig(PEAR::getStaticProperty('Dispatcher', 'global')); $d->execute(); header('Content-type:text/html; charset=utf-8'); echo $d->display();
/** * 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', array('action' => 'userdirectory'), array('filter' => '[0-9a-zA-Z]|(0-9)')); $m->connect('directory/users', array('action' => 'userdirectory')); $m->connect('groups/:filter', array('action' => 'groupdirectory'), array('filter' => '[0-9a-zA-Z]|(0-9)')); $m->connect('groups', array('action' => 'groupdirectory')); return true; }
/** * 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('blog/new', array('action' => 'newblogentry')); $m->connect('blog/:id', array('action' => 'showblogentry'), array('id' => UUID::REGEX)); return true; }
/** * 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('sitemapindex.xml', array('action' => 'sitemapindex')); $m->connect('/notice-sitemap-:year-:month-:day-:index.xml', array('action' => 'noticesitemap'), array('year' => '[0-9]{4}', 'month' => '[01][0-9]', 'day' => '[0123][0-9]', 'index' => '[1-9][0-9]*')); $m->connect('/user-sitemap-:year-:month-:day-:index.xml', array('action' => 'usersitemap'), array('year' => '[0-9]{4}', 'month' => '[01][0-9]', 'day' => '[0123][0-9]', 'index' => '[1-9][0-9]*')); $m->connect('panel/sitemap', array('action' => 'sitemapadminpanel')); return true; }
/** * 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('tag/:tag/subscribe', array('action' => 'tagsub'), array('tag' => Router::REGEX_TAG)); $m->connect('tag/:tag/unsubscribe', array('action' => 'tagunsub'), array('tag' => Router::REGEX_TAG)); $m->connect(':nickname/tag-subscriptions', array('action' => 'tagsubs'), array('nickname' => Nickname::DISPLAY_FMT)); return true; }
/** * Try to match the HTTP method and path given with the routes saved. * If match returns an array with the method and the params matched. * * @param string $httpMethod Http method * @param string $path Path * * @return array */ public function match($httpMethod, $path) { $url = $this->url($httpMethod, $path); $match = Net_URL_Mapper::getInstance()->match($url); if (!$match) { return array(false, false); } $method = $match[self::MATCH_METHOD_PARAM]; unset($match[self::MATCH_METHOD_PARAM]); return array($method, $match); }