function show_projectPerson_list() { global $db; global $TPL; global $projectID; $template = "templates/projectPersonSummaryViewR.tpl"; if ($projectID) { $query = prepare("SELECT personID, roleName\n FROM projectPerson\n LEFT JOIN role ON role.roleID = projectPerson.roleID\n WHERE projectID = %d \n GROUP BY projectPerson.personID\n ORDER BY roleSequence DESC, personID ASC", $projectID); $db->query($query); while ($db->next_record()) { $projectPerson = new projectPerson(); $projectPerson->read_db_record($db); $TPL['person_roleName'] = $db->f("roleName"); $TPL['person_name'] = person::get_fullname($projectPerson->get_value('personID')); include_template($template); } } }
function project_stats() { // date from which a project is counted as being new. if monday then date back to friday, else the previous day $days = date("w") == 1 ? 3 : 1; $date = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $days, date("Y"))); $query = "SELECT * FROM project"; $db = new db_alloc(); $db_sub = new db_alloc(); $db->query($query); while ($db->next_record()) { $project = new project(); $project->read_db_record($db); $this->projects["total"]["total"]++; switch ($project->get_value("projectStatus")) { case "current": case "overdue": $this->projects["current"]["total"]++; break; case "archived": $this->projects["archived"]["total"]++; break; } $query = prepare("SELECT * FROM projectPerson WHERE projectID=%d", $project->get_id()); $db_sub->query($query); while ($db_sub->next_record()) { $projectPerson = new projectPerson(); $projectPerson->read_db_record($db_sub); $this->projects["total"][$projectPerson->get_value("personID")]++; switch ($project->get_value("projectStatus")) { case "current": case "overdue": $this->projects["current"][$projectPerson->get_value("personID")]++; break; case "archived": $this->projects["archived"][$projectPerson->get_value("personID")]++; break; } if ($project->get_value("dateActualStart") != "") { if (!isset($this->projects["all"][$projectPerson->get_value("personID")])) { $this->projects["all"][$projectPerson->get_value("personID")] = array(); } $this->projects["all"][$projectPerson->get_value("personID")][$project->get_value("dateActualStart")]++; $this->projects["all"][$projectPerson->get_value("personID")]["total"]++; $this->projects["all"]["total"][$project->get_value("dateActualStart")]++; if (strcmp($date, $project->get_value("dateActualStart")) <= 0) { if (!isset($this->projects["new"][$projectPerson->get_value("personID")])) { $this->projects["new"][$projectPerson->get_value("personID")] = array(); } $this->projects["new"][$projectPerson->get_value("personID")][$project->get_value("dateActualStart")]++; $this->projects["new"][$projectPerson->get_value("personID")]["total"]++; $this->projects["new"]["total"][$project->get_value("dateActualStart")]++; } } } } return $this->projects; }