• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/controller/leftmenu.php
  • Класс: BitrixIntranetControllerLeftMenu
  • Вызов: LeftMenu::convertItemsSortFromJSToDB
static function convertItemsSortFromJSToDB($itemsFromPost, $version = null): array
{
	$userOption = ['show' => [], 'hide' => []];
	if ($version === null)
	{
		foreach ($userOption as $key => $val)
		{
			if (isset($itemsFromPost[$key]) && is_array($itemsFromPost[$key]))
			{
				$userOption[$key] = $itemsFromPost[$key];
			}
		}
	}
	else
	{
		$convert = function($res, &$itemsPointer) use (&$convert) {
			foreach ($res as $item)
			{
				if (is_string($item))
				{
					$itemsPointer[] = $item;
				}
				else if (is_array($item) && isset($item['group_id']))
				{
					if (!empty($item['items']))
					{
						$itemsPointer[$item['group_id']] = [];
						$convert($item['items'], $itemsPointer[$item['group_id']]);
					}
					else
					{
						$itemsPointer[] = $item;
					}
				}
			}
		};
		$convert($itemsFromPost['show'] ?? [], $userOption['show']);
		$convert($itemsFromPost['hide'] ?? [], $userOption['hide']);
		unset($convert);
		$userOption['version'] = $version;
	}
	return $userOption;
}