• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/menu.php
  • Класс: CMenu
  • Вызов: CMenu::IsItemSelected
static function IsItemSelected($tested_link, $cur_page, $cur_page_no_index)
{
	//"/admin/"
	//"/admin/index.php"
	//"/admin/index.php?module=mail"
	if(mb_strpos($cur_page, $tested_link) === 0 || mb_strpos($cur_page_no_index, $tested_link) === 0)
		return true;

	if(($pos = mb_strpos($tested_link, "?")) !== false)
	{
		if(($s = mb_substr($tested_link, 0, $pos)) == $cur_page || $s == $cur_page_no_index)
		{
			$params = explode("&", mb_substr($tested_link, $pos + 1));
			$bOK = true;
			foreach($params as $param)
			{
				$eqpos = mb_strpos($param, "=");
				$varvalue = "";
				if($eqpos === false)
				{
					$varname = $param;
				}
				elseif($eqpos == 0)
				{
					continue;
				}
				else
				{
					$varname = mb_substr($param, 0, $eqpos);
					$varvalue = urldecode(mb_substr($param, $eqpos + 1));
				}

				$globvarvalue = ($GLOBALS[$varname] ?? "");
				if($globvarvalue != $varvalue)
				{
					$bOK = false;
					break;
				}
			}

			if($bOK)
				return true;
		}
	}
	return false;
}