final move of files
[web.mtrack] / MTrackWeb / templates / timeline.html
1  
2  <ul  class='timeline'>
3     {foreach:events,row}
4
5         <li  flexy:if="ent.isDay" class="change-log-day">{ent.day}</li>
6         <li  flexy:if="ent.isTicket" class="change-log-item">
7             <div class='timelineevent'>{link.username(ent.who,#no_name=1,size=48,class=timelineface#)} 
8                 <div class='timelinetext'>
9                     <div class='timelinereason'>
10                          $reason
11                     </div>
12                      <span class='time'>{ent.time}</span> $item by {link.username(ent.who,#no_image=1#)}
13                 </div>
14             </div>
15
16         // figure out an event type based on the object and the reason
17         if (strpos($row['object'], ':') !== false) {
18             list($object, $id) = explode(':', $row['object'], 3);
19         } else {
20             $id = 0;
21             $object = $row['object'];
22         }
23          $item = $row['object'];
24         switch ($object) {
25             case 'ticket':
26                 if (!strncmp($row['reason'], 'created ', 8)) {
27                  } elseif (!strncmp($row['reason'], 'closed ', 7)) {
28                  } else {
29                  }
30                 $item = "Ticket " . mtrack_ticket($id);
31                 break;
32             case 'wiki':
33                  $item = "Wiki " . mtrack_wiki_link($id);
34                 break;
35             case 'milestone':
36                  $item = "Milestone <span class='milestone'><a href='{$ABSWEB}milestone.php/$id'>$id</a></span>";
37                 break;
38             case 'changeset':
39                  preg_match("/^changeset:(.*):([^:]+)$/", $row['object'], $M);
40                 $repo = $M[1];
41                 if (!$this->is_repo_visible($repo)) {
42                     continue 2;
43                 }
44                 $id = $M[2];
45                 $item = "<a href='{$ABSWEB}Browse.php/$repo'>$repo</a> change " . mtrack_changeset($id, $repo);
46                 break;
47             case 'snippet':
48                 $item = "<a href='{$ABSWEB}snippet.php/$id'>View Snippet</a>";
49                 break;
50             case 'repo':
51                 static $repos = null;
52                 if ($repos === null) {
53                     $repos = array();
54                     foreach (MTrackDB::q(
55                             'select repoid, shortname, parent from repos')->fetchAll()
56                             as $r) {
57                         $repos[$r[0]] = $r;
58                     }
59                 }
60                 if (!$this->is_repo_visible($id)) {
61                     continue 2;
62                 }
63                 if (isset($repos[$id])) {
64                     $name = MTrackRepo::makeDisplayName($repos[$id]);
65                     $item = "<a href='{$ABSWEB}Browse.php/$name'>$name</a>";
66                 } else {
67                     $item = "&lt;item has been deleted&gt;";
68                 }
69                 break;
70         }
71
72         $reason = MTrack_Wiki::format_to_oneliner($row['reason']);
73
74         echo "<div class='timelineevent'>",
75             mtrack_username($row['who'], array(
76                 'no_name' => true,
77                 'size' => 48,
78                 'class' => 'timelineface'
79                 )),
80             "<div class='timelinetext'>",
81             "<div class='timelinereason'>",
82             "$reason</div>\n",
83             "<span class='time'>$time</span> $item by ",
84             mtrack_username($row['who'], array('no_image' => true)),
85             "</div>\n";
86         echo "</div>\n";
87     }
88     echo "</div>\n";