- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblock.php
- Класс: CAllIBlock
- Вызов: CAllIBlock::_Order
static function _Order($by, $order, $default_order, $nullable = true)
{
static $arOrder = array(
"nulls,asc" => array(true, "asc" ),
"asc,nulls" => array(false, "asc" ),
"nulls,desc" => array(true, "desc"),
"desc,nulls" => array(false, "desc"),
"asc" => array(true, "asc" ),
"desc" => array(false, "desc"),
);
if (!is_string($order))
{
$order = 'desc,nulls';
}
$order = mb_strtolower(trim($order));
$default_order = mb_strtolower(trim($default_order));
if (isset($arOrder[$order]))
$o = $arOrder[$order];
elseif(isset($arOrder[$default_order]))
$o = $arOrder[$default_order];
else
$o = $arOrder["desc,nulls"];
//There is no need to "reverse" nulls order when
//column can not contain nulls
if(!$nullable)
{
$o[0] = ($o[1] == "asc");
}
return $o;
}