I am running ackerTodo 4.0 on Gentoo Linux, under
Apache 2.2 i think.
This error is the same as one I noted that had been
closed due to being old, bug #1353763.
I have four tasks that are being displayed as due
"Today", although today is really 06 October 2006, and
the deadlines of the tasks are: 15 November 2006, 15
October 2006, and 15 February 2007.
The tasks are of varying priorities, and were assigned
by admin to another user.
It seems to be a problem specific to the 15th of a
month. The previous bug report also cited the error
specific to the 15th of a month (November):
(TEXT OF PREVIOUS BUG REPORT 1353763)
-----------------------------------------------------
"Hi,
i've setup an ackerTodo on a linux webhosting.
I've inserted a new task in the past week.
now (today is nov 11) i've updated this task, and it's
expiration date is 15 nov 2005.
the task has no recurrence, and in the show task window
i see Status = Deadline: Today.
The real deadline should be 15 nov 2005, and if i
change it to 14 nov 1005 it is showed correctly.
Yesterday (nov 10 2005) was happening the same thing
with task which expiration date was 14 nov 2005.
i think this could be a bug with date calculation.
Thanks for your great work!
shak"
-----------------------------------------------------
Logged In: YES
user_id=348862
The problem seems to be with the get_status() function
inside of includes/tasks.inc
Particularly, I found that there was a comparison
-------------------------------------------------------
if($date == $curdate || $cur_dow == $task_dow) {
//...
// ... if recurrance != 2,3, or 5, then
$status = _DEADLINE . ': ' . _TODAY;
//...
}
-------------------------------------------------------
where $task_dow was matching $cur_dow incorrectly. for
example, both were returning 10 when cur_dow was sunday, the
8th of october, and task_dow was wednesday, 10 january. they
were both returning 10. so i think one of these two vars
were built wrong.
Logged In: NO
I just installed ackerTodo yesterday and noticed this as well. Here's a quick patch.
*** includes/tasks.inc Fri Feb 9 08:27:36 2007
--- /mnt/src/WWW/ackerTodo-4.2/src/includes/tasks.inc Wed Sep 20 10:51:11 2006
***************
*** 285,293 ****
$image = 'overdue.gif';
} else {
if($date == $curdate || $cur_dow == $task_dow) {
! if($recurrence == 0 && $date != $curdate) {
! $status = _DEADLINE . ': ' . format_date_simple($myrow['date'], $date_format);
! } elseif($recurrence == 2) {
$status = _WEEKLY . ': ' . _TODAY;
} elseif($recurrence == 3) {
$status = _MONTHLY . ': ' . _TODAY;
--- 285,291 ----
$image = 'overdue.gif';
} else {
if($date == $curdate || $cur_dow == $task_dow) {
! if($recurrence == 2) {
$status = _WEEKLY . ': ' . _TODAY;
} elseif($recurrence == 3) {
$status = _MONTHLY . ': ' . _TODAY;
It won't apply cleanly because of the tabs in the sourcecode, but this should be
enough to get you going.
Christopher Lindsey
lindsey at mallorn.com