- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/provider/taskprovider.php
- Класс: BitrixTasksProviderTaskProvider
- Вызов: TaskProvider::makeArSelect
private function makeArSelect(): self
{
if (count($this->arSelect) <= 0 || in_array("*", $this->arSelect))
{
$this->arSelect = array_keys($this->arFields);
}
elseif (!in_array("ID", $this->arSelect))
{
$this->arSelect[] = "ID";
}
// add fields that are NOT selected by default
//$this->arFields["FAVORITE"] = "CASE WHEN FVT.TASK_ID IS NULL THEN 'N' ELSE 'Y' END";
// If DESCRIPTION selected, then BBCODE flag must be selected too
if (
in_array('DESCRIPTION', $this->arSelect)
&& ( ! in_array('DESCRIPTION_IN_BBCODE', $this->arSelect) )
)
{
$this->arSelect[] = 'DESCRIPTION_IN_BBCODE';
}
if (!IntegrationForum::isInstalled())
{
$this->arSelect = array_diff($this->arSelect, ['COMMENTS_COUNT', 'FORUM_ID', 'SERVICE_COMMENTS_COUNT']);
}
if ($this->deleteMessageId)
{
$this->arSelect = array_diff($this->arSelect, ['MESSAGE_ID']);
}
if (!array_key_exists('IM_CHAT_CHAT_ID', $this->arFilter))
{
$this->arSelect = array_diff($this->arSelect, ['IM_CHAT_ID', 'IM_CHAT_MESSAGE_ID', 'IM_CHAT_CHAT_ID', 'IM_CHAT_AUTHOR_ID']);
}
return $this;
}