From: henoheno Date: Sun, 4 Jan 2009 08:43:10 +0000 (+0900) Subject: uri_pickup_implode(): enable 'user' and 'pass' X-Git-Url: http://git.osdn.net/view?p=pukiwiki%2Fpukiwiki_sandbox.git;a=commitdiff_plain;h=37c1c332078ce8320660a39229838817ac71d83e uri_pickup_implode(): enable 'user' and 'pass' --- diff --git a/spam/spam_pickup.php b/spam/spam_pickup.php index 1bd2a38..70965ae 100644 --- a/spam/spam_pickup.php +++ b/spam/spam_pickup.php @@ -1,5 +1,5 @@ "\'\[\]/\#?@]*)' . // 2: Userinfo (Username) + '([^\s<>"\'\[\]/\#?@]*)' . // 2: Userinfo (Username and/or password) '@)?' . '(' . // 3: Host @@ -90,27 +90,43 @@ function uri_pickup_implode($uri = array()) $tmp[] = & $uri['scheme']; $tmp[] = '://'; } + if (isset($uri['userinfo']) && $uri['userinfo'] !== '') { $tmp[] = & $uri['userinfo']; $tmp[] = '@'; + } else if (isset($uri['user']) || isset($uri['pass'])) { + if (isset($uri['user']) && $uri['user'] !== '') { + $tmp[] = & $uri['user']; + } + $tmp[] = ':'; + if (isset($uri['pass']) && $uri['pass'] !== '') { + $tmp[] = & $uri['pass']; + } + $tmp[] = '@'; } + if (isset($uri['host']) && $uri['host'] !== '') { $tmp[] = & $uri['host']; } + if (isset($uri['port']) && $uri['port'] !== '') { $tmp[] = ':'; $tmp[] = & $uri['port']; } + if (isset($uri['path']) && $uri['path'] !== '') { $tmp[] = & $uri['path']; } + if (isset($uri['file']) && $uri['file'] !== '') { $tmp[] = & $uri['file']; } + if (isset($uri['query']) && $uri['query'] !== '') { $tmp[] = '?'; $tmp[] = & $uri['query']; } + if (isset($uri['fragment']) && $uri['fragment'] !== '') { $tmp[] = '#'; $tmp[] = & $uri['fragment']; @@ -119,6 +135,7 @@ function uri_pickup_implode($uri = array()) return implode('', $tmp); } + // --------------------- // URI normalization