- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblock.php
- Класс: CAllIBlock
- Вызов: CAllIBlock::MkOperationFilter
static function MkOperationFilter($key)
{
static $operations = array(
"!><" => "NB", //not between
"!=" => "NI", //not Identical
"!%" => "NS", //not substring
"><" => "B", //between
">=" => "GE", //greater or equal
"<=" => "LE", //less or equal
"=" => "I", //Identical
"%" => "S", //substring
"?" => "?", //logical
">" => "G", //greater
"<" => "L", //less
"!" => "N", // not field LIKE val
"*" => "FT", // partial full text match
"*=" => "FTI", // identical full text match
"*%" => "FTL", // partial full text match based on LIKE
);
$key = (string)$key;
$result = array(
"FIELD" => $key,
"OPERATION" => "E",
"PREFIX" => ""
);
if ($key == '')
return $result; // zero key
for ($i = 3; $i > 0; $i--)
{
$op = mb_substr($key, 0, $i);
if ($op && isset($operations[$op]))
{
$result["FIELD"] = mb_substr($key, $i);
$result["OPERATION"] = $operations[$op];
$result["PREFIX"] = $op;
break;
}
}
return $result; // field LIKE val
}