Moved appropriate methods from Map Widget to Rides

This commit is contained in:
Justin Foell
2013-04-07 18:09:50 -05:00
parent 52da31b091
commit a1a213f1b7
2 changed files with 30 additions and 37 deletions
+7 -36
View File
@@ -66,13 +66,15 @@ class WPStrava_LatestMapWidget extends WP_Widget {
$ride = $ride_transient;
if ( ! $ride ) {
die('<pre>'.print_r($ride_index_params, true));
$rides = WPStrava::get_instance()->rides->getRidesAdvanced( $ride_index_params );
//$rides = $this->getRides( $ride_index_params );
$strava_rides = WPStrava::get_instance()->rides;
$ride_index_params = implode( '&', explode( "\n", $ride_index_params ) );
parse_str( $ride_index_params, $params );
$rides = $strava_rides->getRidesAdvanced( $params );
if ( ! empty( $rides ) ) {
if ( ! empty( $distance_min ) )
$rides = $this->getRidesLongerThan( $rides, $distance_min );
$rides = $strava_rides->getRidesLongerThan( $rides, $distance_min );
$ride = current( $rides );
@@ -126,11 +128,10 @@ class WPStrava_LatestMapWidget extends WP_Widget {
}
private function getStaticImage( $ride_id, $build_new ) {
$img = get_option( 'strava_latest_map' );
if ( $build_new || ! $img ) {
$map_details = $this->getMapDetails( $ride_id );
$map_details = WPStrava::get_instance()->rides->getMapDetails( $ride_id );
$img = $this->buildImage( $map_details );
update_option( 'strava_latest_map', $img );
}
@@ -138,34 +139,4 @@ class WPStrava_LatestMapWidget extends WP_Widget {
return $img;
}
private function getRides( $params ) {
$data = WPStrava::get_instance()->api->get( 'rides?' . implode( '&', explode( "\n", $params ) ), 1 ); //version 1
if ( isset( $data->rides ) )
return $data->rides;
return array();
}
private function getRideInfo( $ride_id ) {
return WPStrava::get_instance()->api->get( "rides/{$ride_id}" );
}
private function getRidesLongerThan( $rides, $dist ) {
$meters = $this->som->distance_inverse( $dist );
$long_rides = array();
foreach ( $rides as $ride ) {
$ride_info = $this->getRideInfo( $ride->id );
if ( $ride_info->ride->distance > $meters ) {
$long_rides[] = $ride_info;
}
}
return $long_rides;
}
private function getMapDetails( $ride_id ) {
$token = WPStrava::get_instance()->settings->token;
return WPStrava::get_instance()->api->get( "rides/{$ride_id}/map_details", array( 'token' => $token ) );
}
}
+23 -1
View File
@@ -52,7 +52,7 @@ class WPStrava_Rides {
} // getRidesSimple
public function getRidesAdvanced( $params ) {
$data = WPStrava::get_instance()->api->get( 'rides', explode( "\n", $params ), 1 ); //version 1
$data = WPStrava::get_instance()->api->get( 'rides', $params, 1 ); //version 1
if ( is_wp_error( $data ) )
return $data;
@@ -81,5 +81,27 @@ class WPStrava_Rides {
return false;
}
} // getRideDetails
public function getRidesLongerThan( $rides, $dist ) {
$som = WPStrava_SOM::get_som();
$meters = $som->distance_inverse( $dist );
$long_rides = array();
foreach ( $rides as $ride ) {
$ride_info = $this->getRideDetails( $ride->id );
if ( $ride_info->ride->distance > $meters ) {
$long_rides[] = $ride_info;
}
}
return $long_rides;
}
public function getMapDetails( $ride_id ) {
$token = WPStrava::get_instance()->settings->token;
return WPStrava::get_instance()->api->get( "rides/{$ride_id}/map_details", array( 'token' => $token ) );
}
} // class Rides
?>