mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-06 08:47:45 +02:00
- no more encoding mixture, say hello to UTF-8 (I'll add a validation solution for PHP 4.3.3/4 ASAP) [side effect: fixes Bug #3762]
- take local server time into consideration for birthday/age calculation - faster active topic search - allow changing active topic time frame [Bug #4150] - reload stylesheet on language change [Bug #4222] git-svn-id: file:///svn/phpbb/trunk@6380 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -25,7 +25,6 @@
|
||||
*/
|
||||
class jabber
|
||||
{
|
||||
var $encoding;
|
||||
var $server;
|
||||
var $port;
|
||||
var $username;
|
||||
@@ -68,8 +67,6 @@ class jabber
|
||||
$this->packet_queue = $this->subscription_queue = array();
|
||||
$this->iq_sleep_timer = $this->delay_disconnect = 1;
|
||||
|
||||
$this->encoding = 'UTF-8';
|
||||
|
||||
$this->returned_keep_alive = true;
|
||||
$this->txnid = 0;
|
||||
|
||||
@@ -454,7 +451,6 @@ class jabber
|
||||
}
|
||||
|
||||
$this->_array_xmlspecialchars($content);
|
||||
$this->_array_conv_utf8($content);
|
||||
|
||||
$xml = "<message to='$to' type='$type' id='$id'>\n";
|
||||
|
||||
@@ -795,69 +791,6 @@ class jabber
|
||||
$string = str_replace(array('&', '>', '<', '"', '\''), array('&', '>', '<', '"', '''), $string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Recursively converts all elements in an array to UTF-8 from the encoding stored in {@link encoding the encoding attribute}.
|
||||
* @access private
|
||||
*/
|
||||
function _array_conv_utf8(&$array)
|
||||
{
|
||||
// no need to do anything if the encoding already is UTF-8
|
||||
if (strtoupper($this->encoding) == 'UTF-8')
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (is_array($array))
|
||||
{
|
||||
foreach ($array as $k => $v)
|
||||
{
|
||||
if (is_array($v))
|
||||
{
|
||||
$this->_array_conv_utf8($array[$k]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->_conv_utf8($array[$k]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a string to utf8 encoding.
|
||||
*
|
||||
* @param string $string has to have the same encoding as {@link encoding the encoding attribute} is set to.
|
||||
*
|
||||
* @return boolean True on success, false on failure.
|
||||
*
|
||||
* @access private
|
||||
*/
|
||||
function _conv_utf8(&$string)
|
||||
{
|
||||
// no need to do anything if the encoding already is UTF-8
|
||||
if (strtoupper($this->encoding) == 'UTF-8')
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// first try iconv then mb_convert_encoding and as a last fall back try recode_string
|
||||
if (function_exists('iconv') && (($string = iconv($this->encoding, 'UTF-8', $string)) !== false))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
elseif (function_exists('mb_convert_encoding') && (($string = mb_convert_encoding($string, 'UTF-8', $this->encoding)) !== false))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
elseif (function_exists('recode_string') && (($string = recode_string($this->encoding . '..UTF-8', $string)) !== false))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// if everything fails we will just have to live with what we have, good luck!
|
||||
return false;
|
||||
}
|
||||
|
||||
// ======================================================================
|
||||
// <message/> parsers
|
||||
// ======================================================================
|
||||
|
Reference in New Issue
Block a user