- Модуль: seo
- Путь к файлу: ~/bitrix/modules/seo/classes/general/seo_keywords.php
- Класс: CSeoKeywords
- Вызов: CSeoKeywords::GetList
static function GetList($arOrder, $arFilter)
{
global $DB;
$arAllFields = array('ID', 'URL', 'SITE_ID', 'KEYWORDS');
$arWhere = array();
foreach ($arFilter as $key => $value)
{
if (in_array($key, $arAllFields))
{
switch ($key)
{
case 'ID':
$arWhere[] = 'ID=''.intval($value).''';
break;
case 'SITE_ID':
$arWhere[] = 'SITE_ID=''.$DB->ForSql($value).''';
break;
case 'URL':
if (array_key_exists('URL_EXACT_MATCH', $arFilter) && $arFilter['URL_EXACT_MATCH'] == 'N')
$arWhere[] = 'URL LIKE ''.$DB->ForSql($value).'%'';
else
$arWhere[] = 'URL=''.$DB->ForSql($value).''';
break;
case 'KEYWORDS':
$arWhere[] = 'KEYWORDS LIKE '%'.$DB->ForSql($value).'%'';
break;
}
}
}
$strWhere = '';
if (count($arWhere) > 0)
$strWhere = 'WHERE '.implode(' AND ', $arWhere);
$strOrder = '';
foreach ($arOrder as $key => $dir)
{
$dir = ToUpper($dir);
$key = ToUpper($key);
if ($dir != 'DESC') $dir = 'ASC';
if (in_array($key, $arAllFields))
{
$strOrder .= ($strOrder == '' ? '' : ', ').$DB->ForSql($key).' '.$dir;
}
}
if ($strOrder != '') $strOrder = 'ORDER BY '.$strOrder;
$query = 'SELECT * FROM b_seo_keywords ';
$query .= $strWhere.' ';
$query .= $strOrder;
return $DB->Query($query);
}