本文整理匯總了PHP中MailSo\Base\Utils::IsMbStringSupported方法的典型用法代碼示例。如果您正苦於以下問題:PHP Utils::IsMbStringSupported方法的具體用法?PHP Utils::IsMbStringSupported怎麽用?PHP Utils::IsMbStringSupported使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類MailSo\Base\Utils
的用法示例。
在下文中一共展示了Utils::IsMbStringSupported方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: SetupDefaultMailSoConfig
/**
* @return string
*/
public static function SetupDefaultMailSoConfig()
{
if (\class_exists('MailSo\\Config')) {
if (\RainLoop\Api::Config()->Get('labs', 'disable_iconv_if_mbstring_supported', false) && \MailSo\Base\Utils::IsMbStringSupported() && \MailSo\Config::$MBSTRING) {
\MailSo\Config::$ICONV = false;
}
\MailSo\Config::$MessageListFastSimpleSearch = !!\RainLoop\Api::Config()->Get('labs', 'imap_message_list_fast_simple_search', true);
\MailSo\Config::$MessageListCountLimitTrigger = (int) \RainLoop\Api::Config()->Get('labs', 'imap_message_list_count_limit_trigger', 0);
\MailSo\Config::$MessageListDateFilter = (int) \RainLoop\Api::Config()->Get('labs', 'imap_message_list_date_filter', 0);
\MailSo\Config::$MessageListPermanentFilter = \trim(\RainLoop\Api::Config()->Get('labs', 'imap_message_list_permanent_filter', ''));
\MailSo\Config::$MessageAllHeaders = !!\RainLoop\Api::Config()->Get('labs', 'imap_message_all_headers', false);
\MailSo\Config::$LargeThreadLimit = (int) \RainLoop\Api::Config()->Get('labs', 'imap_large_thread_limit', 50);
\MailSo\Config::$BoundaryPrefix = '_RainLoop_';
\MailSo\Config::$SystemLogger = \RainLoop\Api::Logger();
$sSslCafile = \RainLoop\Api::Config()->Get('ssl', 'cafile', '');
$sSslCapath = \RainLoop\Api::Config()->Get('ssl', 'capath', '');
if (!empty($sSslCafile) || !empty($sSslCapath)) {
\MailSo\Hooks::Add('Net.NetClient.StreamContextSettings/Filter', function (&$aStreamContextSettings) use($sSslCafile, $sSslCapath) {
if (isset($aStreamContextSettings['ssl']) && \is_array($aStreamContextSettings['ssl'])) {
if (empty($aStreamContextSettings['ssl']['cafile']) && !empty($sSslCafile)) {
$aStreamContextSettings['ssl']['cafile'] = $sSslCafile;
}
if (empty($aStreamContextSettings['ssl']['capath']) && !empty($sSslCapath)) {
$aStreamContextSettings['ssl']['capath'] = $sSslCapath;
}
}
});
}
}
}
示例2: SetupDefaultMailSoConfig
/**
* @return string
*/
public static function SetupDefaultMailSoConfig()
{
if (\class_exists('MailSo\\Config')) {
if (\RainLoop\Api::Config()->Get('labs', 'disable_iconv_if_mbstring_supported', false) && \MailSo\Base\Utils::IsMbStringSupported() && \MailSo\Config::$MBSTRING) {
\MailSo\Config::$ICONV = false;
}
\MailSo\Config::$MessageListFastSimpleSearch = !!\RainLoop\Api::Config()->Get('labs', 'imap_message_list_fast_simple_search', true);
\MailSo\Config::$MessageListCountLimitTrigger = (int) \RainLoop\Api::Config()->Get('labs', 'imap_message_list_count_limit_trigger', 0);
\MailSo\Config::$MessageListDateFilter = (int) \RainLoop\Api::Config()->Get('labs', 'imap_message_list_date_filter', 0);
\MailSo\Config::$MessageListUndeletedFilter = !!\RainLoop\Api::Config()->Get('labs', 'imap_message_list_hide_deleted_messages', true);
\MailSo\Config::$SystemLogger = \RainLoop\Api::Logger();
}
}
示例3: Handle
/**
* @return bool
*/
public static function Handle()
{
static $bOne = null;
if ($bOne) {
return true;
}
if (!\class_exists('MailSo\\Version')) {
return false;
}
if (self::Config()->Get('labs', 'disable_iconv_if_mbstring_supported', false) && \class_exists('MailSo\\Capa') && \MailSo\Base\Utils::IsMbStringSupported()) {
\MailSo\Config::$ICONV = false;
}
$bOne = true;
return true;
}
示例4: __construct
/**
* @return void
*/
private function __construct()
{
$this->oHttp = \MailSo\Base\Http::SingletonInstance();
$this->oActions = Actions::NewInstance();
\set_error_handler(array(&$this, 'LogPhpErrorHandler'));
$this->oServiceActions = new \RainLoop\ServiceActions($this->oHttp, $this->oActions);
if ($this->oActions->Config()->Get('debug', 'enable', false)) {
\error_reporting(E_ALL);
\ini_set('display_errors', 1);
}
if ($this->oActions->Config()->Get('labs', 'disable_iconv_if_mbstring_supported', false) && \class_exists('MailSo\\Capa') && \MailSo\Base\Utils::IsMbStringSupported()) {
\MailSo\Config::$ICONV = false;
}
$sServer = \trim($this->oActions->Config()->Get('security', 'custom_server_signature', ''));
if (0 < \strlen($sServer)) {
@\header('Server: ' . $sServer, true);
}
if ($this->oActions->Config()->Get('labs', 'force_https', false) && !$this->oHttp->IsSecure()) {
@\header('Location: https://' . $this->oHttp->GetHost(false, false) . $this->oHttp->GetUrl(), true);
exit;
}
}
示例5: CharsetDetect
/**
* @param string $sStr
*
* @return string
*/
public static function CharsetDetect($sStr)
{
$mResult = '';
if (!\MailSo\Base\Utils::IsAscii($sStr)) {
$mResult = \MailSo\Base\Utils::IsMbStringSupported() && \MailSo\Base\Utils::FunctionExistsAndEnabled('mb_detect_encoding') ? @\mb_detect_encoding($sStr, 'auto', true) : false;
if (false === $mResult && \MailSo\Base\Utils::IsIconvSupported()) {
$mResult = \md5(@\iconv('utf-8', 'utf-8//IGNORE', $sStr)) === \md5($sStr) ? 'utf-8' : '';
}
}
return \is_string($mResult) && 0 < \strlen($mResult) ? $mResult : '';
}
示例6: ConvertEncoding
/**
* @param string $sInputString
* @param string $sInputFromEncoding
* @param string $sInputToEncoding
*
* @return string
*/
public static function ConvertEncoding($sInputString, $sInputFromEncoding, $sInputToEncoding)
{
$sResult = $sInputString;
$sFromEncoding = \MailSo\Base\Utils::normalizeCharset($sInputFromEncoding);
$sToEncoding = \MailSo\Base\Utils::normalizeCharset($sInputToEncoding);
if ('' === \trim($sResult) || $sFromEncoding === $sToEncoding && \MailSo\Base\Enumerations\Charset::UTF_8 !== $sFromEncoding) {
return $sResult;
}
$bUnknown = false;
switch (true) {
default:
$bUnknown = true;
break;
case $sFromEncoding === \MailSo\Base\Enumerations\Charset::ISO_8859_1 && $sToEncoding === \MailSo\Base\Enumerations\Charset::UTF_8 && \function_exists('utf8_encode'):
$sResult = \utf8_encode($sResult);
break;
case $sFromEncoding === \MailSo\Base\Enumerations\Charset::UTF_8 && $sToEncoding === \MailSo\Base\Enumerations\Charset::ISO_8859_1 && \function_exists('utf8_decode'):
$sResult = \utf8_decode($sResult);
break;
case $sFromEncoding === \MailSo\Base\Enumerations\Charset::UTF_7_IMAP && $sToEncoding === \MailSo\Base\Enumerations\Charset::UTF_8:
$sResult = \MailSo\Base\Utils::Utf7ModifiedToUtf8($sResult);
if (false === $sResult) {
$sResult = $sInputString;
}
break;
case $sFromEncoding === \MailSo\Base\Enumerations\Charset::UTF_8 && $sToEncoding === \MailSo\Base\Enumerations\Charset::UTF_7_IMAP:
$sResult = \MailSo\Base\Utils::Utf8ToUtf7Modified($sResult);
if (false === $sResult) {
$sResult = $sInputString;
}
break;
case $sFromEncoding === \MailSo\Base\Enumerations\Charset::UTF_7_IMAP:
$sResult = \MailSo\Base\Utils::ConvertEncoding(\MailSo\Base\Utils::ModifiedToPlainUtf7($sResult), \MailSo\Base\Enumerations\Charset::UTF_7, $sToEncoding);
break;
case \in_array(\strtolower($sFromEncoding), \MailSo\Base\Utils::$SuppostedCharsets):
if (\MailSo\Base\Utils::IsIconvSupported()) {
$sResult = @\iconv(\strtoupper($sFromEncoding), \strtoupper($sToEncoding) . '//IGNORE', $sResult);
} else {
if (\MailSo\Base\Utils::IsMbStringSupported()) {
$sResult = @\mb_convert_encoding($sResult, \strtoupper($sToEncoding), \strtoupper($sFromEncoding));
} else {
if (\MailSo\Base\Utils::IsLibIconvSupported()) {
$sResult = @\libiconv(\strtoupper($sFromEncoding), \strtoupper($sToEncoding), $sResult);
}
}
}
$sResult = false !== $sResult ? $sResult : $sInputString;
break;
}
if ($bUnknown && \MailSo\Base\Utils::IsMbStringSupported()) {
$sResult = @\mb_convert_encoding($sResult, $sToEncoding);
}
return $sResult;
}