From 25b8dbcb42e750448090d0ab6dc9e7a9e7ec0a8d Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Sun, 20 Feb 2022 01:58:00 +0100 Subject: [PATCH] Implement serendipity_mb_ucfirst() as that's not available. --- include/functions.inc.php | 2 +- include/lang.inc.php | 41 ++++----------------------------------- 2 files changed, 5 insertions(+), 38 deletions(-) diff --git a/include/functions.inc.php b/include/functions.inc.php index 41301131..b6647de3 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -188,7 +188,7 @@ function serendipity_formatTime($format, $time, $useOffset = true, $useDate = fa } } - return serendipity_mb('ucfirst', serendipity_strftime($cache[$format], (int)$time, $useOffset, $useDate)); + return serendipity_mb_ucfirst(serendipity_strftime($cache[$format], (int)$time, $useOffset, $useDate)); } /** diff --git a/include/lang.inc.php b/include/lang.inc.php index a1b2afa0..63730130 100644 --- a/include/lang.inc.php +++ b/include/lang.inc.php @@ -68,43 +68,10 @@ if (!defined('serendipity_MB_LOADED') && defined('serendipity_LANG_LOADED')) { * @param mixed Any input array, dynamically evaluated for best emulation * @return mixed */ - function serendipity_mb(string $func, ...$args) { - static $mbstring = null; - - if (is_null($mbstring)) { - $mbstring = (extension_loaded('mbstring') && @mb_internal_encoding(LANG_CHARSET) ? 1 : 0); - if ($mbstring === 1) { - if (function_exists('mb_strtoupper')) { - $mbstring = 2; - } - } - } - - switch($func) { - case 'ucfirst': - // there's no mb_ucfirst, so emulate it - if ($mbstring === 2) { - $enc = LANG_CHARSET; - return mb_strtoupper(mb_substr($args[0], 0, 1, $enc), $enc) . mb_substr($args[0], 1, mb_strlen($args[0], $enc), $enc); - } else { - return ucfirst($args[0]); - } - - case 'strtolower': - case 'strtoupper': - if ($mbstring === 2) { - return call_user_func_array('mb_' . $func, $args); - } else { - return call_user_func_array($func, $args); - } - - default: - if ($mbstring) { - return call_user_func_array('mb_' . $func, $args); - } else { - return call_user_func_array($func, $args); - } - } + function serendipity_mb_ucfirst(string $str) + { + // there's no mb_ucfirst, so emulate it + return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1); } define('serendipity_MB_LOADED', true);