From 2009f510024801778c3f811d9d04eaf613620c13 Mon Sep 17 00:00:00 2001 From: Brian Miyaji Date: Thu, 13 Jun 2019 21:49:29 +1000 Subject: [PATCH] Separate OpenStreetMap actions to support alternative maps providers --- modules/sportspress-openstreetmap.php | 46 ++++++++++++++++----------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/modules/sportspress-openstreetmap.php b/modules/sportspress-openstreetmap.php index baf7e41d..bc717906 100644 --- a/modules/sportspress-openstreetmap.php +++ b/modules/sportspress-openstreetmap.php @@ -5,7 +5,7 @@ Plugin URI: http://themeboy.com/ Description: Integrate OpenStreetMap to SportsPress. Author: ThemeBoy Author URI: http://themeboy.com/ -Version: 2.6.15 +Version: 2.6.18 */ // Exit if accessed directly @@ -17,7 +17,7 @@ if ( ! class_exists( 'SportsPress_OpenStreetMap' ) ): * Main SportsPress OpenStreetMap Class * * @class SportsPress_OpenStreetMap - * @version 2.6.15 + * @version 2.6.18 */ class SportsPress_OpenStreetMap { @@ -30,8 +30,9 @@ if ( ! class_exists( 'SportsPress_OpenStreetMap' ) ): $this->define_constants(); // Actions - add_action( 'admin_enqueue_scripts', array( $this, 'admin_styles' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) ); + add_action( 'sp_admin_venue_scripts', array( $this, 'admin_venue_scripts' ) ); + add_action( 'sp_frontend_venue_scripts', array( $this, 'frontend_venue_scripts' ) ); add_action( 'wp_enqueue_scripts', array( $this, 'frontend_scripts' ) ); add_action( 'sp_venue_show_map', array( $this, 'show_venue_map' ), 10, 5 ); add_action( 'sp_admin_geocoder_scripts', array( $this, 'admin_geocoder_scripts' ), 10 ); @@ -44,7 +45,7 @@ if ( ! class_exists( 'SportsPress_OpenStreetMap' ) ): */ private function define_constants() { if ( !defined( 'SP_OPENSTREETMAP_VERSION' ) ) - define( 'SP_OPENSTREETMAP_VERSION', '2.6.15' ); + define( 'SP_OPENSTREETMAP_VERSION', '2.6.18' ); if ( !defined( 'SP_OPENSTREETMAP_URL' ) ) define( 'SP_OPENSTREETMAP_URL', plugin_dir_url( __FILE__ ) ); @@ -54,31 +55,33 @@ if ( ! class_exists( 'SportsPress_OpenStreetMap' ) ): } /** - * Enqueue admin styles + * Enqueue admin scripts */ - public function admin_styles( $hook ) { + public function admin_scripts() { + do_action( 'sp_admin_venue_scripts' ); + } + + /** + * Enqueue admin venue scripts + */ + public function admin_venue_scripts() { $screen = get_current_screen(); + if ( in_array( $screen->id, sp_get_screen_ids() ) ) { wp_enqueue_style( 'leaflet_stylesheet', SP()->plugin_url() . '/assets/css/leaflet.css', array(), '1.4.0' ); wp_enqueue_style( 'control-geocoder', SP()->plugin_url() . '/assets/css/Control.Geocoder.css', array() ); } - } - - /** - * Enqueue admin scripts - */ - public function admin_scripts( $hook ) { - $screen = get_current_screen(); + if ( in_array( $screen->id, sp_get_screen_ids() ) ) { wp_register_script( 'leaflet_js', SP()->plugin_url() . '/assets/js/leaflet.js', array(), '1.4.0' ); wp_register_script( 'control-geocoder', SP()->plugin_url() . '/assets/js/Control.Geocoder.js', array( 'leaflet_js' ) ); wp_register_script( 'sportspress-admin-geocoder', SP()->plugin_url() . '/assets/js/admin/sp-geocoder.js', array( 'leaflet_js', 'control-geocoder' ), SP_VERSION, true ); } - // Edit venue pages - if ( in_array( $screen->id, array( 'edit-sp_venue' ) ) ) { - wp_enqueue_script( 'leaflet_js' ); - wp_enqueue_script( 'control-geocoder' ); - wp_enqueue_script( 'sportspress-admin-geocoder' ); + + if ( in_array( $screen->id, array( 'edit-sp_venue' ) ) ) { + wp_enqueue_script( 'leaflet_js' ); + wp_enqueue_script( 'control-geocoder' ); + wp_enqueue_script( 'sportspress-admin-geocoder' ); } } @@ -86,6 +89,13 @@ if ( ! class_exists( 'SportsPress_OpenStreetMap' ) ): * Enqueue frontend scripts */ public function frontend_scripts() { + do_action( 'sp_frontend_venue_scripts' ); + } + + /** + * Enqueue frontend venue scripts + */ + public function frontend_venue_scripts() { if( ( is_single() || is_tax() ) && get_post_type()=='sp_event' ){ wp_enqueue_style( 'leaflet_stylesheet', SP()->plugin_url() . '/assets/css/leaflet.css', array(), '1.4.0' ); wp_enqueue_script( 'leaflet_js', SP()->plugin_url() . '/assets/js/leaflet.js', array(), '1.4.0' );