X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttGroupHelper.class.php;h=4bc71648af36e4e5794eb28b383772c5504b7386;hb=237f5fae68a9410971ce1c4895a07fe2fa0fbd52;hp=8419a1a38ba9eb6886f1798b500c7576be0eede6;hpb=b53f880dcd61797fd2e6609477add03ca757d813;p=timetracker.git diff --git a/WEB-INF/lib/ttGroupHelper.class.php b/WEB-INF/lib/ttGroupHelper.class.php index 8419a1a3..4bc71648 100644 --- a/WEB-INF/lib/ttGroupHelper.class.php +++ b/WEB-INF/lib/ttGroupHelper.class.php @@ -327,7 +327,7 @@ class ttGroupHelper { } // getActiveProjects - returns an array of active projects for a group. - static function getActiveProjects() + static function getActiveProjects($includeFiles = false) { global $user; $mdb2 = getConnection(); @@ -335,33 +335,14 @@ class ttGroupHelper { $group_id = $user->getGroup(); $org_id = $user->org_id; - $sql = "select id, name, description, tasks from tt_projects". - " where group_id = $group_id and org_id = $org_id and status = 1 order by upper(name)"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } + if ($includeFiles) { + $filePart = ', if(Sub1.entity_id is null, 0, 1) as has_files'; + $fileJoin = " left join (select distinct entity_id from tt_files". + " where entity_type = 'project' and group_id = $group_id and org_id = $org_id and status = 1) Sub1". + " on (p.id = Sub1.entity_id)"; } - return $result; - } - - // getActiveProjectsWithFiles - returns an array of active projects for a group - // with information whether they have attached files (has_files property). - // A separate fiunction from getActiveProjects because sql here is more complex. - static function getActiveProjectsWithFiles() - { - global $user; - $mdb2 = getConnection(); - $group_id = $user->getGroup(); - $org_id = $user->org_id; - - $sql = "select p.id, p.name, p.description, if(Sub1.entity_id is null, 0, 1) as has_files from tt_projects p". - " left join (select distinct entity_id from tt_files". - " where entity_type = 'project' and group_id = $group_id and org_id = $org_id and status = 1) Sub1". - " on (p.id = Sub1.entity_id)". + $sql = "select p.id, p.name, p.description, p.tasks $filePart from tt_projects p $fileJoin". " where p.group_id = $group_id and p.org_id = $org_id and p.status = 1 order by upper(p.name)"; $res = $mdb2->query($sql); $result = array(); @@ -374,7 +355,7 @@ class ttGroupHelper { } // getInactiveProjects - returns an array of inactive projects for a group. - static function getInactiveProjects() + static function getInactiveProjects($includeFiles = false) { global $user; $mdb2 = getConnection(); @@ -382,34 +363,15 @@ class ttGroupHelper { $group_id = $user->getGroup(); $org_id = $user->org_id; - $sql = "select id, name, description, tasks from tt_projects". - " where group_id = $group_id and org_id = $org_id and status = 0 order by upper(name)"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } + if ($includeFiles) { + $filePart = ', if(Sub1.entity_id is null, 0, 1) as has_files'; + $fileJoin = " left join (select distinct entity_id from tt_files". + " where entity_type = 'project' and group_id = $group_id and org_id = $org_id and status = 1) Sub1". + " on (p.id = Sub1.entity_id)"; } - return $result; - } - // getInactiveProjectsWithFiles - returns an array of inactive projects for a group - // with information whether they have attached files (has_files property). - // A separate fiunction from getInactiveProjects because sql here is more complex. - static function getInactiveProjectsWithFiles() - { - global $user; - $mdb2 = getConnection(); - - $group_id = $user->getGroup(); - $org_id = $user->org_id; - - $sql = "select p.id, p.name, if(Sub1.entity_id is null, 0, 1) as has_files from tt_projects p". - " left join (select distinct entity_id from tt_files". - " where entity_type = 'project' and group_id = $group_id and org_id = $org_id and status = 1) Sub1". - " on (p.id = Sub1.entity_id)". - " where p.group_id = $group_id and p.org_id = $org_id and p.status = 0 order by upper(p.name)"; + $sql = "select p.id, p.name, p.description, p.tasks $filePart from tt_projects p $fileJoin". + " where p.group_id = $group_id and p.org_id = $org_id and p.status = 0 order by upper(p.name)"; $res = $mdb2->query($sql); $result = array(); if (!is_a($res, 'PEAR_Error')) {