summaryrefslogtreecommitdiff
path: root/forum/utils
diff options
context:
space:
mode:
Diffstat (limited to 'forum/utils')
-rw-r--r--forum/utils/tasks.php45
1 files changed, 27 insertions, 18 deletions
diff --git a/forum/utils/tasks.php b/forum/utils/tasks.php
index 3c5cbcd..91f5409 100644
--- a/forum/utils/tasks.php
+++ b/forum/utils/tasks.php
@@ -1,4 +1,4 @@
-<?php
+<?php /* -*- mode: php; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
include_once($UTIL_DIR . "/error.php");
include_once($UTIL_DIR . "/notify.php");
@@ -64,7 +64,9 @@ class Task {
else $str .= " <td>Done ☐</td>\n";
}
$str .= " <td><strong>".$this->title."</strong></td>\n";
- $str .= " <td>".substr($this->description, 0, 64)."</td>\n";
+ if(strlen($this->description) > 64)
+ $str .= " <td>".substr($this->description, 0, 64)."...</td>\n";
+ else $str .= " <td>".$this->description."</td>\n";
if($this->reassignable && $this->userid == $current_user->uid) {
$str .= " <td>".userList($this->userid)."</td>\n";
@@ -120,6 +122,10 @@ class Tasks {
}
}
+ $str .= "</table>\n";
+ $str .= "<hr/>\n";
+ $str .= "<table>\n";
+
foreach($this->tasks as $task) {
if($task->completed == true) {
$str .= $task->show();
@@ -225,20 +231,24 @@ $tasks = tasks_init();
if($action == "tick") {
$now = time();
- $mininterval = 60 * 60 * 24; // 24 hours
- $maxinterval = 60 * 60 * 24 * 7; // 1 week
+ $h = (60 * 60);
+ $d = ($h * 24);
+
+ $mininterval = $d - $h * 4;
+ $maxinterval = $d * 7 - $h * 4;
+ $overdueinterval = $h * 7;
foreach($tasks->tasks as $task) {
if($task->completed) continue; // no need for reminding
- if(($now > $task->deadline) && (($now - $task->lastreminder) > $mininterval)) {
- // Deadline is overdue, and it has been more than $mininterval since last reminder.
+ if(($now > $task->deadline) && (($now - $task->lastreminder) > $overdueinterval)) {
+ // Deadline is overdue, and it has been more than $overdueinterval since last reminder.
sendMail($task->id, false, false);
- } elseif((($task->deadline - $now) > $maxinterval) && (($now - $task->lastreminder) > $maxinterval)) {
+ } elseif((($task->deadline - $now) > $maxinterval) && (($now - $task->lastreminder) > $maxinterval)) {
// Deadline is a long way off, but it has been $maxinterval since last reminder.
sendMail($task->id, false, false);
- } elseif((($task->deadline - $now) > $mininterval) && (($now - $task->lastreminder) > $mininterval)) {
+ } elseif((($task->deadline - $now) > $mininterval) && (($now - $task->lastreminder) > $mininterval)) {
// Deadline is near, and it has been $mininterval since last reminder.
sendMail($task->id, false, false);
}
@@ -279,17 +289,16 @@ if($action == "add") {
sendMail($task->id, true, false);
}
-echo $tasks->show();
?>
-<hr/>
<form method="post" enctype="multipart/form-data" action="?mode=tasks&amp;action=add">
- Title: <input name="title" value=""><br/>
- User: <?php echo userList($current_user->uid); ?><br/>
- Deadline: D<input name="deadline_day" style="width: 2em" value="">
- M<input name="deadline_month" style="width: 2em" value="">
- Y<input name="deadline_year" style="width: 4em" value=""><br/>
+ Title: <input name="title" value=""> - User: <?php echo userList($current_user->uid); ?> - Deadline: D<input placeholder="day" name="deadline_day" style="width: 2em" value="">
+ M<input placeholder="month" name="deadline_month" style="width: 2em" value="">
+ Y<input placeholder="year" name="deadline_year" style="width: 4em" value=""><br/>
Reassignable: <input name="reassignable" type="checkbox" checked><br/>
- <textarea name="description" cols="60" rows="2"></textarea><br/>
- <br/>
- <button type="submit">Add</button>
+ <textarea name="description" cols="80" rows="2"></textarea><br/>
+ <button style="width: 120px" type="submit">Add Task</button>
</form>
+<hr/>
+<?php
+echo $tasks->show();
+?> \ No newline at end of file