diff --git a/bootstrap.php b/bootstrap.php index d050960ed4ffdeb0443e5878029d3539e625901f..cc9437d7cf9be3760aae4ba411316216cc4a8adc 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -187,6 +187,33 @@ class Bootstrap { require(INCLUDE_DIR.'mysql.php'); } + function i18n_prep() { + // MPDF requires mbstring functions + if (!extension_loaded('mbstring')) { + if (function_exists('iconv')) { + function mb_strpos($a, $b) { return iconv_strpos($a, $b); } + function mb_strlen($str) { return iconv_strlen($str); } + function mb_substr($a, $b, $c=null) { + return iconv_substr($a, $b, $c); } + function mb_convert_encoding($str, $to, $from='utf-8') { + return iconv($from, $to, $str); } + } + else { + function mb_strpos($a, $b) { return strpos($a, $b); } + function mb_strlen($str) { return strlen($str); } + function mb_substr($a, $b, $c=null) { return substr($a, $b, $c); } + function mb_convert_encoding($str, $to, $from='utf-8') { + return iconv($from, $to, $str); } + } + function mb_strtoupper($a) { return strtoupper($a); } + function mb_strtolower($a) { return strtolower($a); } + } + else { + // Use UTF-8 for all multi-byte string encoding + mb_internal_encoding('utf-8'); + } + } + function croak($message) { $msg = $message."\n\n".THISPAGE; Mailer::sendmail(ADMIN_EMAIL, 'osTicket Fatal Error', $msg, diff --git a/main.inc.php b/main.inc.php index e62d6e5e43bec6fed2bdee435005c9eae94c6d44..924f728886779c0cd668d07376cee0f745596a6b 100644 --- a/main.inc.php +++ b/main.inc.php @@ -24,6 +24,7 @@ require('bootstrap.php'); Bootstrap::loadConfig(); Bootstrap::defineTables(TABLE_PREFIX); Bootstrap::loadCode(); +Bootstrap::i18n_prep(); Bootstrap::connect(); if(!($ost=osTicket::start()) || !($cfg = $ost->getConfig()))