'.GetEvents()"); function GetEvents() { global $profiles; $days = 14; if (isset($_POST['days'])) $days = intval($_POST['days']); $dsn = 'sqlite:////home/crux/public_html/local/timeline.db'; $db =& DB::connect($dsn); if (DB::isError($db)) die("Cannot connect to database"); $db->setFetchMode(DB_FETCHMODE_ASSOC); $from = time() - ($days * 24 * 60 * 60); $sql = "select distinct event_date, event_description, event_notes, event_type, event_time from events where event_tstamp >= $from order by event_tstamp desc"; $res =& $db->Query($sql); if (DB::isError($res)) die("Query error"); $timeline .= ''."\n"; $currdate = "noway"; while ($evt =& $res->fetchRow()) { // date header if ($evt['event_date'] != $currdate) { $timeline .= '\n"; } // description $event_description = ""; if (substr($evt['event_type'], 0, 5) == "task_") { // flyspray events $real_name = strstr($evt['event_description'], 'by'); $real_name = substr($real_name, 3, strlen($real_name)); $trim_name = str_replace(' ', '', $real_name); if (in_array($trim_name, $profiles)) { $event_description = str_replace($real_name, "[[~".$trim_name."]]", $evt['event_description']); } else { $event_description = $evt['event_description']; } } elseif (substr($evt['event_type'], 0, 5) == "wiki_") { // wiki events $event_description = $evt['event_description']; } elseif (substr($evt['event_type'], 0, 11) == "git_commit_") { // git events $event_description = "Changeset ".substr($evt['event_type'], 11, strlen($evt['event_type'])).".git ".$evt['event_description']; } // append notes if ($evt['event_notes'] != "") $event_description .= ": ".$evt['event_notes']; // image $img = ''; // final string $timeline .= ''."\n"; $currdate = $evt['event_date']; } $timeline .= "
'.$evt['event_date']."
'.$evt['event_time'].''.$img.''.$event_description.'
\n"; $timeline .= '
Show the latest days
'."\n"; return $timeline; } ?>