<?php $data = va_session_get($_GET['rndk']); $rndk = $_GET['rndk']; $url = get_bloginfo('wpurl') . '/wp-admin/admin-ajax.php?action=videoanalytics_api&method=session&rndk=' . $rndk; ?> <h2> Session: <?php print $rndk; ?> </h2> <p class="info"> <span class="more-info"></span></p> <div class="vis-container"> <div class="vis-placeholder"></div> </div> <a id="dl" download="Canvas.png" href="#">Download Image</a> <p><a href="<?php print $url . "&download"; ?> "><?php _e("Download data"); ?>
function videoanalytics_do_ajax_request() { $track = ""; if (isset($_GET['track'])) { $track = $_GET['track']; } $data = va_session_get($_GET['rndk'], $track); ?> {"cols":[ {"id":"","label":"Header","pattern":"","type":"number"}, {"id":"","label":"Time","pattern":"","type":"date"} ],"rows":[ <?php $c = 0; $total = count($data); foreach ($data as $d) { $ts = (new DateTime($d->ta))->getTimestamp(); $date = date_create(); date_timestamp_set($date, $ts); //echo date_format($date, 'U = Y-m-d H:i:s') . "\n"; ?> {"c":[{"v":<?php print $d->params; ?> },{"v":"Date( <?php print date_format($date, "Y,m,d,H,i,s"); ?> )"}]}, <?php //todo si es el final afegir if ($d->act == "pausa") { //si el seguent torna a ser un play del mateix video... if ($c < $total - 1) { if ($data[$c + 1]->act == "play" && $data[$c + 1]->video == $data[$c]->video) { $ts2 = $data[$c + 1]->params; $date2 = date_create(); date_timestamp_set($date2, $ts); ?> {"i":"blah","c":[{"v":<?php print $d->params; ?> },{"v":"Date( <?php print date_format($date2, "Y,m,d,H,i,s"); ?> )"}]}, <?php } else { //print "Ole".intVal($d->params); //$date2=date_add($date, date_interval_create_from_date_string('+'.intVal($d->params).' seconds')); $ts2 = $ts + intVal($d->params); //print "ts2: ".$ts2." ts: ".$ts." dif: ".($ts2-$ts); $date2 = date_create(); date_timestamp_set($date2, $ts); // $date2=$date->add(new DateInterval('PT'.$d->params.'S')); //todo no suma be els segons ?> {"i":"blah","color":"#ff0000","c":[{"v":0},{"v":"Date( <?php print date_format($date2, "Y,m,d,H,i,s"); ?> )"}]}, <?php } } } $c++; } ?> ]} <?php exit; }
/** crides a la api, retornen json */ function api($method, $params) { switch ($method) { case "sessions_videos": $posts = va_get_sessions_video($params['video']); print json_encode($posts); break; case "session": $session = va_session_get($params['rndk']); print json_encode($session); break; } }