} else { $py = $y; } $today = date("d"); $calobj = new calendar(); $cal = $calobj->getCal($m, $y, $id); $weeks = $cal->calendar; // print_r($weeks); $mstring = strtolower(date('F', mktime(0, 0, 0, $m, 1, $y))); $mstring = $langfile[$mstring]; $template->assign("mstring", $mstring); $template->assign("m", $m); $template->assign("y", $y); $template->assign("thism", $thism); $template->assign("thisd", $thisd); $template->assign("thisy", $thisy); $template->assign("nm", $nm); $template->assign("pm", $pm); $template->assign("ny", $ny); $template->assign("py", $py); $template->assign("weeks", $weeks); $template->assign("id", $id); $template->display("calbody_project.tpl"); } elseif ($action == "tasklists") { $listObj = new tasklist(); $theLists = $listObj->getProjectTasklists($id); echo "<option value=\"-1\" selected=\"selected\">{$langfile['chooseone']}</option>"; foreach ($theLists as $list) { echo "<option value = \"{$list['ID']}\">{$list['name']}</option>"; } }
/** * Return all open tasklists associated to a given milestones * * @param int $milestone Milestone ID * @return array $lists Details of the tasklists */ private function getMilestoneTasklists($milestone) { global $conn; $milestone = (int) $milestone; $objtasklist = new tasklist(); $sel = $conn->query("SELECT ID FROM tasklist WHERE milestone = {$milestone} AND status = 1 ORDER BY ID ASC"); $lists = array(); if ($milestone) { while ($listId = $sel->fetch()) { array_push($lists, $objtasklist->getTasklist($listId["ID"])); } } if (!empty($lists)) { return $lists; } else { return false; } }
/** * Marks a project, its tasks, tasklists and milestones as "finished / closed" * * @param int $id Eindeutige Projektnummer * @return bool */ function close($id) { global $conn; $id = (int) $id; $mile = new milestone(); $milestones = $mile->getAllProjectMilestones($id, 100000); if (!empty($milestones)) { foreach ($milestones as $miles) { $close_milestones = $conn->query("UPDATE milestones SET status = 0 WHERE ID = {$miles['ID']}"); } } $task = new task(); $tasks = $task->getProjectTasks($id); if (!empty($tasks)) { foreach ($tasks as $tas) { $close_tasks = $conn->query("UPDATE tasks SET status = 0 WHERE ID = {$tas['ID']}"); } } $tasklist = new tasklist(); $tasklists = $tasklist->getProjectTasklists($id); if (!empty($tasklists)) { foreach ($tasklists as $tl) { $close_tasklists = $conn->query("UPDATE tasklist SET status = 0 WHERE ID = {$tl['ID']}"); } } $upd = $conn->query("UPDATE projekte SET status=0 WHERE ID = {$id}"); if ($upd) { $nam = $conn->query("SELECT name FROM projekte WHERE ID = {$id}")->fetch(); $nam = $nam[0]; $this->mylog->add($nam, 'projekt', 5, $id); return true; } else { return false; } }
private function addTasks($project_id, $milestonesHash, $taskListArray) { $addTaskList = new tasklist(); $addTask = new task(); foreach ($taskListArray->{'todo-list'} as $taskList) { $name = $taskList->{'name'}; if (isset($milestonesHash)) { $mid = $taskListArray->{'milestone-id'}; if (strlen($mid) > 0) { $milestoneId = $milestonesHash["{$mid}"]; } else { $milestoneId = 0; } } $desc = $taskListArray->{'description'}; $access = 0; $tasklistId = $addTaskList->add_liste($project_id, $name, $desc, $access, $milestoneId); foreach ($taskList->{'todo-items'}->{'todo-item'} as $todo) { //$end = strtotime("+1 month", strtotime($todo->{'created-on'})); $end = strtotime($todo->{'created-on'} . " +1month"); $title = $todo->{'name'}; $text = $todo->{'content'}; if (!$title) { $title = $text; } $uid = $todo->{'responsible-party-id'}; $assigned = $this->peopleHash["{$uid}"]; //class.task::add() needed to be modified to pass a timestamp directly. if ($addTask->add($end, $title, $text, $tasklistId, $assigned, $project_id)) { ++$this->taskCount; } } } }
include("init.php"); if (!isset($_SESSION["userid"])) { $template->assign("loginerror", 0); $template->display("login.tpl"); die(); } $task = new task(); $project = new project(); $myprojects = $project->getMyProjects($userid); $milestone = new milestone(); $milestones = array(); $cou = 0; $tasknum = 0; $ltasksa = array(); $tlist = new tasklist(); if (!empty($myprojects)) { foreach($myprojects as $proj) { $tasks = $task->getAllMyProjectTasks($proj["ID"], 10000); $lists = $tlist->getProjectTasklists($proj["ID"], 1); $donetasks = $task->getMyDoneProjectTasks($proj["ID"], 10000); $myprojects[$cou]['tasks'] = $tasks; $myprojects[$cou]['oldtasks'] = $donetasks; $myprojects[$cou]['lists'] = $lists; if (!empty($tasks)) { $pcount = count($tasks); } else { $pcount = 0; }
} if (!chkproject($userid, $id)) { $errtxt = $langfile["notyourproject"]; $noperm = $langfile["accessdenied"]; $template->assign("errortext", "{$errtxt}<br>{$noperm}"); $template->display("error.tpl"); die; } $myproject = new project(); $pro = $myproject->getProject($id); $projectname = $pro["name"]; $title = $langfile['task']; $mytask = new task(); $task = $mytask->getTask($tid); $members = $myproject->getProjectMembers($id, $myproject->countMembers($id)); $tasklist = new tasklist(); $tasklists = $tasklist->getProjectTasklists($id); $tl = $tasklist->getTasklist($task['liste']); $task['listid'] = $tl['ID']; $task['listname'] = $tl['name']; $tmp = $mytask->getUsers($task['ID']); if ($tmp) { foreach ($tmp as $value) { $task['users'][] = $value[0]; } } $user = $mytask->getUser($task['ID']); $task['username'] = $user[1]; $task['userid'] = $user[0]; $template->assign("members", $members); $template->assign("tasklists", $tasklists);
/** * Marka milestone as finished * * @param int $id Milestone ID * @return bool */ function close($id) { $id = (int) $id; $upd = mysql_query("UPDATE milestones SET status = 0 WHERE ID = {$id}"); $tasklists = $this->getMilestoneTasklists($id); if (!empty($tasklists)) { foreach ($tasklists as $tasklist) { $tl = new tasklist(); $tasks = $tl->getTasksFromList($tasklist[ID]); foreach ($tasks as $task) { $close_task = mysql_query("UPDATE tasks SET status = 0 WHERE ID = {$task['ID']}"); } $close_tasklist = mysql_query("UPDATE tasklist SET status = 0 WHERE ID = {$tasklist['ID']}"); } } if ($upd) { $nam = mysql_query("SELECT project,name FROM milestones WHERE ID = {$id}"); $nam = mysql_fetch_row($nam); $project = $nam[0]; $name = $nam[1]; $this->mylog->add($name, 'milestone', 5, $project); return true; } else { return false; } }
/** * Copy a project * by: Daniel Tlach <*****@*****.**>, * Philipp Kiszka <*****@*****.**> * * @param int $id ID of project to copy * @return int $insid New project's ID */ function makecopy($id) { // copy project $q = mysql_query("INSERT INTO projekte (`name`, `desc`, `end`, `start`, `status`, `budget`) SELECT `name`, `desc`, `end`, `start`, `status`, `budget` FROM projekte WHERE ID = " . (int) $id); $insid = mysql_insert_id(); $uid = $_SESSION['userid']; $this->assign($uid, $insid); $milesobj = new milestone(); $objtasklist = new tasklist(); $objtask = new task(); if ($q) { $pname = $this->getProject($insid); $name = $pname["name"] . " Copy"; mysql_query("UPDATE projekte SET `name` = '{$name}' WHERE ID = " . $insid . " LIMIT 1"); // now copy the milestones $miles = $milesobj->getAllProjectMilestones($id); if (!empty($miles)) { // go through the milestones foreach ($miles as $ms) { // copy milestone $msid = $milesobj->add($insid, $ms["name"], $ms["desc"], $ms["end"], 1); // get all tasklists for milestone $qb = mysql_query("SELECT * FROM tasklist WHERE project = {$id} AND milestone = {$ms['ID']}"); if ($qb) { // go through the tasklists while ($tl = mysql_fetch_array($qb)) { // copy tasklist $tlid = $objtasklist->add_liste($insid, $tl["name"], $tl["desc"], 0, $msid); // get tasks for the tasklist $tasks = $objtasklist->getTasksFromList($tl["ID"]); if (!empty($tasks)) { foreach ($tasks as $task) { $taskobj->add($task["end"], $task["title"], $task["text"], $tlid, $uid, $insid); } // tasks END } } // tasklists END } } // milestones END } // get all tasklists and tasks that do not belong to a milestone $qb = mysql_query("SELECT * FROM tasklist WHERE project = {$id} AND milestone = 0"); if ($qb) { // go through the tasklists while ($tl = mysql_fetch_array($qb)) { // copy tasklist $tlid = $objtasklist->add_liste($insid, $tl["name"], $tl["desc"], 0, $msid); // get tasks for the tasklist $tasks = $objtasklist->getTasksFromList($tl["ID"]); if (!empty($tasks)) { foreach ($tasks as $task) { $taskobj->add($task["end"], $task["title"], $task["text"], $tlid, $uid, $insid); } // tasks END } } // tasklists END } mkdir(CL_ROOT . "/files/" . CL_CONFIG . "/{$insid}/", 0777); $this->mylog->add($name, 'projekt', 1, $insid); return $insid; } else { return false; } }