Example #1
0
 /**
  * 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;
 }
Example #6
0
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());
    }
}
Example #7
0
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());
    }
}
Example #8
0
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;
 }
Example #10
0
 /**
  * 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;
 }
Example #11
0
 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;
 }
Example #12
0
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());
    }
}
Example #13
0
 /**
  * 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;
 }
Example #14
0
 /**
  * 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;
 }
Example #17
0
 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;
 }
Example #19
0
 /**
  * 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;
 }
Example #23
0
 /**
  * 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;
 }
Example #25
0
File: index.php Project: demental/m
<?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();
Example #26
0
 /**
  * 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;
 }
Example #27
0
 /**
  * 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;
 }
Example #29
0
 /**
  * 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;
 }
Example #30
0
 /**
  * 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);
 }