function populate() { $project = DataObjectFactory::Factory('Project'); $project->setDefaultDisplayFields(array('name', 'status')); $projects_do = new ProjectCollection($project); $projects_do->setParams(); $db = DB::Instance(); $query = 'SELECT p.id, p.name, p.status '; $c_query = 'SELECT count(*)'; $rest = ' FROM projects p LEFT JOIN project_resources r ON (p.id=r.project_id) LEFT JOIN users u ON (r.person_id=u.person_id) WHERE p.usercompanyid=' . $db->qstr(EGS_COMPANY_ID) . ' AND ( u.username = '******' OR p.owner=' . $db->qstr(EGS_USERNAME) . ") AND p.status IN ('N', 'A')"; $query .= $rest; $c_query .= $rest; $projects_do->load($query, $c_query); $projects_do->clickcontroller = 'projects'; $projects_do->editclickaction = 'view'; $this->contents = $projects_do; }
public function getHourTotals() { $projects = new ProjectCollection(new Project()); $sh = new SearchHandler($projects, false); $projects->getProjectHourTotals($sh, $this->id); $projects->load($sh); $costs = array('total_hours' => 0, 'total_costs' => 0); foreach ($projects as $project) { $time = explode(':', $project->total_hours); $hours = $time[0] + $time[1] / 60 + $time[2] / 3600; $costs['total_hours'] += $hours; $costs['total_costs'] += $hours * $project->resource_rate; } //echo '<pre>'.print_r($costs, true).'</pre><br>'; return $costs; }