Files
wp-strava/lib/WPStrava/SOM.php
T

38 lines
1006 B
PHP
Raw Normal View History

2013-03-31 21:28:49 -05:00
<?php
abstract class WPStrava_SOM {
/**
* Factory method to get the correct SOM class based on specified units
* or by the options setting.
*
* @param string $som 'english' or 'metric'
* @return WPStrava_SOM Instance of SOM
* @author Justin Foell
*/
2017-05-26 10:53:24 -05:00
public static function get_som( $som = null ) {
2013-03-31 21:28:49 -05:00
$som = $som ? $som : WPStrava::get_instance()->settings->som;
if ( 'english' === $som ) {
2013-03-31 21:28:49 -05:00
return new WPStrava_SOMEnglish();
}
// Default to metric.
return new WPStrava_SOMMetric();
2013-03-31 21:28:49 -05:00
}
2013-03-31 21:28:49 -05:00
abstract public function distance( $m );
abstract public function distance_inverse( $dist );
abstract public function get_distance_label();
abstract public function speed( $mps );
abstract public function get_speed_label();
abstract public function elevation( $m );
abstract public function get_elevation_label();
2013-04-07 17:56:07 -05:00
public function time( $seconds ) {
return date( 'H:i:s', mktime( 0, 0, $seconds ) );
}
public function get_time_label() {
return __( 'hours', 'wp-strava' );
}
}