From: stronk7 Date: Tue, 28 Mar 2006 19:14:23 +0000 (+0000) Subject: Only decode from utf8 if we aren't running under utf8. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=5c30945a814c98e506382d12948d62222a9615a5;p=moodle.git Only decode from utf8 if we aren't running under utf8. (anyway we need a setting to decide the original encoding and to be perfect) --- diff --git a/auth/db/lib.php b/auth/db/lib.php index 7ca12c83cd..d7f301e017 100644 --- a/auth/db/lib.php +++ b/auth/db/lib.php @@ -104,7 +104,11 @@ function auth_get_userinfo($username){ if ($rs = $authdb->Execute("SELECT ".$pcfg["field_map_$field"]." FROM $CFG->auth_dbtable WHERE $CFG->auth_dbfielduser = '$username'")) { if ( $rs->RecordCount() == 1 ) { - $result["$field"] = addslashes(stripslashes(utf8_decode($rs->fields[0]))); + if (!empty($CFG->unicodedb)) { + $result["$field"] = addslashes(stripslashes($rs->fields[0])); + } else { + $result["$field"] = addslashes(stripslashes(utf8_decode($rs->fields[0]))); + } } } } @@ -403,4 +407,4 @@ function auth_db_update_user_record($username, $updatekeys=false) { return get_record_select("user", "username = '$username' AND deleted <> '1'"); } -?> \ No newline at end of file +?> diff --git a/auth/ldap/lib.php b/auth/ldap/lib.php index 96df846aaf..f70fa31387 100644 --- a/auth/ldap/lib.php +++ b/auth/ldap/lib.php @@ -127,10 +127,18 @@ function auth_get_userinfo($username){ $ldapval = NULL; foreach ($values as $value) { if(is_array($user_entry[0][strtolower($value)])) { - $newval = addslashes(stripslashes(utf8_decode($user_entry[0][strtolower($value)][0]))); + if (!empty($CFG->unicodedb)) { + $newval = addslashes(stripslashes($user_entry[0][strtolower($value)][0])); + } else { + $newval = addslashes(stripslashes(utf8_decode($user_entry[0][strtolower($value)][0]))); + } } else { - $newval = addslashes(stripslashes(utf8_decode($user_entry[0][strtolower($value)]))); + if (!empty($CFG->unicodedb)) { + $newval = addslashes(stripslashes($user_entry[0][strtolower($value)])); + } else { + $newval = addslashes(stripslashes(utf8_decode($user_entry[0][strtolower($value)]))); + } } if (!empty($newval)) { // favour ldap entries that are set $ldapval = $newval; diff --git a/auth/shibboleth/lib.php b/auth/shibboleth/lib.php index 862e10415c..45c5e8f02c 100755 --- a/auth/shibboleth/lib.php +++ b/auth/shibboleth/lib.php @@ -44,7 +44,11 @@ function auth_get_userinfo($username) { $search_attribs = array(); foreach ($attrmap as $key=>$value) { - $result[$key]=utf8_decode($_SERVER[$value]); + if (!empty($CFG->unicodedb)) { + $result[$key]=$_SERVER[$value]; + } else { + $result[$key]=utf8_decode($_SERVER[$value]); + } } // Provide an API to modify the information to fit the Moodle internal