- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/task.php
- Класс: CTasks
- Вызов: CTasks::getSelectionExpressionByType
static function getSelectionExpressionByType($type, $parameters)
{
try
{
switch ($type)
{
case 'MEMBER':
case 'ACCOMPLICE':
case 'AUDITOR':
$userIdsConditions = [];
foreach ($parameters['USER_ID'] as $userId)
{
$userIdsConditions[] = "(TM.USER_ID = '" . intval($userId) . "')";
}
$typeCondition = ($parameters['TYPE_CONDITION'] ? ' AND TM.TYPE = ?s' : '');
$sql = new SqlExpression(
'SELECT TM.?# FROM ?# TM WHERE TM.?# = ?#.ID AND ('
. implode(" OR ", $userIdsConditions)
. ')'
. $typeCondition,
'TASK_ID',
'b_tasks_member',
'TASK_ID',
'tasks_internals_task',
($type == 'ACCOMPLICE' ? 'A' : 'U')
);
break;
case 'TAG':
$sql = new SqlExpression(
'SELECT TT.?# FROM ?# TT WHERE TT.?# = ?#.ID AND TT.NAME = ?s',
'TASK_ID',
'b_tasks_tag',
'TASK_ID',
'tasks_internals_task',
$parameters['NAME']
);
break;
default:
$sql = '';
break;
}
}
catch (Exception $ex)
{
$sql = '';
}
return $sql;
}