• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/webdavtmpfile.php
  • Класс: CWebDavTmpFile
  • Вызов: CWebDavTmpFile::buildWhereExpression
static function buildWhereExpression(array $where)
{
	$where = array_intersect_key($where, array_merge(static::$_columns, array('IRRELEVANT' => true)));
	$sqlWhere = array();
	foreach ($where as $field => $value)
	{
		switch ($field)
		{
			case 'ID':
			case 'IS_CLOUD':
			case 'BUCKET_ID':
				$value      = (int)$value;
				$sqlWhere[] = $field . '=' . $value;
				break;
			case 'NAME':
			case 'FILENAME':
			case 'PATH':
				$value      = static::getDb()->forSql($value);
				$sqlWhere[] = $field . '=' . ''' . $value . ''';
				break;
			case "IRRELEVANT":
				$arSqlSearch[] = 'VERSION < ' . strtotime('yesterday');
				break;
			case 'VERSION':
				//todo version is long int
				$value      = (int)$value;
				$sqlWhere[] = $field . '>=' . $value;
				break;
		}
	}
	unset($value);

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

		return $sqlWhere;
	}
	return '';
}