• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/general/webdavlogdeletedelement.php
  • Класс: CWebDavLogDeletedElementBase
  • Вызов: CWebDavLogDeletedElementBase::getList
static function getList(array $order = array(), array $filter = array())
{
	$t = static::TABLE_NAME;

	static::filterFields($order);
	static::filterFields($filter);

	$sqlWhere = array();
	foreach ($filter as $field => $value)
	{
		switch($field)
		{
			case 'IBLOCK_ID':
			case 'IS_DIR':
			case 'SECTION_ID':
			case 'USER_ID':
				$value = (int)$value;
				$sqlWhere[] = $field . '=' . $value;
				break;
			case 'ELEMENT_ID':
				$value = static::getDb()->forSql($value);
				$sqlWhere[] = $field . '=' . ''' . $value . ''';
				break;
			case 'VERSION':
				//todo version is long int
				$value = (int)$value;
				$sqlWhere[] = $field . '>=' . $value;
				break;
		}
	}
	unset($value);

	if($sqlWhere)
	{
		$sqlWhere = ' WHERE ' . implode(' AND ', $sqlWhere);
	}
	else
	{
		$sqlWhere = '';
	}

	$sqlOrder = '';
	if($order)
	{
		$sqlOrder = array();
		foreach ($order as $by => $ord)
		{
			$by = mb_strtoupper($by);
			$sqlOrder[] = $by . ' ' . (mb_strtoupper($ord) == 'DESC' ? 'DESC' : 'ASC');
		}
		unset($by);
		$sqlOrder = ' ORDER BY ' . implode(', ', $sqlOrder);
	}

	return static::getDb()->query("SELECT * FROM {$t} {$sqlWhere} {$sqlOrder}");
}