• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/provider/taskprovider.php
  • Класс: BitrixTasksProviderTaskProvider
  • Вызов: TaskProvider::parseOrder
private function parseOrder($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"),
	);
	$order = strtolower(trim($order));
	if(array_key_exists($order, $arOrder))
		$o = $arOrder[$order];
	elseif(array_key_exists($default_order, $arOrder))
		$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)
	{
		if($o[1] == "asc")
			$o[0] = true;
		else
			$o[0] = false;
	}

	return $o;
}