...Человеческий поиск в разработке...
- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/internals/runtime/task.php
- Класс: BitrixTasksInternalsRunTimeTask
- Вызов: Task::getMemberConditions
static function getMemberConditions($filter, $parameters) { $conditions = array(); if(is_array($filter)) { $filter = HelperCommon::parseFilter($filter); // todo: this will fail on sub-filters, LOGIC key foreach($filter as $info) { if((string) $info['FIELD'] === (string) '0') { $conditions[] = static::getMemberConditions($info['VALUE'], $parameters); } else { if( $info['FIELD'] != 'USER_ID' && $info['FIELD'] != 'TASK_ID' && $info['FIELD'] != 'TYPE' ) { continue; } if(is_array($info['VALUE']) && !empty($info['VALUE'])) { $key = ($info['NOT'] ? '!' : '').'@ref.'.$info['FIELD']; $value = new SqlExpression(implode(', ', array_map(function($value) { return intval($value); }, $info['VALUE']))); } else { $key = CAllSQLWhere::getOperationByCode($info['OPERATION']).'ref.'.$info['FIELD']; $value = array('?', $info['VALUE']); } $conditions[$key] = $value; } } } return $conditions; }