From 55a685d20ebd5150e22c9678c792a548cd77dd34 Mon Sep 17 00:00:00 2001 From: Marcel Werk Date: Fri, 25 Nov 2011 19:51:26 +0100 Subject: [PATCH] Fixed an encoding issue --- .../install/files/lib/util/UserUtil.class.php | 47 +++++++++---------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/wcfsetup/install/files/lib/util/UserUtil.class.php b/wcfsetup/install/files/lib/util/UserUtil.class.php index d2fb155abc..5882601a6a 100644 --- a/wcfsetup/install/files/lib/util/UserUtil.class.php +++ b/wcfsetup/install/files/lib/util/UserUtil.class.php @@ -150,32 +150,31 @@ class UserUtil { */ public static function getRequestURI() { $REQUEST_URI = ''; - /*if (!empty($_SERVER['REQUEST_URI'])) { - $REQUEST_URI = $_SERVER['REQUEST_URI']; + + if (!empty($_SERVER['ORIG_PATH_INFO']) && strpos($_SERVER['ORIG_PATH_INFO'], '.php') !== false) { + $REQUEST_URI = $_SERVER['ORIG_PATH_INFO']; + } + else if (!empty($_SERVER['ORIG_SCRIPT_NAME'])) { + $REQUEST_URI = $_SERVER['ORIG_SCRIPT_NAME']; + } + else if (!empty($_SERVER['SCRIPT_NAME'])) { + $REQUEST_URI = $_SERVER['SCRIPT_NAME']; + } + else if (!empty($_SERVER['PHP_SELF'])) { + $REQUEST_URI = $_SERVER['PHP_SELF']; + } + else if (!empty($_SERVER['PATH_INFO'])) { + $REQUEST_URI = $_SERVER['PATH_INFO']; + } + if (!empty($_SERVER['QUERY_STRING'])) { + $REQUEST_URI .= '?'.$_SERVER['QUERY_STRING']; } - else {*/ - if (!empty($_SERVER['ORIG_PATH_INFO']) && strpos($_SERVER['ORIG_PATH_INFO'], '.php') !== false) { - $REQUEST_URI = $_SERVER['ORIG_PATH_INFO']; - } - else if (!empty($_SERVER['ORIG_SCRIPT_NAME'])) { - $REQUEST_URI = $_SERVER['ORIG_SCRIPT_NAME']; - } - else if (!empty($_SERVER['SCRIPT_NAME'])) { - $REQUEST_URI = $_SERVER['SCRIPT_NAME']; - } - else if (!empty($_SERVER['PHP_SELF'])) { - $REQUEST_URI = $_SERVER['PHP_SELF']; - } - else if (!empty($_SERVER['PATH_INFO'])) { - $REQUEST_URI = $_SERVER['PATH_INFO']; - } - if (!empty($_SERVER['QUERY_STRING'])) { - $REQUEST_URI .= '?'.$_SERVER['QUERY_STRING']; - } - //} - //if (!strstr($REQUEST_URI, '.')) $REQUEST_URI = 'index.php'; + // fix encoding + if (!StringUtil::isASCII($REQUEST_URI) && !StringUtil::isUTF8($REQUEST_URI)) { + $REQUEST_URI = StringUtil::convertEncoding('ISO-8859-1', 'UTF-8', $REQUEST_URI); + } - return substr(FileUtil::unifyDirSeperator($REQUEST_URI), 0, 255); + return StringUtil::substring(FileUtil::unifyDirSeperator($REQUEST_URI), 0, 255); } } -- 2.20.1