]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - index.php
Improved the URL tests, and improve the matcher so more tests are passed. The remaini...
[quix0rs-gnu-social.git] / index.php
index 980b9881b0d79674651d0b570c2a94f9ce7a2b41..be62fe1f344561f87893d6e46ea1bf6ff8d5bf1d 100644 (file)
--- a/index.php
+++ b/index.php
@@ -184,7 +184,8 @@ function main()
 
     if (!$user && common_config('site', 'private')) {
         $public_actions = array('openidlogin', 'finishopenidlogin',
-                                'recoverpassword', 'api', 'doc');
+                                'recoverpassword', 'api', 'doc',
+                                'opensearch');
         $login_action = 'openidlogin';
         if (!common_config('site', 'openidonly')) {
             $public_actions[] = 'login';
@@ -193,6 +194,21 @@ function main()
         }
         if (!in_array($action, $public_actions) &&
             !preg_match('/rss$/', $action)) {
+
+            // set returnto
+            $rargs =& common_copy_args($args);
+            unset($rargs['action']);
+            if (common_config('site', 'fancy')) {
+                unset($rargs['p']);
+            }
+            if (array_key_exists('submit', $rargs)) {
+                unset($rargs['submit']);
+            }
+            foreach (array_keys($_COOKIE) as $cookie) {
+                unset($rargs[$cookie]);
+            }
+            common_set_returnto(common_local_url($action, $rargs));
+
             common_redirect(common_local_url($login_action));
             return;
         }