- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/component/elementlist.php
- Класс: BitrixIblockComponentElementList
- Вызов: ElementList::isAjaxURL
private function isAjaxURL($url)
{
if (preg_match('/^(#|mailto:|javascript:|callto:)/', $url))
return false;
if (mb_strpos($url, '://') !== false)
return false;
$url = preg_replace('/#.*/', '', $url);
if (mb_strpos($url, '?') !== false)
{
$url = mb_substr($url, 0, mb_strpos($url, '?'));
}
if (mb_substr($url, -4) != '.php')
{
if (mb_substr($url, -1) != '/')
{
$url .= '/';
}
$url .= 'index.php';
}
$currentUrl = $this->arParams['CURRENT_BASE_PAGE'];
if (mb_strpos($currentUrl, '?') !== false)
{
$currentUrl = mb_substr($currentUrl, 0, mb_strpos($currentUrl, '?'));
}
if (mb_substr($currentUrl, -4) != '.php')
{
if (mb_substr($currentUrl, -1) != '/')
{
$currentUrl .= '/';
}
$currentUrl .= 'index.php';
}
$currentUrlDirName = dirname($currentUrl);
$currentUrlBaseName = basename($currentUrl);
$dirName = dirname($url);
if (
($dirName == $currentUrlDirName || $dirName == '' || $dirName == '.')
&& basename($url) == $currentUrlBaseName
)
{
return true;
}
return false;
}