From: Nik Okuntseff Date: Wed, 21 Nov 2018 17:01:12 +0000 (+0000) Subject: Refactoring in export to use a generic get function to keep things simple. X-Git-Tag: timetracker_1.19-1~586 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=80d8ba7ca7444b575edc4930ee45e46dca66144b;p=timetracker.git Refactoring in export to use a generic get function to keep things simple. --- diff --git a/WEB-INF/lib/ttGroupExportHelper.class.php b/WEB-INF/lib/ttGroupExportHelper.class.php index c6e1d9a5..a520e7fb 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(); @@ -85,153 +82,6 @@ class ttGroupExportHelper { return $val; } - // The getUsers obtains all users in group for the purpose of export. - 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); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - 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,7 +104,7 @@ class ttGroupExportHelper { function writeData() { // Write group info. - $group = $this->getGroupData(); + $group = $this->getGroupAttrs(); $group_part = "getUsers(); + $users = $this->getRecordsFromTable('tt_users'); foreach ($users as $key=>$user_item) $this->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 +172,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 +400,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 +474,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.' '." -
 Anuko Time Tracker 1.18.25.4484 | Copyright © Anuko | +  Anuko Time Tracker 1.18.25.4485 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve}