]> wagnertech.de Git - timetracker.git/blobdiff - cron.php
A fix for broken cron.php - not updating the correct entry for .
[timetracker.git] / cron.php
index d782546127d2e62bf5410599679837af1e34db6b..7175c8fc3a485f4f9bf3c1a7db7745297ea66b1d 100644 (file)
--- a/cron.php
+++ b/cron.php
@@ -47,8 +47,10 @@ import('ttReportHelper');
 $mdb2 = getConnection();
 $now = mktime();
 
-$sql = "select * from tt_cron where $now >= next 
-  and status = 1 and report_id is not null and email is not null";
+ $sql = "select * from tt_fav_reports fr
+   left join tt_cron c on (c.report_id = fr.id)
+   where $now >= c.next and fr.status = 1
+   and c.status = 1 and c.report_id is not null and c.email is not null";
 $res = $mdb2->query($sql);
 if (is_a($res, 'PEAR_Error'))
   exit();
@@ -58,10 +60,12 @@ while ($val = $res->fetchRow()) {
 
   // Get favorite report details.
   $report = ttFavReportHelper::getReport($val['report_id']);
-  if (!$report) continue;
+  if (!$report) continue; // Skip not found report.
 
-  // Recycle global $user and $i18n objects, as user settings and language are specific for each report.
+  // Recycle global $user object, as user settings are specific for each report.
   $user = new ttUser(null, $report['user_id']);
+  if (!$user->id) continue; // Skip not found user.
+  // Recycle $i18n object because language is user-specific.
   $i18n->load($user->lang);
 
   // Check condition on a report.