/** * Returns the singleton ModuleSessionGraphsAPI * * @return ModuleSessionGraphsAPI */ public static function getInstance() { if (self::$instance == null) { $c = __CLASS__; self::$instance = new $c(); } return self::$instance; }
function viewLaps() { $api = new Module_SessionGraphs_API(); $session_date = Core_Common::getRequestVar('session_date', null, 'string'); $lap_num = Core_Common::getRequestVar('lap_num', null, 'string'); $view = Core_View::factory('sessionlaps'); $view->session_date = $session_date; $view->lap_num = $lap_num; $session = $api->getSession($session_date); $laps = $api->getLaps($session_date); $lap = $laps[$lap_num - 1]; $zones = $api->getZones($session_date, $lap['start_time'], $lap['end_time']); $view->zones = $zones; $view->laps = $laps; $view->lap = $lap; $session_labels = array(); $session_labels[] = array("label" => 'Date', "value" => $session['session_date'], "id" => 'session_date', "units" => ''); $session_labels[] = array("label" => 'Duration', "value" => $session['duration'], "id" => 'duration', "units" => ''); $session_labels[] = array("label" => 'Distance', "value" => $session['distance'], "id" => 'distance', "units" => 'km'); $session_labels[] = array("label" => 'Avg Speed', "value" => $session['avg_speed'], "id" => 'avg_speed', "units" => 'km/h'); $session_labels[] = array("label" => 'Max Speed', "value" => $session['max_speed'], "id" => 'max_speed', "units" => 'km/h'); $session_labels[] = array("label" => 'Avg Heart Rate', "value" => $session['avg_heartrate'], "id" => 'avg_heartrate', "units" => 'bpm'); $session_labels[] = array("label" => 'Max Heart Rate', "value" => $session['max_heartrate'], "id" => 'max_heartrate', "units" => 'bpm'); $session_labels[] = array("label" => 'Avg Heart Percent', "value" => $session['avg_heartrate_percent'], "id" => 'avg_heartrate_percent', "units" => '%'); $session_labels[] = array("label" => 'Max Heart Percent', "value" => $session['max_heartrate_percent'], "id" => 'max_heartrate_percent', "units" => '%'); $session_labels[] = array("label" => 'Energy', "value" => round($session['calories'] * 4.184), "id" => 'calories', "units" => 'kJ'); $session_labels[] = array("label" => 'Total Ascent', "value" => $session['total_ascent'], "id" => 'total_ascent', "units" => 'm'); $session_labels[] = array("label" => 'Total Descent', "value" => $session['total_descent'], "id" => 'total_descent', "units" => 'm'); $view->session = $session_labels; echo $view->render(); }