X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=index.php;h=372a8536ecb9144369e7a2b837d925dac25253d5;hb=d94a4eae8a68014c2f78ede52364d410c274cbbf;hp=5f9a048f2c7225917dcc56bfbb1b7326067ef4f9;hpb=fb84c35035e33eebea79f207f73ba2deea86c4d7;p=quix0rs-gnu-social.git diff --git a/index.php b/index.php index 5f9a048f2c..372a8536ec 100644 --- a/index.php +++ b/index.php @@ -105,10 +105,24 @@ function checkMirror($action_obj) } } +function isLoginAction($action) +{ + static $loginActions = array('login', 'openidlogin', 'finishopenidlogin', + 'recoverpassword', 'api', 'doc', 'register'); + + $login = null; + + if (Event::handle('LoginAction', array($action, &$login))) { + $login = in_array($action, $loginActions); + } + + return $login; +} + function main() { // quick check for fancy URL auto-detection support in installer. - if (isset($_SERVER['REDIRECT_URL']) && ((dirname($_SERVER['REQUEST_URI']) . '/check-fancy') === $_SERVER['REDIRECT_URL'])) { + if (isset($_SERVER['REDIRECT_URL']) && (preg_replace("/^\/$/","",(dirname($_SERVER['REQUEST_URI']))) . '/check-fancy') === $_SERVER['REDIRECT_URL']) { die("Fancy URL support detection succeeded. We suggest you enable this to get fancy (pretty) URLs."); } global $user, $action; @@ -164,8 +178,8 @@ function main() // parts of the site, redirect to login if (!$user && common_config('site', 'private') && - !in_array($action, array('login', 'openidlogin', 'finishopenidlogin', - 'recoverpassword', 'api', 'doc', 'register'))) { + !isLoginAction($action) && + !preg_match('/rss$/', $action)) { common_redirect(common_local_url('login')); return; }