From d831bc45346efac1e8274ea3ecfff9fc74b3f834 Mon Sep 17 00:00:00 2001 From: Justin Foell Date: Fri, 1 Mar 2019 15:21:02 -0600 Subject: [PATCH] Added Hide Time option; Fixed author tags --- lib/WPStrava/LatestActivities.php | 21 ++++++++++++++++++++- lib/WPStrava/Settings.php | 31 +++++++++++++++++++++++++++++++ readme.txt | 12 ++++++++++-- tests/WPStrava/SOMEnglishTest.php | 12 ++++++------ tests/WPStrava/SOMMetricTest.php | 12 ++++++------ tests/bootstrap.php | 5 ++++- 6 files changed, 77 insertions(+), 16 deletions(-) diff --git a/lib/WPStrava/LatestActivities.php b/lib/WPStrava/LatestActivities.php index ba88f9f..0117532 100644 --- a/lib/WPStrava/LatestActivities.php +++ b/lib/WPStrava/LatestActivities.php @@ -33,7 +33,10 @@ public static function get_activities_html( $args ) { if ( ! empty( $activity->start_date_local ) ) { $unixtime = strtotime( $activity->start_date_local ); // Translators: Shows something like "On <[went 10 miles] [during 2 hours] [climbing 100 feet]>." - $response .= sprintf( __( 'On %1$s %2$s', 'wp-strava' ), date_i18n( get_option( 'date_format' ), $unixtime ), date_i18n( get_option( 'time_format' ), $unixtime ) ); + $response .= sprintf( __( 'On %1$s %2$s', 'wp-strava' ), + date_i18n( get_option( 'date_format' ), $unixtime ), + self::get_activity_time( $unixtime ) + ); } if ( is_numeric( $args['strava_club_id'] ) ) { @@ -54,4 +57,20 @@ public static function get_activities_html( $args ) { $response .= ''; return $response; } + + /** + * Get the activity time, possibly hiding it. + * + * @param int $unixtime + * @return string Formatted time, or empty string depending on hide_time option. + * @author Justin Foell + * @since 1.7.1 + */ + public static function get_activity_time( $unixtime ) { + if ( WPStrava::get_instance()->settings->hide_time ) { + return ''; + } + + return date_i18n( get_option( 'time_format' ), $unixtime ); + } } diff --git a/lib/WPStrava/Settings.php b/lib/WPStrava/Settings.php index e6acd32..28e0326 100644 --- a/lib/WPStrava/Settings.php +++ b/lib/WPStrava/Settings.php @@ -125,6 +125,10 @@ public function register_strava_settings() { add_settings_section( 'strava_options', __( 'Options', 'wp-strava' ), null, 'wp-strava' ); add_settings_field( 'strava_som', __( 'System of Measurement', 'wp-strava' ), array( $this, 'print_som_input' ), 'wp-strava', 'strava_options' ); + // Hide Time Option. + register_setting( $this->option_page, 'strava_hide_time', array( $this, 'sanitize_hide_time' ) ); + add_settings_field( 'strava_hide_time', __( 'Hide Activity Time', 'wp-strava' ), array( $this, 'print_hide_time_input' ), 'wp-strava', 'strava_options' ); + // Clear cache. register_setting( $this->option_page, 'strava_cache_clear', array( $this, 'sanitize_cache_clear' ) ); add_settings_section( 'strava_cache', __( 'Cache', 'wp-strava' ), null, 'wp-strava' ); @@ -336,6 +340,33 @@ public function sanitize_som( $som ) { return $som; } + /** + * Display the Hide Time Checkbox. + * + * @author Justin Foell + * @since 1.7.1 + */ + public function print_hide_time_input() { + ?> + hide_time, 'on' ); ?>/> + + * @since 1.7.1 + */ + public function sanitize_hide_time( $checked ) { + if ( 'on' === $checked ) { + return $checked; + } + return null; + } + public function print_clear_input() { ?> diff --git a/readme.txt b/readme.txt index cfc30a0..de66f34 100644 --- a/readme.txt +++ b/readme.txt @@ -23,8 +23,8 @@ This plugin uses the Strava API to embed maps and activity for athletes and club Also takes the following optional parameters: * som - english/metric (system of measure - override from default setting). -* map_width - width (width of image in pixels). -* map_height - height (height of image in pixels). +* map_width - width (width of image in pixels). Note both width and height parameters are limited to 640px except on premium API plans: https://developers.google.com/maps/documentation/maps-static/dev-guide#Imagesizes +* map_height - height (height of image in pixels). See note above on max height. * athlete_token - specify a different athlete (you can copy this value from https://www.strava.com/settings/api or the wp-strava settings page at /wp-admin/options-general.php?page=wp-strava-options). * markers - Display markers at the start/finish point (true/false, defaults to false). * image_only - Display only the map image and not the table (true/false, defaults to false). @@ -79,6 +79,13 @@ WP-Strava caches activity for one hour so your site doesn't hit the Strava API o == Changelog == += 1.7.1 = + +Added PHPUnit tests for all System of Measure calculations. +Fixed swimpace calculation. +Fixed seconds display on pace. +Added Hide Activity Time option to hide time display from Latest Activities List. + = 1.7.0 = Added Sebastian Erb to contributors. @@ -88,6 +95,7 @@ Added 'image_only' attribute to [activity] and [route] shortcode to optionally r Added boolean filtering to shortcodes to prevent false-positive "truthiness" to a shortcode attribute like image_only="false". Removed 'max-width: none' from activity image to make it responsive. + = 1.6.0 = Added class autoloader (removed composer autoloader). diff --git a/tests/WPStrava/SOMEnglishTest.php b/tests/WPStrava/SOMEnglishTest.php index 0ac92e8..f72d9cd 100644 --- a/tests/WPStrava/SOMEnglishTest.php +++ b/tests/WPStrava/SOMEnglishTest.php @@ -17,7 +17,7 @@ public function test_object() { /** * Test that 10,000 meters is 6.21 miles using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_distance() { @@ -28,7 +28,7 @@ public function test_distance() { /** * Test that 6.213712 miles is 10,000.00 meters using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_distance_inverse() { @@ -39,7 +39,7 @@ public function test_distance_inverse() { /** * Test that 6.705 meters per second is 15.00 mph using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_speed() { @@ -50,7 +50,7 @@ public function test_speed() { /** * Test that 2.68224 meters per second is a 10:00 minute/mile pace using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_pace() { @@ -61,7 +61,7 @@ public function test_pace() { /** * Test that 60.96 meters is 200.00 feet using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_elevation() { @@ -72,7 +72,7 @@ public function test_elevation() { /** * Test that 4805 seconds is 01:20:05 time (H:i:s) using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_time() { diff --git a/tests/WPStrava/SOMMetricTest.php b/tests/WPStrava/SOMMetricTest.php index 24a99f9..c51ae3c 100644 --- a/tests/WPStrava/SOMMetricTest.php +++ b/tests/WPStrava/SOMMetricTest.php @@ -17,7 +17,7 @@ public function test_object() { /** * Test that 10,000 meters is 10.00 kilometers using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_distance() { @@ -28,7 +28,7 @@ public function test_distance() { /** * Test that 42.195 km is 42,195.00 meters using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_distance_inverse() { @@ -39,7 +39,7 @@ public function test_distance_inverse() { /** * Test that 4.47 meters per second is 16.09 kmh using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_speed() { @@ -50,7 +50,7 @@ public function test_speed() { /** * Test that 2.2352 meters per second is a 7:27 minute/kilometer pace using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_pace() { @@ -61,7 +61,7 @@ public function test_pace() { /** * Test that 70 meters is 70.00 meters using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_elevation() { @@ -72,7 +72,7 @@ public function test_elevation() { /** * Test that 1.66 meters per second is a 1:00 minute/100m pace using both string and float inputs. * - * @author Justin Foell + * @author Justin Foell * @since 1.7.1 */ public function test_swimpace() { diff --git a/tests/bootstrap.php b/tests/bootstrap.php index a5fbe64..1d5410e 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,6 +1,9 @@