Update Google Map styles.

This commit is contained in:
Hoang Huu 2019-10-30 10:57:14 +07:00
parent 5e56b01a72
commit 67aab34274
4 changed files with 1438 additions and 412 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
<?php <?php
/** /**
* $Desc$ * $Desc$
* *
@ -19,41 +19,76 @@ if ( ! defined( 'ABSPATH' ) ) {
class Opalestate_Settings_3rd_party_Tab extends Opalestate_Settings_Base_Tab { class Opalestate_Settings_3rd_party_Tab extends Opalestate_Settings_Base_Tab {
public function get_subtabs () {
$tabs = (array)apply_filters (
'opalestate_settings_3rd_party_subtabs_nav', array()
);
$tabs = array_merge_recursive( $tabs, array( public function get_subtabs() {
'yelp' => "Yelp",
'walkcore' => "Walkcore" $tabs = [
) ); 'google_map' => esc_html__( 'Google Map', 'opalestate-pro' ),
'yelp' => esc_html__( 'Yelp', 'opalestate-pro' ),
'walkcore' => esc_html__( 'Walkcore', 'opalestate-pro' ),
];
$tabs = (array) apply_filters( 'opalestate_settings_3rd_party_subtabs_nav', $tabs );
return $tabs; return $tabs;
} }
public function get_subtabs_content( $key ="" ) { public function get_subtabs_content( $key = '' ) {
// echo $key;die; $fields = apply_filters( 'opalestate_settings_3rd_party_subtabs_' . $key . '_fields', [] );
$fields = apply_filters ( 'opalestate_settings_3rd_party_subtabs_'.$key.'_fields', array() ); if ( 'google_map' == $key ) {
$fields = $this->get_google_map_fields();
if( $key == 'yelp' ){ } elseif ( 'yelp' == $key ) {
$fields = $this->get_yelp_fields(); $fields = $this->get_yelp_fields();
}else if( $key == 'walkcore' ){ } elseif ( 'walkcore' == $key ) {
$fields = $this->get_walkscore_fields(); $fields = $this->get_walkscore_fields();
} }
return [ return [
'id' => 'options_page', 'id' => 'options_page',
'opalestate_title' => esc_html__( '3rd Party Settings', 'opalestate-pro' ), 'opalestate_title' => esc_html__( '3rd Party Settings', 'opalestate-pro' ),
'show_on' => [ 'key' => 'options-page', 'value' => [ $key ], ], 'show_on' => [ 'key' => 'options-page', 'value' => [ $key ], ],
'fields' => (array)$fields 'fields' => (array) $fields,
]; ];
} }
public function get_walkscore_fields(){ public function get_google_map_fields() {
return array( return [
[
'name' => esc_html__( 'API key', 'opalestate-pro' ),
'desc' => __( 'You need to register <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_blank">Google API Key</a>, then put the key in this setting.',
'opalestate-pro' ),
'id' => 'google_map_api_keys',
'type' => 'text',
'default' => 'AIzaSyCfMVNIa7khIqYHCw6VBn8ShUWWm4tjbG8',
],
[
'name' => esc_html__( 'Style', 'opalestate-pro' ),
'desc' => __( 'Select a style', 'opalestate-pro' ),
'id' => 'google_map_style',
'type' => 'select',
'options' => [
'standard' => esc_html__( 'Standard', 'opalestate-pro' ),
'silver' => esc_html__( 'Silver', 'opalestate-pro' ),
'retro' => esc_html__( 'Retro', 'opalestate-pro' ),
'dark' => esc_html__( 'Dark', 'opalestate-pro' ),
'night' => esc_html__( 'Night', 'opalestate-pro' ),
'aubergine' => esc_html__( 'Aubergine', 'opalestate-pro' ),
'custom' => esc_html__( 'Custom', 'opalestate-pro' ),
],
'default' => 'standard',
],
[
'name' => esc_html__( 'Custom Style', 'opalestate-pro' ),
'desc' => __( 'You can visit <a href="https://mapstyle.withgoogle.com/" target="_blank">Google Maps Platform Styling Wizard</a>, then paste JSON into this setting.',
'opalestate-pro' ),
'id' => 'google_map_custom_style',
'type' => 'textarea_code',
],
];
}
public function get_walkscore_fields() {
return [
[ [
'name' => esc_html__( 'Walk Score', 'opalestate-pro' ), 'name' => esc_html__( 'Walk Score', 'opalestate-pro' ),
'desc' => '', 'desc' => '',
@ -67,12 +102,12 @@ class Opalestate_Settings_3rd_party_Tab extends Opalestate_Settings_Base_Tab {
'desc' => esc_html__( 'Add Walk Score API key. To get your Walk Score API key, go to your Walk Score Account.', 'opalestate-pro' ), 'desc' => esc_html__( 'Add Walk Score API key. To get your Walk Score API key, go to your Walk Score Account.', 'opalestate-pro' ),
'id' => 'walkscore_api_key', 'id' => 'walkscore_api_key',
'type' => 'text', 'type' => 'text',
] ],
); ];
} }
public function get_yelp_fields(){ public function get_yelp_fields() {
return array( return [
[ [
'name' => esc_html__( 'Yelp', 'opalestate-pro' ), 'name' => esc_html__( 'Yelp', 'opalestate-pro' ),
'desc' => '', 'desc' => '',
@ -130,8 +165,7 @@ class Opalestate_Settings_3rd_party_Tab extends Opalestate_Settings_Base_Tab {
'kilometers' => esc_html__( 'kilometers', 'opalestate-pro' ), 'kilometers' => esc_html__( 'kilometers', 'opalestate-pro' ),
], ],
'default' => 'miles', 'default' => 'miles',
] ],
); ];
} }
}
}

View File

@ -262,14 +262,6 @@ class Opalestate_Settings_General_Tab extends Opalestate_Settings_Base_Tab {
'options' => opalestate_get_measurement_units(), 'options' => opalestate_get_measurement_units(),
'default' => 'sqft', 'default' => 'sqft',
], ],
[
'name' => esc_html__( 'Google Map API', 'opalestate-pro' ),
'desc' => __( 'You need to register <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_blank">Google API Key</a>, then put the key in this setting.',
'opalestate-pro' ),
'id' => 'google_map_api_keys',
'type' => 'text',
'default' => 'AIzaSyCfMVNIa7khIqYHCw6VBn8ShUWWm4tjbG8',
],
] ]
); );
} }

View File

@ -27,7 +27,6 @@ class OpalEstate_Enqueue {
* Constructor * Constructor
*/ */
public function __construct() { public function __construct() {
add_action( 'wp_enqueue_scripts', [ $this, 'load_scripts' ] ); add_action( 'wp_enqueue_scripts', [ $this, 'load_scripts' ] );
add_action( 'wp_head', [ $this, 'add_custom_styles' ] ); add_action( 'wp_head', [ $this, 'add_custom_styles' ] );
} }
@ -52,6 +51,15 @@ class OpalEstate_Enqueue {
* Google map. * Google map.
*/ */
wp_enqueue_script( 'opalestate-gmap', OPALESTATE_PLUGIN_URL . 'assets/js/frontend/googlemaps.js', [ 'jquery' ], OPALESTATE_VERSION, false ); wp_enqueue_script( 'opalestate-gmap', OPALESTATE_PLUGIN_URL . 'assets/js/frontend/googlemaps.js', [ 'jquery' ], OPALESTATE_VERSION, false );
$custom_map_styles = json_decode( ( opalestate_options( 'google_map_custom_style', '' ) ) );
wp_localize_script( 'opalestate-gmap', 'opalestateGmap', [
'style' => opalestate_options( 'google_map_style', 'standard' ),
'custom_style' => json_encode( $custom_map_styles ),
] );
/**
* Frontend property.
*/
wp_enqueue_script( 'opalestate-messages', OPALESTATE_PLUGIN_URL . 'assets/js/frontend/property.js', [ 'jquery' ], OPALESTATE_VERSION, false ); wp_enqueue_script( 'opalestate-messages', OPALESTATE_PLUGIN_URL . 'assets/js/frontend/property.js', [ 'jquery' ], OPALESTATE_VERSION, false );
/** /**
@ -80,22 +88,20 @@ class OpalEstate_Enqueue {
wp_enqueue_script( 'tooltipster' ); wp_enqueue_script( 'tooltipster' );
} }
// load global variables // Load global variables
wp_localize_script( 'opalestate-scripts', 'opalesateJS', wp_localize_script( 'opalestate-scripts', 'opalesateJS', [
[ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
'ajaxurl' => admin_url( 'admin-ajax.php' ), 'siteurl' => get_template_directory_uri(),
'siteurl' => get_template_directory_uri(), 'mapiconurl' => OPALESTATE_PLUGIN_URL . 'assets/map/',
'mapiconurl' => OPALESTATE_PLUGIN_URL . 'assets/map/', 'rtl' => is_rtl() ? 'true' : 'false',
'rtl' => is_rtl() ? 'true' : 'false', 'confirmed' => esc_html__( 'Are you sure to remove?', 'opalestate-pro' ),
'confirmed' => esc_html__( 'Are you sure to remove?', 'opalestate-pro' ), 'error_upload_size' => esc_html__( 'This file is has large volume size, please try to upload other.', 'opalestate-pro' ),
'error_upload_size' => esc_html__( 'This file is has large volume size, please try to upload other.', 'opalestate-pro' ), 'size_image' => opalestate_options( 'upload_image_max_size', 0.5 ) * 1000000,
'size_image' => opalestate_options( 'upload_image_max_size', 0.5 ) * 1000000, 'mfile_image' => opalestate_options( 'upload_image_max_files', 10 ),
'mfile_image' => opalestate_options( 'upload_image_max_files', 10 ), 'size_other' => opalestate_options( 'upload_other_max_size', 0.8 ) * 1000000,
'size_other' => opalestate_options( 'upload_other_max_size', 0.8 ) * 1000000, 'mfile_other' => opalestate_options( 'upload_other_max_files', 10 ),
'mfile_other' => opalestate_options( 'upload_other_max_files', 10 ), ] );
] );
///
$this->register_enqueue(); $this->register_enqueue();
} }
@ -113,7 +119,7 @@ class OpalEstate_Enqueue {
'4.4.3', '4.4.3',
true true
); );
wp_enqueue_script( 'jquery-magnific-popup' ); wp_enqueue_script( 'jquery-magnific-popup' );
wp_register_script( 'jquery-sticky-kit', trailingslashit( OPALESTATE_PLUGIN_URL ) . 'assets/3rd/sticky/jquery.sticky-kit.min.js', [], null, true ); wp_register_script( 'jquery-sticky-kit', trailingslashit( OPALESTATE_PLUGIN_URL ) . 'assets/3rd/sticky/jquery.sticky-kit.min.js', [], null, true );
wp_enqueue_script( 'jquery-sticky-kit' ); wp_enqueue_script( 'jquery-sticky-kit' );
@ -135,12 +141,12 @@ class OpalEstate_Enqueue {
], ],
'4.4.3', '4.4.3',
true true
); );
if( !defined("ELEMENTOR_VERSION") ) { if ( ! defined( "ELEMENTOR_VERSION" ) ) {
wp_enqueue_style( 'jquery-swiper', OPALESTATE_PLUGIN_URL . '/assets/3rd/swiper/css/swiper.min.css' ); wp_enqueue_style( 'jquery-swiper', OPALESTATE_PLUGIN_URL . '/assets/3rd/swiper/css/swiper.min.css' );
} }
wp_enqueue_script( 'jquery-swiper' ); wp_enqueue_script( 'jquery-swiper' );
} }