- Модуль: timeman
- Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman_user.php
- Класс: CTimeManUser
- Вызов: CTimeManUser::TaskActions
public function TaskActions($arActions, $site_id = SITE_ID)
{
if (
($last_entry = $this->_GetLastData())
//&& $this->isDayOpen()
//&& !$this->isDayExpired()
)
{
$this->SITE_ID = $site_id;
$arTasks = $last_entry['TASKS'];
if (!is_array($arTasks))
{
$arTasks = [];
}
if ($arActions['name'] <> '')
{
$obt = new CTasks();
if ($ID = $obt->Add([
'RESPONSIBLE_ID' => $this->USER_ID,
'TITLE' => $arActions['name'],
'TAGS' => [],
'STATUS' => 2,
'SITE_ID' => $this->SITE_ID,
]))
{
if (!is_array($arActions['add']))
{
$arActions['add'] = [$ID];
}
else
{
$arActions['add'][] = $ID;
}
}
}
if (is_array($arActions['add']))
{
foreach ($arActions['add'] as $task_id)
{
$arTasks[] = intval($task_id);
}
$GLOBALS['BX_TIMEMAN_RECENTLY_ADDED_TASK_ID'] = $task_id;
}
$arTasks = array_unique($arTasks);
if (is_array($arActions['remove']))
{
$arActions['remove'] = array_unique($arActions['remove']);
foreach ($arActions['remove'] as $task_id)
{
$task_id = intval($task_id);
if (false !== ($key = array_search($task_id, $arTasks)))
{
unset($arTasks[$key]);
}
}
}
$arFields = ['TASKS' => []];
if (count($arTasks) > 0)
{
$arCheck = $this->GetTasks($arTasks);
foreach ($arCheck as $a)
{
$arFields['TASKS'][] = $a['ID'];
}
}
if (CTimeManEntry::Update($last_entry['ID'], $arFields))
{
return $this->_GetLastData(true);
}
}
return false;
}