• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/controller/leftmenu.php
  • Класс: BitrixIntranetControllerLeftMenu
  • Вызов: LeftMenu::updateSelfItemAction
public function updateSelfItemAction()
{
	if (!isset($_POST["itemData"]))
		$error = Loc::getMessage("INTRANET_LEFT_MENU_SELF_ITEM_UNKNOWN_ERROR");

	$itemData = array(
		"ID" => $_POST["itemData"]["id"],
		"NEW_PAGE" => isset($_POST["itemData"]["openInNewPage"]) && $_POST["itemData"]["openInNewPage"] == "Y" ? "Y" : "N"
	);

	if (isset($_POST["itemData"]["text"]))
	{
		$itemData["TEXT"] = trim($_POST["itemData"]["text"]);
		$itemData["TEXT"] = BitrixMainTextEmoji::encode($itemData["TEXT"]);
	}
	if (empty($itemData["TEXT"]))
	{
		$error = Loc::getMessage("INTRANET_LEFT_MENU_SELF_ITEM_EMPTY_ERROR");
	}

	if (isset($_POST["itemData"]["link"]))
	{
		$itemData["LINK"] = trim($_POST["itemData"]["link"]);
		if (!preg_match("~^[/|http]~i", $itemData["LINK"]))
			$error = Loc::getMessage("INTRANET_LEFT_MENU_SELF_ITEM_LINK_ERROR");
	}

	if (!empty($error))
	{
		$this->addError(new Error($error));
		return null;
	}

	$selfItems = CUserOptions::GetOption("intranet", "left_menu_self_items_" . SITE_ID);
	if (is_array($selfItems) && !empty($selfItems))
	{
		foreach ($selfItems as $key => $item)
		{
			if ($item["ID"] == $_POST["itemData"]["id"])
			{
				$selfItems[$key] = $itemData;

				CUserOptions::SetOption("intranet", "left_menu_self_items_". SITE_ID, $selfItems);
				break;
			}
		}
	}
}