From 259a4673f7475125e1ab6b68f77a67401fa52d06 Mon Sep 17 00:00:00 2001 From: Nik Okuntseff Date: Fri, 27 Jul 2018 14:06:39 +0000 Subject: [PATCH] Refactoring of reports started. --- WEB-INF/lib/ttFavReportHelper.class.php | 22 ++++++++++++++++++++++ WEB-INF/templates/footer.tpl | 2 +- cron.php | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/WEB-INF/lib/ttFavReportHelper.class.php b/WEB-INF/lib/ttFavReportHelper.class.php index 006d5567..88a1338d 100644 --- a/WEB-INF/lib/ttFavReportHelper.class.php +++ b/WEB-INF/lib/ttFavReportHelper.class.php @@ -327,4 +327,26 @@ class ttFavReportHelper { $bean->setAttributes($attrs); } } + + // getReportOptions - returns an array of fav report options from database data. + // Note: this function is a part of refactoring to simplify maintenance of report + // generating functions, as we currently have 2 sets: normal reporting (from bean), + // and fav report emailing (from db fields). Using options obtained from either db or bean + // shall allow us to use only one set of functions. + static function getReportOptions($id) { + + // Start with getting the fields from the database. + $db_fields = ttFavReportHelper::getReport($id); + if (!$db_fields) return false; + + // Prepare an array of report options. + $options = $db_fields; // For now, use db field names as options. + // Drop things we don't need in reports. + unset($options['id']); + unset($options['report_spec']); // Currently not used. + unset($options['status']); + + // $options now is a subset of db fields from tt_fav_reports table. + return $options; + } } diff --git a/WEB-INF/templates/footer.tpl b/WEB-INF/templates/footer.tpl index b8d80a7b..5c25eb60 100644 --- a/WEB-INF/templates/footer.tpl +++ b/WEB-INF/templates/footer.tpl @@ -12,7 +12,7 @@
-
 Anuko Time Tracker 1.17.93.4286 | Copyright © Anuko | +  Anuko Time Tracker 1.17.93.4287 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve} diff --git a/cron.php b/cron.php index 9424802e..262cafe5 100644 --- a/cron.php +++ b/cron.php @@ -59,7 +59,7 @@ while ($val = $res->fetchRow()) { // We have jobs to execute in user language. // Get favorite report details. - $report = ttFavReportHelper::getReport($val['report_id']); + $report = ttFavReportHelper::getReportOptions($val['report_id']); if (!$report) continue; // Skip not found report. // Recycle global $user object, as user settings are specific for each report. -- 2.20.1