Work on the url parameters directly.
authorJan Schneider <jan@horde.org>
Wed, 28 Jul 2010 16:10:00 +0000 (18:10 +0200)
committerJan Schneider <jan@horde.org>
Wed, 28 Jul 2010 16:10:00 +0000 (18:10 +0200)
horde/login.php

index 128dafe..bbcb028 100644 (file)
@@ -259,9 +259,11 @@ if (!empty($conf['auth']['alternate_login'])) {
     if (empty($url_in)) {
         $url_in = Horde::selfUrl(true, true, true);
     }
-    $anchor =  _addAnchor($url_in, 'param', $vars, $url_anchor);
-    if (strpos($url, '%25u') || strpos($url, '%u')) {
-        $url = str_replace(array('%25u', '%u'), rawurlencode($anchor), $url);
+    $anchor = _addAnchor($url_in, 'param', $vars, $url_anchor);
+    foreach ($url->parameters as $key => $value) {
+        if (strpos($value, '%u')) {
+            $url->parameters[$key] = str_replace('%u', rawurlencode($anchor), $value);
+        }
 
     } else {
         $url->add('url', $anchor);