1 <?php # vim:ts=2:sw=2:et:
2 /* For licensing and copyright terms, see the file named LICENSE */
7 require_once 'MTrack/Attachment.php';
8 require_once 'MTrackWeb.php';
10 class MTrackWeb_Timeline extends MTrackWeb
14 var $title = 'Timeline';
16 var $start_time = '-2 weeks';
18 // fixme = this should be alot more efficient...
23 function get($only_users)
27 if (!isset($_REQUEST['ajax_body'])) {
32 $this->masterTemplate = 'timeline.html';
34 $pid = $this->currentProject();
35 //DB_DataObject::debugLevel(1);
39 $e = DB_DataObject::factory('mtrack_change');
40 $e->orderBy('changedate DESC');
42 $start = empty($_REQUEST['from_date']) ? date('Y-m-01') :
43 date('Y-m-01', strtotime($_REQUEST['from_date']));
45 if (!empty($_REQUEST['viewtype']) && $_REQUEST['viewtype'] = 'summary') {
48 $e->whereAdd("changedate >= '$start 00:00:00' AND changedate < '$start 00:00:00' + INTERVAL 1 MONTH");
51 ( ontable='mtrack_ticket' AND
52 onid IN (SELECT id FROM mtrack_ticket where project_id = $pid)
55 ( ontable='mtrack_repos' AND
56 onid IN (SELECT id FROM mtrack_repos where project_id = $pid)
60 $this->events = array();
61 //$this->hist= array();
63 foreach($ar as $i=>$h) {
64 $h->cls = $i % 2 ? 'odd' : '';
66 $ts = strtotime($h->changedate);
67 $day = date('D, M d Y', $ts);
68 $time = date('g:ia', $ts);
70 if ($day !== $last_day) {
71 $this->events[] = (object) array(
82 $h->object = $h->objectCached();
84 $this->events[] = empty($_REQUEST['json']) ? $h : $h->toArray();
89 if (!empty($_REQUEST['json'])) {
90 $this->jdata($this->events);