From bd8d64976e4eda8dbbbeacfeec0759b4624c246e Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Tue, 29 Oct 2013 14:51:25 +0000 Subject: [PATCH] Provide fallback functions for mbstring module --- bootstrap.php | 27 +++++++++++++++++++++++++++ main.inc.php | 1 + 2 files changed, 28 insertions(+) diff --git a/bootstrap.php b/bootstrap.php index d050960ed..cc9437d7c 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 e62d6e5e4..924f72888 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())) -- GitLab