X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=WEB-INF%2Flib%2FttGroupExportHelper.class.php;h=9490f075743065158caf124e4993c274c6bc7600;hb=d82f2da8a4df2190f26f1ce8a44fe35c42bba1da;hp=c6e1d9a5d810acd9cc8589a3f3f2433073e78dd7;hpb=191af95a641e560104be099de62ea45ac5cd6315;p=timetracker.git diff --git a/WEB-INF/lib/ttGroupExportHelper.class.php b/WEB-INF/lib/ttGroupExportHelper.class.php index c6e1d9a5..9490f075 100644 --- a/WEB-INF/lib/ttGroupExportHelper.class.php +++ b/WEB-INF/lib/ttGroupExportHelper.class.php @@ -28,9 +28,6 @@ // ttGroupExportHelper - this class is used to write data for a single group // to a file. When group contains other groups, it reuses itself recursively. -// -// Currently, it is work in progress. -// When done, it should handle export of organizations containing multiple groups. class ttGroupExportHelper { var $group_id = null; // Group we are exporting. @@ -71,8 +68,8 @@ class ttGroupExportHelper { } } - // getGroupData obtains group attributes for export. - private function getGroupData() { + // getGroupAttrs obtains group attributes for export. + private function getGroupAttrs() { global $user; $mdb2 = getConnection(); @@ -89,7 +86,6 @@ class ttGroupExportHelper { private function getUsers() { global $user; $mdb2 = getConnection(); - $sql = "select u.*, r.rank from tt_users u left join tt_roles r on (u.role_id = r.id)". " where u.group_id = $this->group_id and u.org_id = $user->org_id order by upper(u.name)"; // Note: deleted users are included. $res = $mdb2->query($sql); @@ -103,135 +99,6 @@ class ttGroupExportHelper { return false; } - // TODO: write a generic (private?) get function for exclusive use in this class, that obtains - // all fields from a given table. - - // getRoles - obtains all roles defined for group. - function getRoles() { - global $user; - $mdb2 = getConnection(); - - $result = array(); - $sql = "select * from tt_roles where group_id = $this->group_id and org_id = $user->org_id"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - return false; - } - - // getTasks - obtains all tasks defined for group. - function getTasks() { - global $user; - $mdb2 = getConnection(); - - $result = array(); - $sql = "select * from tt_tasks where group_id = $this->group_id and org_id = $user->org_id"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - return false; - } - - // getProjects - obtains all projects defined for group. - function getProjects() { - global $user; - $mdb2 = getConnection(); - - $result = array(); - $sql = "select * from tt_projects where group_id = $this->group_id and org_id = $user->org_id"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - return false; - } - - // getClients - obtains all clients defined for group. - function getClients() { - global $user; - $mdb2 = getConnection(); - - $result = array(); - $sql = "select * from tt_clients where group_id = $this->group_id and org_id = $user->org_id"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - return false; - } - - // getFavReports - obtains all favorite reports defined for group. - function getFavReports() { - global $user; - $mdb2 = getConnection(); - - $result = array(); - $sql = "select * from tt_fav_reports where group_id = $this->group_id and org_id = $user->org_id"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - return false; - } - - // getPredefinedExpenses - obtains all predefined expenses for group. - function getPredefinedExpenses() { - global $user; - $mdb2 = getConnection(); - - $result = array(); - $sql = "select * from tt_predefined_expenses where group_id = $this->group_id and org_id = $user->org_id"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - return false; - } - - // getNotifications - obtains all notifications defined for group. - function getNotifications() { - global $user; - $mdb2 = getConnection(); - - $result = array(); - $sql = "select * from tt_cron where group_id = $this->group_id and org_id = $user->org_id"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - return false; - } - // getRecordsFromTable - obtains all fields from a given table for a group. function getRecordsFromTable($table_name) { global $user; @@ -254,8 +121,9 @@ class ttGroupExportHelper { function writeData() { // Write group info. - $group = $this->getGroupData(); + $group = $this->getGroupAttrs(); $group_part = "userMap[$user_item['id']] = $key + 1; // Prepare role map. - $roles = $this->getRoles(); + $roles = $this->getRecordsFromTable('tt_roles'); foreach ($roles as $key=>$role_item) $this->roleMap[$role_item['id']] = $key + 1; // Prepare task map. - $tasks = $this->getTasks(); + $tasks = $this->getRecordsFromTable('tt_tasks'); foreach ($tasks as $key=>$task_item) $this->taskMap[$task_item['id']] = $key + 1; // Prepare project map. - $projects = $this->getProjects(); + $projects = $this->getRecordsFromTable('tt_projects'); foreach ($projects as $key=>$project_item) $this->projectMap[$project_item['id']] = $key + 1; // Prepare client map. - $clients = $this->getClients(); + $clients = $this->getRecordsFromTable('tt_clients'); foreach ($clients as $key=>$client_item) $this->clientMap[$client_item['id']] = $key + 1; @@ -322,7 +190,7 @@ class ttGroupExportHelper { $this->customFieldOptionMap[$option['id']] = $key + 1; // Prepare favorite report map. - $fav_reports = $this->getFavReports(); + $fav_reports = $this->getRecordsFromTable('tt_fav_reports'); foreach ($fav_reports as $key=>$fav_report) $this->favReportMap[$fav_report['id']] = $key + 1; @@ -550,7 +418,7 @@ class ttGroupExportHelper { unset($expense_item_part); // Write predefined expenses. - $predefined_expenses = $this->getPredefinedExpenses(); + $predefined_expenses = $this->getRecordsFromTable('tt_predefined_expenses'); fwrite($this->file, $this->indentation." \n"); foreach ($predefined_expenses as $predefined_expense) { $predefined_expense_part = $this->indentation.' '."getFavReports(); fwrite($this->file, $this->indentation." \n"); foreach ($fav_reports as $fav_report) { $user_list = ''; @@ -625,7 +492,7 @@ class ttGroupExportHelper { unset($fav_report_part); // Write notifications. - $notifications = $this->getNotifications(); + $notifications = $this->getRecordsFromTable('tt_cron'); fwrite($this->file, $this->indentation." \n"); foreach ($notifications as $notification) { $notification_part = $this->indentation.' '."