From 1112c6325b138d70624abd5315585b3edc46b272 Mon Sep 17 00:00:00 2001 From: apenwarr Date: Fri, 3 Sep 2004 02:28:14 +0000 Subject: [PATCH] Better colour scheme in schedulator summaries. git-svn-id: file:///home/apenwarr/alumnit-svn/public/trunk@6981 6619c942-59fa-0310-bf43-a07aaa81d9ac --- gracefultavi/macros/Sched.php | 80 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 75 insertions(+), 5 deletions(-) diff --git a/gracefultavi/macros/Sched.php b/gracefultavi/macros/Sched.php index fda81ca4..d4e37286 100644 --- a/gracefultavi/macros/Sched.php +++ b/gracefultavi/macros/Sched.php @@ -1201,6 +1201,34 @@ function sch_switch_loadfactor($load) } +function sch_next_milestone($fixfor) +{ + global $bug_h; + bug_init(); + $ret = ""; + + $query = "select dtDue " . + " from schedulator.Milestone " . + " where dtDue > now() and sMilestone='$fixfor' " . + " order by dtDue limit 1 "; + $result = mysql_query($query, $bug_h); + $row = mysql_fetch_row($result); + if (count($row) >= 1) + return $row[0]; + else + return ""; +} + + +function sch_month_out($str, $count) +{ + $months = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); + $simple = $months[substr($str, 5, 2) - 1]; + return "$simple"; +} + + function sch_summary($fixfor) { global $bug_h; @@ -1223,15 +1251,27 @@ function sch_summary($fixfor) $task = $row[2]; # $nicedue = ereg_replace("-", " ", $due); - $nicedue = ereg_replace("(....)-(..)-(..)", "\\2 \\3", $due); + $nicedue = ereg_replace("(....)-(..)-(..)", "\\3", $due); $dates[$due] = $nicedue; $last_date = $due; $bugs[$person][$due][] = $task; } + $nextbounce = sch_next_milestone($fixfor); + if ($nextbounce) + { + $next_str = " (Scheduled for $nextbounce)"; + $daystobounce = (strtotime($nextbounce) - time()) / 24 / 60 / 60; + } + else + { + $next_str = " (No bounces scheduled)"; + $daystobounce = 365; + } + $ret .= "

Schedulator Summary for '$fixfor'

\n"; - $ret .= "

Predicted Bounce: $last_date

\n"; + $ret .= "

Predicted Bounce: $last_date$next_str

\n"; $ret .= ""; $date_list = array_keys($dates); @@ -1259,7 +1305,6 @@ function sch_summary($fixfor) foreach ($date_list as $due) { $year = ereg_replace("(....)-(..)-(..)", "\\1", $due); - $month = ereg_replace("(....)-(..)-(..)", "\\1 \\2", $due); if (!$lastyear) $lastyear = $year; if ($year != $lastyear) { @@ -1272,6 +1317,24 @@ function sch_summary($fixfor) $ret .= "$lastyear"; $ret .= "\n"; + $ret .= ""; + $lastmonth = 0; + $monthcount = 0; + foreach ($date_list as $due) + { + $month = ereg_replace("(....)-(..)-(..)", "\\1 \\2", $due); + if (!$lastmonth) $lastmonth = $month; + if ($month != $lastmonth) + { + $ret .= sch_month_out($lastmonth, $monthcount); + $lastmonth = $month; + $monthcount = 0; + } + $monthcount++; + } + $ret .= sch_month_out($lastmonth, $monthcount); + $ret .= "\n"; + $ret .= "" . join("", array_values($dates)) . "\n"; $ret .= ""; @@ -1302,7 +1365,14 @@ function sch_summary($fixfor) } $colclass = ""; - if ($n && strtotime($due) < time()) + $daysleft = (strtotime($due) - time()) / 24 / 60 / 60; + if ($daysleft < -7) + $colclass = "superlate"; + else if ($daysleft < -2) + $colclass = "late"; + else if ($daystobounce - $daysleft < 0) + $colclass = "superlate"; + else if ($daystobounce - $daysleft < ($daystobounce / 2.5)) $colclass = "late"; $ret .= "$v"; -- 2.11.4.GIT