The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
Converting Special Chars from HTML to UTF-8 ascii standard?
Hey there,
I'm using the AddonChat Integration Script and have been working with Chris Duerr, the author, to try and solve this problem: users that have special characters (such as accents, as in ? ? ? ? ?) are getting an invalid username/password notice. This is because vBulletin stores these special characters as HTML escape equivalents. How can we convert the HTML escape characters to UTF-8 standard ascii characters? Here is the code cited from the integration script: Code:
<?php header("Content-type: text/plain; charset=iso-8859-1"); error_reporting(E_ALL & ~E_NOTICE); define('NO_REGISTER_GLOBALS', 1); define('SESSION_BYPASS', 1); define('LOCATION_BYPASS', 1); //define('DIE_QUIETLY', 1); /* We lie a little here to let us get through when forum read privileges are disabled for non-registered users. */ define('THIS_SCRIPT', 'login'); $_REQUEST['do'] = 'register'; require_once('./global.php'); require_once('./chat_global.php'); $username = $_REQUEST['username']; $password = $_REQUEST['password']; /* Uncomment the following to support non-ASCII UTF-8 characters Requires PHP Multibyte String (mbstring) Extension */ $username = mb_convert_encoding($username, "HTML-ENTITIES", "UTF-8"); $password = mb_convert_encoding($password, "HTML-ENTITIES", "UTF-8"); if(!$SIGMACHAT_VB_AUTHENTICATE) die("DISABLED"); # Fetch User Info from Database.. $uid = 0; if ($userinfo = $db->query_first('SELECT userid, usergroupid, membergroupids, password, salt FROM ' . TABLE_PREFIX . 'user WHERE username = "' . addslashes(htmlspecialchars_uni($username)) . '"')) { # Invalid Password if (($userinfo['password'] != $password) && ($userinfo['password'] != md5(md5($password) . $userinfo['salt']))) $auth = 0; else { $usergroups = explode(',', $userinfo[membergroupids]); $usergroups[] = $userinfo[usergroupid]; $auth = 0; foreach($usergroups as $ug) { if( ($auth < 3) && (in_array($ug, $SIGMACHAT_AUTH_GRANTACCESS)) ) $auth = 3; if( ($auth < 2) && (in_array($ug, $SIGMACHAT_AUTH_ADMINACCESS)) ) $auth = 2; if( ($auth < 1) && (in_array($ug, $SIGMACHAT_AUTH_ACCESS)) ) $auth = 1; if(in_array($ug, $SIGMACHAT_AUTH_NOACCESS)) { $auth = 0; break; } } $uid = $userinfo['userid']; } } else $auth = $SIGMACHAT_AUTH_GUEST; $result_string = "SCRAS^1.1\nAUTH^$auth\nUID^$uid\n"; if($SIGMACHAT_ENABLE_LINK_PROFILE) $result_string .= "SITE_LINK^Profile^$SIGMACHAT_FORUM_URL/chat_func_profile.php\n"; if($SIGMACHAT_ENABLE_LINK_ADDBUDDY) $result_string .= "SITE_LINK^Add Buddy^$SIGMACHAT_FORUM_URL/chat_func_addbuddy.php\n"; if($SIGMACHAT_ENABLE_LINK_PM) $result_string .= "SITE_LINK^Prv. Message^$SIGMACHAT_FORUM_URL/chat_func_pm.php\n"; if($SIGMACHAT_ENABLE_LINK_EMAIL) $result_string .= "SITE_LINK^eMail^$SIGMACHAT_FORUM_URL/chat_func_email.php\n"; if($SIGMACHAT_ENABLE_LINK_FINDPOSTS) $result_string .= "SITE_LINK^Find Posts^$SIGMACHAT_FORUM_URL/chat_func_findposts.php\n"; if($SIGMACHAT_ENABLE_LINK_FORUM_IGNORE) $result_string .= "SITE_LINK^Forum Ignore^$SIGMACHAT_FORUM_URL/chat_func_ignore.php\n"; print($result_string); ?> Code:
$username = html_entity_decode($username); $password = html_entity_decode($password); |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|