[evolvis-commits] r10325: added cronjob to send an email to users with open tasks↵
mirabilos at evolvis.org
mirabilos at evolvis.org
Thu Feb 24 17:43:25 CET 2011
Author: mirabilos
Date: 2011-02-24 17:43:25 +0100 (Thu, 24 Feb 2011)
New Revision: 10325
Added:
trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/daily_task_email.php
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/crontab.in
Log:
added cronjob to send an email to users with open tasks
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/crontab.in
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/crontab.in 2011-02-24 16:43:24 UTC (rev 10324)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/crontab.in 2011-02-24 16:43:25 UTC (rev 10325)
@@ -118,3 +118,7 @@
#
#08 * * * * $PHP $GFORGE/cronjobs/mail/mailaliases.php
+#
+# Send email to users with pending tasks
+#
+30 5 * * 1,2,3,4,5 $PHP $GFORGE/cronjobs/daily_task_email.php
Added: trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/daily_task_email.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/daily_task_email.php (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/daily_task_email.php 2011-02-24 16:43:25 UTC (rev 10325)
@@ -0,0 +1,64 @@
+#! /usr/bin/php
+<?php
+require_once('squal_pre.php');
+require_once('common/pm/ProjectTasksForUser.class');
+require_once('common/include/cron_utils.php');
+
+$res = db_query("SELECT user_id, realname, email FROM users WHERE user_id > 100 ORDER BY user_id");
+$now = time();
+$today = date("n/j/y");
+
+for ($i=0; $i<db_numrows($res);$i++) {
+
+ $user_id = db_result($res, $i, 'user_id');
+ $realname = db_result($res, $i, 'realname');
+ $email = db_result($res, $i, 'email');
+ $user_object = &user_get_object($user_id);
+
+ if (!$user_object || !is_object($user_object)) {
+ $err .= "Could not get User object with ID: $user_id\n";
+ }
+ else {
+
+ $projectTasksForUser = new ProjectTasksForUser($user_object);
+ $userTasks =& $projectTasksForUser->getTasksForToday();
+
+ $subject = 'Tasks for '.$realname.' for '.$today;
+
+ if (count($userTasks) > 0) {
+
+ ob_start();
+
+ foreach ($userTasks as $task) {
+
+ $end_date = date("n/j/y", $task->getEndDate());
+
+ $projectGroup =& $task->getProjectGroup();
+ $group =& $projectGroup->getGroup();
+ if ($group->getID() != $last_group) {
+ echo $group->getPublicName().":\n";
+ }
+ if ($projectGroup->getID() != $last_projectgroup) {
+ echo $projectGroup->getName().":\n";
+ }
+ echo $task->getSummary().":\n";
+ echo '***'.
+ (($now>$task->getEndDate())? 'overdue' : "due $end_date").
+ "***\n";
+ echo 'http://'.$sys_default_domain.'/pm/task.php?func=detailtask&project_task_id='.
+ $task->getID().'&group_id='.$group->getID().'&group_project_id='.$projectGroup->getID();
+ echo "\n\n";
+
+ $last_group = $group->getID();
+ $last_projectgroup = $projectGroup->getID();
+ }
+
+ $messagebody = ob_get_contents();
+ ob_end_clean();
+ util_send_message($email, $subject, $messagebody);
+ }
+ }
+}
+
+cron_entry(22,$err);
+?>
\ No newline at end of file
Property changes on: trunk/gforge_base/evolvisforge-5.1/gforge/cronjobs/daily_task_email.php
___________________________________________________________________
Added: svn:executable
+ *
More information about the evolvis-commits
mailing list