• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/contactcenter.php
  • Класс: BitrixIntranetContactCenter
  • Вызов: ContactCenter::prepareRestItems
private function prepareRestItems(array $items) :array
{
	$result = [];

	foreach ($items as $item)
	{
		if ($item['SLIDER'] == "Y")
		{
			$frame = "";
			$onclick = preg_match("/^(http|https|ftp)://(([A-Z0-9][A-Z0-9_-]*)(.[A-Z0-9][A-Z0-9_-]*)+)/i", $item['HANDLER'])
				? "BX.SidePanel.Instance.open('voximplant', {
					contentCallback: function () {return '".$frame."';}})"
				: "BX.SidePanel.Instance.open('" . Marketplace::getMainDirectory() . "?category=".$item['HANDLER']."')";
		}
		else
		{
			$onclick = "window.open ('".$item['HANDLER']."', '_blank')";
		}

		$result[$item['NAME']] = [
			"NAME" => $item['NAME'],
			"LOGO_CLASS" => "ui-icon",
			"SELECTED" => false,
			"ONCLICK" => $onclick,
			"IMAGE" => $item['IMAGE'],
			"COLOR" => $item['COLOR'],
		];
	}

	return $result;
}