1
0
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:
Nils Adermann
2006-09-17 22:02:28 +00:00
parent e2ac2f9d7d
commit ea065f3e67
85 changed files with 256 additions and 293 deletions

View File

@@ -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('&amp;', '&gt;', '&lt;', '&quot;', '&apos;'), $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
// ======================================================================