protected function handleRequest(array $request) { $projectId = $request[self::FIELD_PROJECT_ID]; $project = Project::fetch($projectId); $lists = TasksList::fetchAllInProject($projectId); $listsRep = array(); foreach ($lists as $list) { $tasks = Task::fetchAllInList($list->getId()); $tasksRep = array(); foreach ($tasks as $task) { $tasksRep[] = array(self::FIELD_TITLE => $task->getTitle(), self::FIELD_DESCRIPTION => $task->getDescription(), self::FIELD_TASK_STATUS => $task->getStatus()); } $listsRep[] = array(self::FIELD_TITLE => $list->getTitle(), self::FIELD_TASKS => $tasksRep); } return array(self::FIELD_PROTOCOL_VERSION => self::CURRENT_PROTOCOL_VERSION, self::FIELD_TITLE => $project->getTitle(), self::FIELD_DESCRIPTION => $project->getDescription(), self::FIELD_LISTS => $listsRep); }
protected function handleRequest(array $request) { $projectId = $request[self::FIELD_PROJECT_ID]; $excludeClosedTasks = $request[self::FIELD_EXCLUDE_CLOSED_TASKS]; $project = Project::fetch($projectId); $lists = TasksList::fetchAllInProject($projectId); $listsRep = array(); foreach ($lists as $list) { $tasks = Task::fetchAllInList($list->getId()); $tasksRep = array(); foreach ($tasks as $task) { if ($excludeClosedTasks && $task->getStatus() == Task::STATUS_CLOSED) { continue; } $tasksRep[] = array(self::FIELD_TASK_ID => $task->getId(), self::FIELD_TITLE => $task->getTitle(), self::FIELD_DESCRIPTION => $task->getDescription(), self::FIELD_TASK_STATUS => $task->getStatus()); } $listsRep[] = array(self::FIELD_LIST_ID => $list->getId(), self::FIELD_TITLE => $list->getTitle(), self::FIELD_TASKS => $tasksRep); } return array(self::FIELD_PROJECT_ID => $project->getId(), self::FIELD_TITLE => $project->getTitle(), self::FIELD_DESCRIPTION => $project->getDescription(), self::FIELD_LISTS => $listsRep); }