Ejemplo n.º 1
0
 private function makeRelationTree($fromTaskId, array $relations, array $taskData)
 {
     if (is_array($relations[$fromTaskId]) && !empty($relations[$fromTaskId])) {
         foreach ($relations[$fromTaskId] as $taskId => $relation) {
             if (!isset($this->taskPool[$taskId])) {
                 $taskItem = \CTaskItem::constructWithPreloadedData($this->userId, $taskData[$taskId]);
                 $taskItem->setCalendar($this->calendar);
             } else {
                 $taskItem = $this->taskPool[$taskId];
             }
             // no deal with tasks with no created date, skip the subtree
             if ((string) $taskItem['CREATED_DATE'] == '') {
                 continue;
             }
             if (!$taskItem->isActionAllowed(\CTaskItem::ACTION_CHANGE_DEADLINE)) {
                 continue;
             } else {
                 $this->taskPool[$taskId] = $taskItem;
                 $this->relations[$fromTaskId][$taskId] = $relation;
                 $this->makeRelationTree($taskId, $relations, $taskData);
             }
         }
     }
 }