Example #1
0
 case 'play':
     // We create the toolbar
     $t = new Toolbar();
     $t->addAction('Back', 'show()', 'go-back');
     $t->addAction('Play', 'togglePlay()', 'media-playback-start');
     $t->addRawBlock("<div id='clock' class='clock'></div>");
     $t->addAction('Reset', 'trackReset()', 'media-playback-stop');
     $c->register($t);
     // We should receive a scalefactor.
     $scl = floatval(getvar('scl', '0.7'));
     // We must receive an id.
     if ($trackid = getvar('trackid', '')) {
         // ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
         // We obtain some data from the participant first.
         $q->rawSelect('name as project,pid,agent,from_unixtime(offset/1000) as start')->from('track')->where("id={$trackid}");
         $ppt = $q->runAndGetRow();
         if ($ppt['project'] == '') {
             $ppt['project'] = '<em>None</em>';
         }
         $t->addInfoPairs($ppt);
         // We get all the data.
         $events = $db->qSelect("select id,t,action,xtra1,xc,yc from event where track_id={$trackid} order by t,id");
         $firstsize = array_shift($events);
         if ($firstsize['action'] != 'resize') {
             $c->displayMsg("Malformed tracking record (action=" . $firstsize['action'] . "). Cannot replay.");
             break;
         }
         $totaltime = $db->qGetValue("select max(t) from event where track_id={$trackid}");
         $c->common->addOnload("maxtime={$totaltime};");
         // We create the screen.
         $screen = new Screen(scale($firstsize['xc']), scale($firstsize['yc']));