• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/checklistitem.php
  • Класс: CTaskCheckListItem
  • Вызов: CTaskCheckListItem::checkFieldsForSort
static function checkFieldsForSort($order)
{
	/** @noinspection PhpVariableNamingConventionInspection */
	global $APPLICATION;

	$errors = [];
	$errorsFound = false;

	$allowedSortFields = [
		'ID',
		'TASK_ID',
		'CREATED_BY',
		'PARENT_ID',
		'TITLE',
		'SORT_INDEX',
		'IS_COMPLETE',
		'IS_IMPORTANT',
		'TOGGLED_BY',
		'TOGGLED_DATE'
	];

	foreach ($order as $field => $sort)
	{
		if (!in_array($field, $allowedSortFields, true))
		{
			$errorsFound = true;
			$errors[] = [
				'id' => 'ERROR_TASKS_CHECKLISTITEM_UNKNOWN_FIELD',
				'text' => GetMessage('TASKS_CHECKLISTITEM_UNKNOWN_FIELD'),
			];
		}

		$sort = ToLower($sort);
		if ($sort !== 'desc' && $sort !== 'asc')
		{
			$errorsFound = true;
			$errors[] = [
				'id' => 'ERROR_TASKS_CHECKLISTITEM_BAD_SORT_DIRECTION',
				'text' => GetMessage('TASKS_CHECKLISTITEM_BAD_SORT_DIRECTION'),
			];
		}
	}

	if ($errorsFound)
	{
		$e = new CAdminException($errors);
		$APPLICATION->ThrowException($e);
	}

	return !$errorsFound;
}