Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/pull/lib/ |
Upload File : |
<?php namespace Bitrix\Pull; class Common { public static function jsonEncode($params) { $option = JSON_UNESCAPED_UNICODE; static::recursiveConvertDateToString($params); return \Bitrix\Main\Web\Json::encode($params, $option); } public static function recursiveConvertDateToString(array &$params) { array_walk_recursive($params, function(&$item, $key){ if ($item instanceof \Bitrix\Main\Type\DateTime) { $item = date('c', $item->getTimestamp()); } }); } /** * Checks if input array contains a string with invalid unicode symbol(s). If array contains invalid symbols, returns * path to the key with invalid string. If array is valid, returns FALSE. * * @param array $input Input array to validate. * @param string $currentPath Current validation path (for recursion). * @return string|false */ public static function findInvalidUnicodeSymbols(array $input, $currentPath = "") { foreach ($input as $k => $v) { if(is_string($input[$k])) { if(!mb_check_encoding($input[$k])) { return $currentPath . "/" . $k; } } else if (is_array($input[$k])) { $subResult = static::findInvalidUnicodeSymbols($input[$k], $currentPath . "/" . $k); if($subResult) { return $subResult; } } } return false; } }