X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/a58bca2afc5d6457d07c886c7c20fb10c941752a..2469578bc42cdad7caf9ca05855726be8e953fbc:/cron.php diff --git a/cron.php b/cron.php index 1b586cf0..98c1456f 100644 --- a/cron.php +++ b/cron.php @@ -47,10 +47,10 @@ import('ttReportHelper'); $mdb2 = getConnection(); $now = time(); - $sql = "select c.id, c.cron_spec, c.report_id, c.email, c.cc, c.subject, c.report_condition from tt_cron c - left join tt_fav_reports fr 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"; + $sql = "select c.id, c.cron_spec, c.report_id, c.email, c.cc, c.subject, c.report_condition from tt_cron c". + " inner join tt_fav_reports fr on (c.report_id = fr.id and c.group_id = fr.group_id and c.org_id = fr.org_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(); @@ -66,34 +66,12 @@ while ($val = $res->fetchRow()) { $user = new ttUser(null, $options['user_id']); if (!$user->id) continue; // Skip not found user. - // TODO: write a new function ttFavReportHelper::adjustReportOptions that will use - // a $user objected recycled above. Put user handling below into it. - // Also adjust all other options for potentially changed user access rights and group properties. + // TODO: write a new function ttFavReportHelper::adjustOptions that will use + // a $user object recycled above. Put user handling below into it. + // Also adjust remaining options for potentially changed user access rights and group properties. // For example, tracking mode may have changed, but fav report options are still old... // This needs to be fixed. - - // Special handling of the NULL $options['users'] field (this used to mean "all users"). - if (!$options['users']) { - if ($user->can('view_reports') || $user->can('view_all_reports') || $user->isClient()) { - if ($user->can('view_reports') || $user->can('view_all_reports')) { - $max_rank = $user->rank-1; - if ($user->can('view_all_reports')) $max_rank = 512; - if ($user->can('view_own_reports')) - $user_options = array('max_rank'=>$max_rank,'include_self'=>true); - else - $user_options = array('max_rank'=>$max_rank); - $users = $user->getUsers($user_options); // Active and inactive users. - } elseif ($user->isClient()) { - $users = ttTeamHelper::getUsersForClient(); // Active and inactive users for clients. - } - foreach ($users as $single_user) { - $user_ids[] = $single_user['id']; - } - $options['users'] = implode(',', $user_ids); - } - } else { - // TODO: add checking the existing user list for potentially changed access rights for user. - } + $options = ttFavReportHelper::adjustOptions($options); // Skip users with disabled Notifications plugin. if (!$user->isPluginEnabled('no')) continue;