diff --git a/functions/func.locale.php b/functions/func.locale.php index 4512ca3..b8dda1e 100644 --- a/functions/func.locale.php +++ b/functions/func.locale.php @@ -513,62 +513,69 @@ * @param string $language - язык * @return string */ - function pretty_date($string, $language = '') - { - // БЕЗОПАСНОСТЬ PHP 8: Приводим к строке, чтобы избежать ошибки NULL в strtr() - $string = (string)$string; - - // пытаемся решить проблему для кодировки дат на лок. серверах - // БЕЗОПАСНОСТЬ PHP 8: Проверяем !empty(), чтобы избежать ошибки mb_check_encoding() - if (!empty($string) && ! mb_check_encoding($string, 'UTF-8')) - { - $string = iconv('Windows-1251', 'UTF-8', $string); - } +function pretty_date($string, $language = '') +{ + $string = (string)$string; + + if (!empty($string) && !mb_check_encoding($string, 'UTF-8')) + { + $string = iconv('Windows-1251', 'UTF-8', $string); + } - if ($language == '') - { - $language = (defined('ACP') && ACP) - ? $_SESSION['admin_language'] - : $_SESSION['user_language']; - } + if ($language == '') + { + $language = (defined('ACP') && ACP) + ? $_SESSION['admin_language'] + : $_SESSION['user_language']; + } - $language = strtolower($language); + $language = strtolower($language); - switch ($language) - { - default: - case 'ru': - $pretty = array( - 'Январь' =>'января', 'Февраль' =>'февраля', 'Март' =>'марта', - 'Апрель' =>'апреля', 'Май' =>'мая', 'Июнь' =>'июня', - 'Июль' =>'июля', 'Август' =>'августа', 'Сентябрь'=>'сентября', - 'Октябрь' =>'октября', 'Ноябрь' =>'ноября', 'Декабрь' =>'декабря', + switch ($language) + { + default: + case 'ru': + $pretty = array( + // Месяцы (Именительный -> Родительный) + 'Января' => 'января', 'Февраля' => 'февраля', 'Марта' => 'марта', + 'Апреля' => 'апреля', 'Мая' => 'мая', 'Июня' => 'июня', + 'Июля' => 'июля', 'Августа' => 'августа', 'Сентября' => 'сентября', + 'Октября' => 'октября', 'Ноября' => 'ноября', 'Декабря' => 'декабря', + + 'Январь' => 'января', 'Февраль' => 'февраля', 'Март' => 'марта', + 'Апрель' => 'апреля', 'Май' => 'мая', 'Июнь' => 'июня', + 'Июль' => 'июля', 'Август' => 'августа', 'Сентябрь' => 'сентября', + 'Октябрь' => 'октября', 'Ноябрь' => 'ноября', 'Декабрь' => 'декабря', - 'воскресенье'=>'Воскресенье', 'понедельник'=>'Понедельник', 'вторник' =>'Вторник', - 'среда' =>'Среда', 'четверг' =>'Четверг', 'пятница' =>'Пятница', - 'суббота' =>'Суббота' - ); - break; + // Дни недели (делаем с Большой буквы) + 'воскресенье' => 'Воскресенье', 'понедельник' => 'Понедельник', 'вторник' => 'Вторник', + 'среда' => 'Среда', 'четверг' => 'Четверг', 'пятница' => 'Пятница', + 'суббота' => 'Суббота' + ); + break; - case 'ua': - case 'uk': - $pretty = array( - 'Січень' =>'січня', 'Лютий' =>'лютого', 'Березень'=>'березня', - 'Квітень'=>'квітня', 'Травень' =>'травня', 'Червень' =>'червня', - 'Липень' =>'липня', 'Серпень' =>'серпня', 'Вересень'=>'вересня', - 'Жовтень'=>'жовтня', 'Листопад' =>'листопада', 'Грудень' =>'грудня', + case 'ua': + case 'uk': + $pretty = array( + 'Січня' => 'січня', 'Лютого' => 'лютого', 'Березня' => 'березня', + 'Квітня' => 'квітня', 'Травня' => 'травня', 'Червня' => 'червня', + 'Липня' => 'липня', 'Серпня' => 'серпня', 'Вересня' => 'веересня', + 'Жовтня' => 'жовтня', 'Листопада' => 'листопада', 'Грудня' => 'грудня', + + 'Січень' => 'січня', 'Лютий' => 'лютого', 'Березень' => 'березня', + 'Квітень' => 'квітня', 'Травень' => 'травня', 'Червень' => 'червня', + 'Липень' => 'липня', 'Серпень' => 'серпня', 'Вересень' => 'вересня', + 'Жовтень' => 'жовтня', 'Листопад' => 'листопада', 'Грудень' => 'грудня', - 'неділя' =>'Неділя', 'понеділок'=>'Понеділок', 'вівторок'=>'Вівторок', - 'середа' =>'Середа', 'четвер' =>'Четвер', 'п’ятниця'=>'П’ятниця', - 'субота' =>'Субота' - ); - break; - } + 'неділя' => 'Неділя', 'понеділок' => 'Понеділок', 'вівторок' => 'Вівторок', + 'середа' => 'Середа', 'четвер' => 'Четвер', 'п’ятниця' => 'П’ятниця', + 'субота' => 'Субота' + ); + break; + } - return (isset($pretty) - ? strtr($string, $pretty) - : $string); - } + return (isset($pretty) ? strtr($string, $pretty) : $string); +} /**