PluginProbe
CBX Map for Google Map & OpenStreetMap / trunk
CBX Map for Google Map & OpenStreetMap vtrunk
trunk 1.1.10 1.1.11 1.1.12 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5
← All changes | includes/CBXGoogleMapAdmin.php +1185 -1193 2.0.1trunk View file →
@@ -23,1463 +23,1455 @@
23 23
24 24 namespace Cbx\Googlemap;
25 25
26 26 // If this file is called directly, abort.
27 -if ( ! defined('WPINC')) {
28 - die;
27 +if ( ! defined( 'WPINC' ) ) {
28 + die;
29 29 }
30 30
31 31 use Cbx\Googlemap\Helpers\CBXGooglemapHelper;
32 32 use Cbx\Googlemap\Helpers\CBXGooglemapMetaHelper;
33 33
34 -final class CBXGoogleMapAdmin
35 -{
34 +final class CBXGoogleMapAdmin {
36 35
37 - /**
38 - * The ID of this plugin.
39 - *
40 - * @since 1.0.0
41 - * @access private
42 - * @var string $plugin_name The ID of this plugin.
43 - */
44 - private $plugin_name;
36 + /**
37 + * The ID of this plugin.
38 + *
39 + * @since 1.0.0
40 + * @access private
41 + * @var string $plugin_name The ID of this plugin.
42 + */
43 + private $plugin_name;
45 44
46 - /**
47 - * The version of this plugin.
48 - *
49 - * @since 1.0.0
50 - * @access private
51 - * @var string $version The current version of this plugin.
52 - */
53 - private $version;
45 + /**
46 + * The version of this plugin.
47 + *
48 + * @since 1.0.0
49 + * @access private
50 + * @var string $version The current version of this plugin.
51 + */
52 + private $version;
54 53
55 - /**
56 - * The ID of this plugin.
57 - *
58 - * @since 1.1.12
59 - * @access private
60 - * @var string $settings The ID of this plugin.
61 - */
62 - public $settings;
54 + /**
55 + * The ID of this plugin.
56 + *
57 + * @since 1.1.12
58 + * @access private
59 + * @var string $settings The ID of this plugin.
60 + */
61 + public $settings;
63 62
64 - /**
65 - * Initialize the class and set its properties.
66 - *
67 - *
68 - * @since 1.0.0
69 - */
70 - public function __construct()
71 - {
72 - $this->plugin_name = CBXGOOGLEMAP_PLUGIN_NAME;
73 - $this->version = CBXGOOGLEMAP_PLUGIN_VERSION;
63 + /**
64 + * Initialize the class and set its properties.
65 + *
66 + *
67 + * @since 1.0.0
68 + */
69 + public function __construct() {
70 + $this->plugin_name = CBXGOOGLEMAP_PLUGIN_NAME;
71 + $this->version = CBXGOOGLEMAP_PLUGIN_VERSION;
74 72
75 - //get instance of setting api
76 - $this->settings = new CBXGooglemapSettings();
77 - }//end of construtor
73 + //get instance of setting api
74 + $this->settings = new CBXGooglemapSettings();
75 + }//end of construtor
78 76
79 - /**
80 - * Initialize setting
81 - */
82 - public function setting_init()
83 - {
84 - //set the settings
85 - $this->settings->set_sections($this->get_settings_sections());
86 - $this->settings->set_fields($this->get_settings_fields());
87 - //initialize settings
88 - $this->settings->admin_init();
89 - }//end setting_init
77 + /**
78 + * Initialize setting
79 + */
80 + public function setting_init() {
81 + //set the settings
82 + $this->settings->set_sections( $this->get_settings_sections() );
83 + $this->settings->set_fields( $this->get_settings_fields() );
84 + //initialize settings
85 + $this->settings->admin_init();
86 + }//end setting_init
90 87
91 - /**
92 - * Global Setting Sections
93 - *
94 - *
95 - * @return array
96 - */
97 - public function get_settings_sections()
98 - {
99 - return apply_filters(
100 - 'cbxgooglemap_setting_sections', [
101 - [
102 - 'id' => 'cbxgooglemap_general',
103 - 'title' => esc_html__('Default Config', 'cbxgooglemap')
104 - ],
105 - [
106 - 'id' => 'cbxgooglemap_demo',
107 - 'title' => esc_html__('Demo & Shortcodes', 'cbxgooglemap')
108 - ],
109 - [
110 - 'id' => 'cbxgooglemap_tools',
111 - 'title' => esc_html__('Tools', 'cbxgooglemap'),
112 - ]
113 - ]
114 - );
115 - }//end get_settings_sections
88 + /**
89 + * Global Setting Sections
90 + *
91 + *
92 + * @return array
93 + */
94 + public function get_settings_sections() {
95 + return apply_filters(
96 + 'cbxgooglemap_setting_sections', [
97 + [
98 + 'id' => 'cbxgooglemap_general',
99 + 'title' => esc_html__( 'Default Config', 'cbxgooglemap' )
100 + ],
101 + [
102 + 'id' => 'cbxgooglemap_demo',
103 + 'title' => esc_html__( 'Demo & Shortcodes', 'cbxgooglemap' )
104 + ],
105 + [
106 + 'id' => 'cbxgooglemap_tools',
107 + 'title' => esc_html__( 'Tools', 'cbxgooglemap' ),
108 + ]
109 + ]
110 + );
111 + }//end get_settings_sections
116 112
117 - /**
118 - * Returns all the settings fields
119 - *
120 - * @return array settings fields
121 - */
122 - public function get_settings_fields()
123 - {
124 - $general_settings = get_option('cbxgooglemap_general', []);
113 + /**
114 + * Returns all the settings fields
115 + *
116 + * @return array settings fields
117 + */
118 + public function get_settings_fields() {
119 + $general_settings = get_option( 'cbxgooglemap_general', [] );
125 120
126 - $tools_delete_table_html = '<div id="setting_resetinfo">'.esc_html__('Loading ...', 'cbxgooglemap').'</div>';
121 + $tools_delete_table_html = '<div id="setting_resetinfo">' . esc_html__( 'Loading ...', 'cbxgooglemap' ) . '</div>';
127 122
128 - $settings_builtin_fields = [
129 - 'cbxgooglemap_general' => [
130 - 'general_heading' => [
131 - 'name' => 'general_heading',
132 - 'label' => esc_html__('Default Config', 'cbxgooglemap'),
133 - 'type' => 'heading',
134 - 'default' => '',
135 - ],
136 - 'mapsource' => [
137 - 'name' => 'mapsource',
138 - 'label' => esc_html__('Map Source', 'cbxgooglemap'),
139 - 'type' => 'radio',
140 - 'default' => 1,
141 - 'options' => [
142 - 0 => esc_html__('Openstreet Map(leafletjs)', 'cbxgooglemap'),
143 - 1 => esc_html__('Google Map', 'cbxgooglemap')
144 - ],
145 - 'inline' => 1,
146 - 'sanitize_callback' => 'absint'
147 - ],
148 - 'apikey' => [
149 - 'name' => 'apikey',
150 - 'label' => esc_html__('Api Key', 'cbxgooglemap'),
151 - 'desc' => esc_html__('Google map api key', 'cbxgooglemap'),
152 - 'type' => 'text'
123 + $settings_builtin_fields = [
124 + 'cbxgooglemap_general' => [
125 + 'general_heading' => [
126 + 'name' => 'general_heading',
127 + 'label' => esc_html__( 'Default Config', 'cbxgooglemap' ),
128 + 'type' => 'heading',
129 + 'default' => '',
130 + ],
131 + 'mapsource' => [
132 + 'name' => 'mapsource',
133 + 'label' => esc_html__( 'Map Source', 'cbxgooglemap' ),
134 + 'type' => 'radio',
135 + 'default' => 1,
136 + 'options' => [
137 + 0 => esc_html__( 'Openstreet Map(leafletjs)', 'cbxgooglemap' ),
138 + 1 => esc_html__( 'Google Map', 'cbxgooglemap' )
139 + ],
140 + 'inline' => 1,
141 + 'sanitize_callback' => 'absint'
142 + ],
143 + 'apikey' => [
144 + 'name' => 'apikey',
145 + 'label' => esc_html__( 'Api Key', 'cbxgooglemap' ),
146 + 'desc' => esc_html__( 'Google map api key', 'cbxgooglemap' ),
147 + 'type' => 'text'
153 148
154 - ],
155 - 'maptype' => [
156 - 'name' => 'maptype',
157 - 'label' => esc_html__('Map Type', 'cbxgooglemap'),
158 - 'type' => 'select',
159 - 'default' => 'roadmap',
160 - 'options' => [
161 - 'roadmap' => esc_html__('Road Map', 'cbxgooglemap'),
162 - 'satellite' => esc_html__('Satellite Map', 'cbxgooglemap'),
163 - 'hybrid' => esc_html__('Hybrid Map', 'cbxgooglemap'),
164 - 'terrain' => esc_html__('Terrain Map', 'cbxgooglemap'),
165 - ],
166 - 'desc' => esc_html__('Google Map only', 'cbxgooglemap'),
167 - 'sanitize_callback' => 'sanitize_text_field'
168 - ],
169 - 'zoom' => [
170 - 'name' => 'zoom',
171 - 'label' => esc_html__('Zoom Level', 'cbxgooglemap'),
172 - 'desc' => esc_html__('Default Zoom Level', 'cbxgooglemap'),
173 - 'type' => 'number',
174 - 'step' => 1,
175 - 'default' => 8,
176 - 'sanitize_callback' => 'absint'
149 + ],
150 + 'maptype' => [
151 + 'name' => 'maptype',
152 + 'label' => esc_html__( 'Map Type', 'cbxgooglemap' ),
153 + 'type' => 'select',
154 + 'default' => 'roadmap',
155 + 'options' => [
156 + 'roadmap' => esc_html__( 'Road Map', 'cbxgooglemap' ),
157 + 'satellite' => esc_html__( 'Satellite Map', 'cbxgooglemap' ),
158 + 'hybrid' => esc_html__( 'Hybrid Map', 'cbxgooglemap' ),
159 + 'terrain' => esc_html__( 'Terrain Map', 'cbxgooglemap' ),
160 + ],
161 + 'desc' => esc_html__( 'Google Map only', 'cbxgooglemap' ),
162 + 'sanitize_callback' => 'sanitize_text_field'
163 + ],
164 + 'zoom' => [
165 + 'name' => 'zoom',
166 + 'label' => esc_html__( 'Zoom Level', 'cbxgooglemap' ),
167 + 'desc' => esc_html__( 'Default Zoom Level', 'cbxgooglemap' ),
168 + 'type' => 'number',
169 + 'step' => 1,
170 + 'default' => 8,
171 + 'sanitize_callback' => 'absint'
177 172
178 - ],
179 - 'width' => [
180 - 'name' => 'with',
181 - 'label' => esc_html__('Width', 'cbxgooglemap'),
182 - 'desc' => esc_html__('Default is 100% to make the map responsive, if you want any fixed width then don\'t put, % or just put numeric value, don\'t px with numeric value', 'cbxgooglemap'),
183 - 'type' => 'text',
184 - 'default' => '100%',
173 + ],
174 + 'width' => [
175 + 'name' => 'with',
176 + 'label' => esc_html__( 'Width', 'cbxgooglemap' ),
177 + 'desc' => esc_html__( 'Default is 100% to make the map responsive, if you want any fixed width then don\'t put, % or just put numeric value, don\'t px with numeric value',
178 + 'cbxgooglemap' ),
179 + 'type' => 'text',
180 + 'default' => '100%',
185 181
186 - ],
187 - 'height' => [
188 - 'name' => 'height',
189 - 'label' => esc_html__('Height', 'cbxgooglemap'),
190 - 'desc' => esc_html__('Default height 300 as px, put any numeric value.', 'cbxgooglemap'),
191 - 'type' => 'number',
192 - 'default' => '300',
193 - 'sanitize_callback' => 'floatval'
194 - ],
195 - 'scrollwheel' => [
196 - 'name' => 'scrollwheel',
197 - 'label' => esc_html__('Mouse Scroll Wheel', 'cbxgooglemap'),
198 - 'desc' => esc_html__('Enable/disable mouse scroll whell', 'cbxgooglemap'),
199 - 'type' => 'radio',
200 - 'default' => 1,
201 - 'options' => [
202 - '0' => esc_html__('Disable', 'cbxgooglemap'),
203 - '1' => esc_html__('Enable', 'cbxgooglemap')
204 - ],
205 - 'inline' => 1,
206 - 'sanitize_callback' => 'absint'
207 - ],
208 - 'showinfo' => [
209 - 'name' => 'showinfo',
210 - 'label' => esc_html__('Show Info window', 'cbxgooglemap'),
211 - 'desc' => esc_html__('Show information on click of marker', 'cbxgooglemap'),
212 - 'type' => 'radio',
213 - 'default' => 1,
214 - 'options' => [
215 - '0' => esc_html__('Disable', 'cbxgooglemap'),
216 - '1' => esc_html__('Enable', 'cbxgooglemap')
217 - ],
218 - 'inline' => 1,
219 - 'sanitize_callback' => 'absint'
220 - ],
221 - 'infow_open' => [
222 - 'name' => 'infow_open',
223 - 'label' => esc_html__('Info/Popup Window', 'cbxgooglemap'),
224 - 'type' => 'radio',
225 - 'default' => 1,
226 - 'options' => [
227 - '0' => esc_html__('On Click', 'cbxgooglemap'),
228 - '1' => esc_html__('Open(Default)', 'cbxgooglemap'),
229 - ],
230 - 'inline' => 1,
231 - 'sanitize_callback' => 'absint'
232 - ],
233 - 'mapicon' => [
234 - 'name' => 'mapicon',
235 - 'label' => esc_html__('Map Icon', 'cbxgooglemap'),
236 - 'type' => 'file',
237 - 'default' => ''
238 - ],
239 - 'hide_leaflet' => [
240 - 'name' => 'hide_leaflet',
241 - 'label' => esc_html__('Hide Leaflet Branding', 'cbxgooglemap'),
242 - 'type' => 'radio',
243 - 'default' => 0,
244 - 'options' => [
245 - 0 => esc_html__('Show/Default', 'cbxgooglemap'),
246 - 1 => esc_html__('Hide', 'cbxgooglemap'),
247 - ],
248 - 'inline' => 1,
249 - 'sanitize_callback' => 'absint'
250 - ],
182 + ],
183 + 'height' => [
184 + 'name' => 'height',
185 + 'label' => esc_html__( 'Height', 'cbxgooglemap' ),
186 + 'desc' => esc_html__( 'Default height 300 as px, put any numeric value.', 'cbxgooglemap' ),
187 + 'type' => 'number',
188 + 'default' => '300',
189 + 'sanitize_callback' => 'floatval'
190 + ],
191 + 'scrollwheel' => [
192 + 'name' => 'scrollwheel',
193 + 'label' => esc_html__( 'Mouse Scroll Wheel', 'cbxgooglemap' ),
194 + 'desc' => esc_html__( 'Enable/disable mouse scroll whell', 'cbxgooglemap' ),
195 + 'type' => 'radio',
196 + 'default' => 1,
197 + 'options' => [
198 + '0' => esc_html__( 'Disable', 'cbxgooglemap' ),
199 + '1' => esc_html__( 'Enable', 'cbxgooglemap' )
200 + ],
201 + 'inline' => 1,
202 + 'sanitize_callback' => 'absint'
203 + ],
204 + 'showinfo' => [
205 + 'name' => 'showinfo',
206 + 'label' => esc_html__( 'Show Info window', 'cbxgooglemap' ),
207 + 'desc' => esc_html__( 'Show information on click of marker', 'cbxgooglemap' ),
208 + 'type' => 'radio',
209 + 'default' => 1,
210 + 'options' => [
211 + '0' => esc_html__( 'Disable', 'cbxgooglemap' ),
212 + '1' => esc_html__( 'Enable', 'cbxgooglemap' )
213 + ],
214 + 'inline' => 1,
215 + 'sanitize_callback' => 'absint'
216 + ],
217 + 'infow_open' => [
218 + 'name' => 'infow_open',
219 + 'label' => esc_html__( 'Info/Popup Window', 'cbxgooglemap' ),
220 + 'type' => 'radio',
221 + 'default' => 1,
222 + 'options' => [
223 + '0' => esc_html__( 'On Click', 'cbxgooglemap' ),
224 + '1' => esc_html__( 'Open(Default)', 'cbxgooglemap' ),
225 + ],
226 + 'inline' => 1,
227 + 'sanitize_callback' => 'absint'
228 + ],
229 + 'mapicon' => [
230 + 'name' => 'mapicon',
231 + 'label' => esc_html__( 'Map Icon', 'cbxgooglemap' ),
232 + 'type' => 'file',
233 + 'default' => ''
234 + ],
235 + 'hide_leaflet' => [
236 + 'name' => 'hide_leaflet',
237 + 'label' => esc_html__( 'Hide Leaflet Branding', 'cbxgooglemap' ),
238 + 'type' => 'radio',
239 + 'default' => 0,
240 + 'options' => [
241 + 0 => esc_html__( 'Show/Default', 'cbxgooglemap' ),
242 + 1 => esc_html__( 'Hide', 'cbxgooglemap' ),
243 + ],
244 + 'inline' => 1,
245 + 'sanitize_callback' => 'absint'
246 + ],
251 247
252 - ],
253 - 'cbxgooglemap_demo' => [
254 - 'demo_heading' => [
255 - 'name' => 'demo_heading',
256 - 'label' => esc_html__('Demo & Shortcodes', 'cbxgooglemap'),
257 - 'type' => 'heading',
258 - 'default' => '',
259 - ],
260 - 'shortcode_demo' => [
261 - 'name' => 'shortcode_demo',
262 - 'label' => esc_html__('Shortcode & Demo', 'cbxgooglemap'),
263 - 'desc' => esc_html__('Shortcode and demo based on default setting, please save once to check change.', 'cbxgooglemap'),
264 - 'type' => 'shortcode',
265 - 'class' => 'cbcurrencyconverter_demo_copy',
266 - 'default' => CBXGooglemapHelper::shortcode_builder($general_settings),
267 - 'sanitize_callback' => 'sanitize_text_field'
268 - ]
269 - ],
270 - 'cbxgooglemap_tools' => [
271 - 'tools_heading' => [
272 - 'name' => 'tools_heading',
273 - 'label' => esc_html__('Tools Settings', 'cbxgooglemap'),
274 - 'type' => 'heading',
275 - 'default' => '',
276 - ],
277 - 'delete_global_config' => [
278 - 'name' => 'delete_global_config',
279 - 'label' => esc_html__('On Uninstall delete plugin data', 'cbxgooglemap'),
280 - 'desc' => '<p>'.esc_html__('Delete Global Config data(options/plugin settings), custom table(s), files/folders, all map custom post type created by this plugin on uninstall. Please note that this process can not be undone and it is recommended to keep full database and files backup before doing this.', 'cbxgooglemap').'</p>',
281 - 'type' => 'radio',
282 - 'options' => [
283 - 'yes' => esc_html__('Yes', 'cbxgooglemap'),
284 - 'no' => esc_html__('No', 'cbxgooglemap'),
285 - ],
286 - 'default' => 'no',
287 - ],
288 - 'reset_data' => [
289 - 'name' => 'reset_data',
290 - 'label' => esc_html__('Reset all section', 'cbxgooglemap'),
291 - 'desc' => $tools_delete_table_html.'<p>'.esc_html__('This will reset all option/section created by this plugin.',
292 - 'cbxgooglemap').'<a data-busy="0" class="button secondary ml-20" id="reset_data_trigger" href="#">'.esc_html__('Reset Sections',
293 - 'cbxgooglemap').'</a></p>',
294 - 'type' => 'html',
295 - 'default' => 'off'
296 - ],
297 - ],
298 - ];
248 + ],
249 + 'cbxgooglemap_demo' => [
250 + 'demo_heading' => [
251 + 'name' => 'demo_heading',
252 + 'label' => esc_html__( 'Demo & Shortcodes', 'cbxgooglemap' ),
253 + 'type' => 'heading',
254 + 'default' => '',
255 + ],
256 + 'shortcode_demo' => [
257 + 'name' => 'shortcode_demo',
258 + 'label' => esc_html__( 'Shortcode & Demo', 'cbxgooglemap' ),
259 + 'desc' => esc_html__( 'Shortcode and demo based on default setting, please save once to check change.', 'cbxgooglemap' ),
260 + 'type' => 'shortcode',
261 + 'class' => 'cbcurrencyconverter_demo_copy',
262 + 'default' => CBXGooglemapHelper::shortcode_builder( $general_settings ),
263 + 'sanitize_callback' => 'sanitize_text_field'
264 + ]
265 + ],
266 + 'cbxgooglemap_tools' => [
267 + 'tools_heading' => [
268 + 'name' => 'tools_heading',
269 + 'label' => esc_html__( 'Tools Settings', 'cbxgooglemap' ),
270 + 'type' => 'heading',
271 + 'default' => '',
272 + ],
273 + 'delete_global_config' => [
274 + 'name' => 'delete_global_config',
275 + 'label' => esc_html__( 'On Uninstall delete plugin data', 'cbxgooglemap' ),
276 + 'desc' => '<p>' . esc_html__( 'Delete Global Config data(options/plugin settings), custom table(s), files/folders, all map custom post type created by this plugin on uninstall. Please note that this process can not be undone and it is recommended to keep full database and files backup before doing this.',
277 + 'cbxgooglemap' ) . '</p>',
278 + 'type' => 'radio',
279 + 'options' => [
280 + 'yes' => esc_html__( 'Yes', 'cbxgooglemap' ),
281 + 'no' => esc_html__( 'No', 'cbxgooglemap' ),
282 + ],
283 + 'default' => 'no',
284 + ],
285 + 'reset_data' => [
286 + 'name' => 'reset_data',
287 + 'label' => esc_html__( 'Reset all section', 'cbxgooglemap' ),
288 + 'desc' => $tools_delete_table_html . '<p>' . esc_html__( 'This will reset all option/section created by this plugin.',
289 + 'cbxgooglemap' ) . '<a data-busy="0" class="button secondary ml-20" id="reset_data_trigger" href="#">' . esc_html__( 'Reset Sections',
290 + 'cbxgooglemap' ) . '</a></p>',
291 + 'type' => 'html',
292 + 'default' => 'off'
293 + ],
294 + ],
295 + ];
299 296
300 297
301 - $settings_fields = []; //final setting array that will be passed to different filters
302 - $sections = $this->get_settings_sections();
298 + $settings_fields = []; //final setting array that will be passed to different filters
299 + $sections = $this->get_settings_sections();
303 300
304 - foreach ($sections as $section) {
305 - if ( ! isset($settings_builtin_fields[$section['id']])) {
306 - $settings_builtin_fields[$section['id']] = [];
307 - }
308 - }
301 + foreach ( $sections as $section ) {
302 + if ( ! isset( $settings_builtin_fields[ $section['id'] ] ) ) {
303 + $settings_builtin_fields[ $section['id'] ] = [];
304 + }
305 + }
309 306
310 307
311 - foreach ($sections as $section) {
312 - $settings_fields[$section['id']] = apply_filters('cbxgooglemap_global_'.$section['id'].'_fields', $settings_builtin_fields[$section['id']]);
313 - }
308 + foreach ( $sections as $section ) {
309 + $settings_fields[ $section['id'] ] = apply_filters( 'cbxgooglemap_global_' . $section['id'] . '_fields', $settings_builtin_fields[ $section['id'] ] );
310 + }
314 311
315 - return apply_filters('cbxgooglemap_global_fields', $settings_fields);
316 - }//end get_settings_fields
312 + return apply_filters( 'cbxgooglemap_global_fields', $settings_fields );
313 + }//end get_settings_fields
317 314
318 - /**
319 - * Register Custom Post Type cbxgooglemap
320 - *
321 - * @since 3.7.0
322 - */
323 - public function create_post_type()
324 - {
325 - CBXGooglemapHelper::create_googlemap_post_type();
315 + /**
316 + * Register Custom Post Type cbxgooglemap
317 + *
318 + * @since 3.7.0
319 + */
320 + public function create_post_type() {
321 + CBXGooglemapHelper::create_googlemap_post_type();
326 322
327 - // Check the option we set on activation.
328 - if (get_option('cbxgooglemap_flush_rewrite_rules') === 'true') {
329 - flush_rewrite_rules();
330 - delete_option('cbxgooglemap_flush_rewrite_rules');
331 - }
332 - }//end create_post_type
323 + // Check the option we set on activation.
324 + if ( get_option( 'cbxgooglemap_flush_rewrite_rules' ) === 'true' ) {
325 + flush_rewrite_rules();
326 + delete_option( 'cbxgooglemap_flush_rewrite_rules' );
327 + }
328 + }//end create_post_type
333 329
334 330
335 - /**
336 - * Show menu page
337 - */
338 - public function menu_pages()
339 - {
340 - //setting page
341 - $setting_page_hook = add_submenu_page('edit.php?post_type=cbxgooglemap', esc_html__('CBX Map: Settings', 'cbxgooglemap'), esc_html__('Settings', 'cbxgooglemap'), 'manage_options', 'cbxgooglemap_settings', [
342 - $this,
343 - 'menu_page_settings'
344 - ]);
331 + /**
332 + * Show menu page
333 + */
334 + public function menu_pages() {
335 + //setting page
336 + $setting_page_hook = add_submenu_page( 'edit.php?post_type=cbxgooglemap', esc_html__( 'CBX Map: Settings', 'cbxgooglemap' ), esc_html__( 'Settings', 'cbxgooglemap' ), 'manage_options',
337 + 'cbxgooglemap_settings', [
338 + $this,
339 + 'menu_page_settings'
340 + ] );
345 341
346 - $doc_page_hook = add_submenu_page('edit.php?post_type=cbxgooglemap', esc_html__('CBX Map Helps & Updates', 'cbxgooglemap'), esc_html__('Helps & Updates', 'cbxgooglemap'), 'manage_options', 'cbxgooglemap_support', [
347 - $this,
348 - 'menu_page_docs'
349 - ]);
350 - }//end menu_pages
342 + $doc_page_hook = add_submenu_page( 'edit.php?post_type=cbxgooglemap', esc_html__( 'CBX Map Helps & Updates', 'cbxgooglemap' ), esc_html__( 'Helps & Updates', 'cbxgooglemap' ),
343 + 'manage_options', 'cbxgooglemap_support', [
344 + $this,
345 + 'menu_page_docs'
346 + ] );
347 + }//end menu_pages
351 348
352 - /**
353 - * Show cbxeventz Setting page
354 - */
355 - public function menu_page_settings()
356 - {
357 - //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
358 - echo cbxgooglemap_get_template_html('admin/settings.php',
359 - [
360 - 'ref' => $this,
361 - 'settings' => $this->settings
362 - ]
363 - );
364 - }//end menu_page_settings
349 + /**
350 + * Show cbxeventz Setting page
351 + */
352 + public function menu_page_settings() {
353 + //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
354 + echo cbxgooglemap_get_template_html( 'admin/settings.php',
355 + [
356 + 'ref' => $this,
357 + 'settings' => $this->settings
358 + ]
359 + );
360 + }//end menu_page_settings
365 361
366 - /**
367 - * Render the help & support page for this plugin.
368 - *
369 - * @since 1.0.0
370 - */
371 - public function menu_page_docs()
372 - {
373 - echo cbxgooglemap_get_template_html('admin/support.php');//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
374 - }//end method menu_page_docs
362 + /**
363 + * Render the help & support page for this plugin.
364 + *
365 + * @since 1.0.0
366 + */
367 + public function menu_page_docs() {
368 + echo cbxgooglemap_get_template_html( 'admin/support.php' );//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
369 + }//end method menu_page_docs
375 370
376 - /**
377 - * Add metabox for custom post type cbxfeedbackform && cbxfeedbackbtn
378 - *
379 - * @since 1.0.0
380 - */
381 - public function add_meta_boxes()
382 - {
383 - add_meta_box('cbxgooglemap_metabox', esc_html__('Map Parameters', 'cbxgooglemap'), [
384 - $this,
385 - 'parameter_metabox_display'
386 - ], 'cbxgooglemap', 'normal', 'high');
371 + /**
372 + * Add metabox for custom post type cbxfeedbackform && cbxfeedbackbtn
373 + *
374 + * @since 1.0.0
375 + */
376 + public function add_meta_boxes() {
377 + add_meta_box( 'cbxgooglemap_metabox', esc_html__( 'Map Parameters', 'cbxgooglemap' ), [
378 + $this,
379 + 'parameter_metabox_display'
380 + ], 'cbxgooglemap', 'normal', 'high' );
387 381
388 382
389 - add_meta_box('cbxgooglemap_shortcode', esc_html__('Shortcode', 'cbxgooglemap'), [
390 - $this,
391 - 'shortcode_metabox_display'
392 - ], 'cbxgooglemap', 'side', 'low');
393 - }//end add_meta_boxes
383 + add_meta_box( 'cbxgooglemap_shortcode', esc_html__( 'Shortcode', 'cbxgooglemap' ), [
384 + $this,
385 + 'shortcode_metabox_display'
386 + ], 'cbxgooglemap', 'side', 'low' );
387 + }//end add_meta_boxes
394 388
395 - /**
396 - * Show Shortcode display metabox
397 - *
398 - * @param $post
399 - */
400 - public function shortcode_metabox_display($post)
401 - {
402 - if (isset($post->ID) && $post->ID > 0) {
403 - $post_id = $post->ID;
404 - $post_type = $post->post_type;
389 + /**
390 + * Show Shortcode display metabox
391 + *
392 + * @param $post
393 + */
394 + public function shortcode_metabox_display( $post ) {
395 + if ( isset( $post->ID ) && $post->ID > 0 ) {
396 + $post_id = $post->ID;
397 + $post_type = $post->post_type;
405 398
406 - echo cbxgooglemap_get_template_html('admin/metabox_shortcode.php', [//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
407 - 'post_id' => $post_id,
408 - 'post_type' => $post_type
409 - ]);
410 - }
411 - }//end shortcode_metabox_display
399 + echo cbxgooglemap_get_template_html( 'admin/metabox_shortcode.php', [//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
400 + 'post_id' => $post_id,
401 + 'post_type' => $post_type
402 + ] );
403 + }
404 + }//end shortcode_metabox_display
412 405
413 - /**
414 - * Render metabox
415 - *
416 - * @param $post
417 - *
418 - * since v1.0.0
419 - */
420 - public function parameter_metabox_display($post)
421 - {
422 - global $post;
423 - $post_type = $post->post_type;
406 + /**
407 + * Render metabox
408 + *
409 + * @param $post
410 + *
411 + * since v1.0.0
412 + */
413 + public function parameter_metabox_display( $post ) {
414 + global $post;
415 + $post_type = $post->post_type;
424 416
425 417
426 - $meta_fields = CBXGooglemapMetaHelper::cbxgooglemap_meta_fields();
418 + $meta_fields = CBXGooglemapMetaHelper::cbxgooglemap_meta_fields();
427 419
428 - $combined_field = '_'.$post_type.'_combined'; //field name for non sortable fields
429 - $meta_prefix = '_'.$post_type; //field prefix for sortable fields
420 + $combined_field = '_' . $post_type . '_combined'; //field name for non sortable fields
421 + $meta_prefix = '_' . $post_type; //field prefix for sortable fields
430 422
431 423
432 - CBXGooglemapMetaHelper::render_meta_fields($post, $meta_fields, $combined_field, $meta_prefix, true); //
433 - }//end parameter_metabox_display
424 + CBXGooglemapMetaHelper::render_meta_fields( $post, $meta_fields, $combined_field, $meta_prefix, true ); //
425 + }//end parameter_metabox_display
434 426
435 - /**
436 - * Save meta box for cbxeventz
437 - *
438 - * @param $post_id
439 - */
440 - public function metabox_save($post_id, $post, $update)
441 - {
427 + /**
428 + * Save meta box for cbxeventz
429 + *
430 + * @param $post_id
431 + */
432 + public function metabox_save( $post_id, $post, $update ) {
442 433
443 - $post_type = $post->post_type;
434 + $post_type = $post->post_type;
444 435
445 - // Check if our nonce is set.
446 - if ( ! isset($_POST['cbxmetahelper_'.$post_type.'_meta_box_nonce'])) {
447 - return $post_id;
448 - }
436 + // Check if our nonce is set.
437 + if ( ! isset( $_POST[ 'cbxmetahelper_' . $post_type . '_meta_box_nonce' ] ) ) {
438 + return $post_id;
439 + }
449 440
450 - // Verify that the nonce is valid.
451 - if ( ! wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['cbxmetahelper_'.$post_type.'_meta_box_nonce'])), 'cbxmetahelper_'.$post_type.'_meta_box')) {
452 - return $post_id;
453 - }
441 + // Verify that the nonce is valid.
442 + if ( ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST[ 'cbxmetahelper_' . $post_type . '_meta_box_nonce' ] ) ), 'cbxmetahelper_' . $post_type . '_meta_box' ) ) {
443 + return $post_id;
444 + }
454 445
455 - // If this is an autosave, our form has not been submitted, so we don't want to do anything.
456 - if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
457 - return $post_id;
458 - }
446 + // If this is an autosave, our form has not been submitted, so we don't want to do anything.
447 + if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
448 + return $post_id;
449 + }
459 450
460 - // Check the user's permissions.
461 - if (isset($_POST['post_type']) && $post_type == $_POST['post_type']) {
451 + // Check the user's permissions.
452 + if ( isset( $_POST['post_type'] ) && $post_type == $_POST['post_type'] ) {
462 453
463 - if ( ! current_user_can('edit_post', $post_id)) {
464 - return $post_id;
465 - }
466 - }
454 + if ( ! current_user_can( 'edit_post', $post_id ) ) {
455 + return $post_id;
456 + }
457 + }
467 458
468 - $meta_fields = CBXGooglemapMetaHelper::cbxgooglemap_meta_fields($post_id);
459 + $meta_fields = CBXGooglemapMetaHelper::cbxgooglemap_meta_fields( $post_id );
469 460
470 461
471 - $combined_field = '_'.$post_type.'_combined'; //field name for non sortable fields
472 - $meta_prefix = '_'.$post_type; //field prefix for sortable fields
462 + $combined_field = '_' . $post_type . '_combined'; //field name for non sortable fields
463 + $meta_prefix = '_' . $post_type; //field prefix for sortable fields
473 464
474 - $meta_combined = get_post_meta($post_id, $combined_field, true); //meta fields not sortable
465 + $meta_combined = get_post_meta( $post_id, $combined_field, true ); //meta fields not sortable
475 466
476 - $meta_combined = ! is_array($meta_combined) ? [] : $meta_combined;
467 + $meta_combined = ! is_array( $meta_combined ) ? [] : $meta_combined;
477 468
478 469
479 - $combined_arr = [];
480 - foreach ($meta_fields as $section_id => $fields) {
481 - foreach ($fields as $id => $field) {
470 + $combined_arr = [];
471 + foreach ( $meta_fields as $section_id => $fields ) {
472 + foreach ( $fields as $id => $field ) {
482 473
483 - $field_type = $field['type'];
474 + $field_type = $field['type'];
484 475
485 - $sanitize_callback = isset($field['sanitize_callback']) ? $field['sanitize_callback'] : null;
476 + $sanitize_callback = isset( $field['sanitize_callback'] ) ? $field['sanitize_callback'] : null;
486 477
487 - if (isset($_POST[$meta_prefix.$id])) {
478 + if ( isset( $_POST[ $meta_prefix . $id ] ) ) {
488 479
489 - if (isset($_POST[$meta_prefix.$id])) {
490 - $updated_value = wp_unslash($_POST[$meta_prefix.$id]);
480 + if ( isset( $_POST[ $meta_prefix . $id ] ) ) {
481 + $updated_value = wp_unslash( $_POST[ $meta_prefix . $id ] );//phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
482 + $updated_value = is_array( $updated_value ) ? cbxgooglemap_decode_entities_array( $updated_value ) : html_entity_decode( $updated_value );
491 483
492 - if ($field_type == 'text') {
493 - $updated_value = sanitize_text_field($updated_value);
494 - } elseif ($field_type == 'textarea') {
495 - $updated_value = sanitize_textarea_field($updated_value);
496 - } else {
497 - if ($sanitize_callback !== null && is_callable($sanitize_callback)) {
498 - $updated_value = call_user_func($sanitize_callback, $updated_value);
499 - }
500 - else{
501 - $updated_value = sanitize_text_field($updated_value);
502 - }
503 - }
484 + $sanitized = false;
504 485
505 - $is_sortable = isset($field['sortable']) ? $field['sortable'] : false;
486 + if ( $sanitize_callback !== null && is_callable( $sanitize_callback ) ) {
487 + $sanitized = true;
488 + $updated_value = call_user_func( $sanitize_callback, $updated_value );
489 + } elseif ( $field_type == 'text' ) {
490 + $sanitized = true;
491 + $updated_value = sanitize_text_field( $updated_value );
492 + } elseif ( $field_type == 'textarea' ) {
493 + $sanitized = true;
494 + $updated_value = sanitize_textarea_field( $updated_value );
495 + }
506 496
507 - if ($is_sortable) {
508 - $ret = update_post_meta($post_id, $meta_prefix.$id, $updated_value); //update the combined meta
509 - } else {
510 - //save as combined meta
511 - $meta_combined[$meta_prefix.$id] = $updated_value;
512 - }
513 - }
497 + if ( ! $sanitized ) {
498 + $updated_value = wp_kses_post( $updated_value );//general sanitization
499 + }
514 500
515 - }
501 + $updated_value = apply_filters( 'cbxgooglemap_meta_sanitize_admin', $updated_value, $id, $field, $fields );
516 502
517 - }
518 - }
503 + $is_sortable = isset( $field['sortable'] ) ? $field['sortable'] : false;
519 504
520 - update_post_meta($post_id, $combined_field, $meta_combined); //update the combined meta
505 + if ( $is_sortable ) {
506 + $ret = update_post_meta( $post_id, $meta_prefix . $id, $updated_value ); //update the combined meta
507 + } else {
508 + //save as combined meta
509 + $meta_combined[ $meta_prefix . $id ] = $updated_value;
510 + }
511 + }
521 512
522 - do_action('cbxgooglemap_metabox_save', $post_id);
513 + }
523 514
524 - }//end metabox_save
515 + }
516 + }
525 517
526 - /**
527 - * Add or adjust col for cbxgooglemap post type
528 - *
529 - * @param $cbxpoll_columns
530 - *
531 - * @return array
532 - *
533 - */
534 - public function cbxgooglemap_add_new_columns($columns)
535 - {
536 - unset($columns['date']);
537 - unset($columns['comments']);
518 + update_post_meta( $post_id, $combined_field, $meta_combined ); //update the combined meta
538 519
539 - $columns['lat'] = esc_attr('Latitude', 'cbxgooglemap');
540 - $columns['lng'] = esc_attr('Longitude', 'cbxgooglemap');
541 - $columns['zoom'] = esc_attr('Zoom', 'cbxgooglemap');
520 + do_action( 'cbxgooglemap_metabox_save', $post_id );
542 521
543 - //$columns['shortcode'] = esc_attr( 'Shortcode', 'cbxgooglemap' );
522 + }//end metabox_save
544 523
545 - return $columns;
546 - }//end cbxgooglemap_add_new_columns
524 + /**
525 + * Add or adjust col for cbxgooglemap post type
526 + *
527 + * @param $cbxpoll_columns
528 + *
529 + * @return array
530 + *
531 + */
532 + public function cbxgooglemap_add_new_columns( $columns ) {
533 + unset( $columns['date'] );
534 + unset( $columns['comments'] );
547 535
548 - /**
549 - * Add extra cols information for cbxgooglemap post type
550 - *
551 - * @param $column_name
552 - *
553 - *
554 - * show data to poll table custom column
555 - */
556 - public function cbxgooglemap_manage_columns($column_name)
557 - {
558 - global $wpdb, $post;
536 + $columns['lat'] = esc_attr( 'Latitude', 'cbxgooglemap' );
537 + $columns['lng'] = esc_attr( 'Longitude', 'cbxgooglemap' );
538 + $columns['zoom'] = esc_attr( 'Zoom', 'cbxgooglemap' );
559 539
560 - $post_id = intval($post->ID);
561 - $post_type = $post->post_type;
540 + //$columns['shortcode'] = esc_attr( 'Shortcode', 'cbxgooglemap' );
562 541
563 - $combined_field = '_cbxgooglemap_combined'; //field name for non sortable fields
564 - $meta_prefix = '_cbxgooglemap'; //field prefix for sortable fields
542 + return $columns;
543 + }//end cbxgooglemap_add_new_columns
565 544
566 - $meta_combined = get_post_meta($post_id, $combined_field, true);
545 + /**
546 + * Add extra cols information for cbxgooglemap post type
547 + *
548 + * @param $column_name
549 + *
550 + *
551 + * show data to poll table custom column
552 + */
553 + public function cbxgooglemap_manage_columns( $column_name ) {
554 + global $wpdb, $post;
567 555
568 - $lat = get_post_meta($post_id, $meta_prefix.'lat', true);
569 - $lat = ($lat !== false) ? $lat : '';
556 + $post_id = intval( $post->ID );
557 + $post_type = $post->post_type;
570 558
571 - $lng = get_post_meta($post_id, $meta_prefix.'lng', true);
572 - $lng = ($lng !== false) ? $lng : '';
559 + $combined_field = '_cbxgooglemap_combined'; //field name for non sortable fields
560 + $meta_prefix = '_cbxgooglemap'; //field prefix for sortable fields
573 561
574 - $zoom = (isset($meta_combined[$meta_prefix.'zoom']) && intval($meta_combined[$meta_prefix.'zoom']) > 0) ? intval($meta_combined[$meta_prefix.'zoom']) : '';
562 + $meta_combined = get_post_meta( $post_id, $combined_field, true );
575 563
564 + $lat = get_post_meta( $post_id, $meta_prefix . 'lat', true );
565 + $lat = ( $lat !== false ) ? $lat : '';
576 566
577 - switch ($column_name) {
578 - /*case 'shortcode':
579 - echo '<div class="cbxshortcode-wrap">';
580 - echo '<span data-clipboard-text=\'[cbxgooglemap id="' . absint( $post_id ) . '"]\' title="' . esc_html__( 'Click to clipboard', 'cbxgooglemap' ) . '" id="cbxgooglemapshortcode-' . absint( $post_id ) . '" class="cbxshortcode cbxshortcode-edit cbxshortcode-' . absint( $post_id ) . '">[cbxgooglemap id="' . absint( $post_id ) . '"]</span>';
581 - echo '<span class="cbxballon_ctp_btn cbxballon_ctp" aria-label="' . esc_html__( 'Click to copy', 'cbxgooglemap' ) . '" data-balloon-pos="up"><i></i></span>';
582 - echo '</div>';
583 - break;*/
584 - case 'lat':
585 - echo esc_html($lat);
586 - break;
587 - case 'lng':
588 - echo esc_html($lng);
589 - break;
590 - case 'zoom':
591 - echo esc_html($zoom);
592 - break;
593 - default:
594 - break;
595 - } // end switch
596 - }//end cbxgooglemap_manage_columns
567 + $lng = get_post_meta( $post_id, $meta_prefix . 'lng', true );
568 + $lng = ( $lng !== false ) ? $lng : '';
597 569
598 - /**
599 - * Register the stylesheets for the admin area.
600 - *
601 - * @since 1.0.0
602 - */
603 - public function enqueue_styles($hook)
604 - {
605 - $current_page = isset($_GET['page']) ? sanitize_text_field(wp_unslash($_GET['page'])) : '';// phpcs:ignore WordPress.Security.NonceVerification.Recommended
606 - $ver = $this->version;
607 - $in_footer = [
608 - 'in_footer' => true,
609 - ];
570 + $zoom = ( isset( $meta_combined[ $meta_prefix . 'zoom' ] ) && absint( $meta_combined[ $meta_prefix . 'zoom' ] ) > 0 ) ? absint( $meta_combined[ $meta_prefix . 'zoom' ] ) : '';
610 571
611 - $vendor_url = CBXGOOGLEMAP_ROOT_URL.'assets/vendors/';
612 - //$css_url = CBXGOOGLEMAP_ROOT_URL . 'assets/css/';
613 - //$js_url = CBXGOOGLEMAP_ROOT_URL . 'assets/css/';
614 572
615 - $css_url_part = CBXGOOGLEMAP_ROOT_URL.'assets/css/';
616 - $css_url_part_vendors = CBXGOOGLEMAP_ROOT_URL.'assets/vendors/';
617 - $js_url_part_vendors = CBXGOOGLEMAP_ROOT_URL.'assets/vendors/';
573 + switch ( $column_name ) {
574 + /*case 'shortcode':
575 + echo '<div class="cbxshortcode-wrap">';
576 + echo '<span data-clipboard-text=\'[cbxgooglemap id="' . absint( $post_id ) . '"]\' title="' . esc_html__( 'Click to clipboard', 'cbxgooglemap' ) . '" id="cbxgooglemapshortcode-' . absint( $post_id ) . '" class="cbxshortcode cbxshortcode-edit cbxshortcode-' . absint( $post_id ) . '">[cbxgooglemap id="' . absint( $post_id ) . '"]</span>';
577 + echo '<span class="cbxballon_ctp_btn cbxballon_ctp" aria-label="' . esc_html__( 'Click to copy', 'cbxgooglemap' ) . '" data-balloon-pos="up"><i></i></span>';
578 + echo '</div>';
579 + break;*/
580 + case 'lat':
581 + echo esc_html( $lat );
582 + break;
583 + case 'lng':
584 + echo esc_html( $lng );
585 + break;
586 + case 'zoom':
587 + echo esc_html( $zoom );
588 + break;
589 + default:
590 + break;
591 + } // end switch
592 + }//end cbxgooglemap_manage_columns
618 593
619 - global $post_type, $post;
594 + /**
595 + * Register the stylesheets for the admin area.
596 + *
597 + * @since 1.0.0
598 + */
599 + public function enqueue_styles( $hook ) {
600 + $current_page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : '';// phpcs:ignore WordPress.Security.NonceVerification.Recommended
601 + $ver = $this->version;
602 + $in_footer = [
603 + 'in_footer' => true,
604 + ];
620 605
621 - $api_key = esc_attr($this->settings->get_option('apikey', 'cbxgooglemap_general', ''));
622 - $map_source = absint($this->settings->get_option('mapsource', 'cbxgooglemap_general', 1));
606 + $vendor_url = CBXGOOGLEMAP_ROOT_URL . 'assets/vendors/';
607 + //$css_url = CBXGOOGLEMAP_ROOT_URL . 'assets/css/';
608 + //$js_url = CBXGOOGLEMAP_ROOT_URL . 'assets/css/';
623 609
624 - wp_register_style('awesome-notifications', $css_url_part_vendors.'awesome-notifications/style.css', [], $ver);
625 - wp_register_style('flatpickr', $css_url_part_vendors.'flatpickr/flatpickr.min.css', [], $ver);
626 - wp_register_style('cbxgooglemap-admin', $css_url_part.'cbxgooglemap-admin.css', [], $ver);
610 + $css_url_part = CBXGOOGLEMAP_ROOT_URL . 'assets/css/';
611 + $css_url_part_vendors = CBXGOOGLEMAP_ROOT_URL . 'assets/vendors/';
612 + $js_url_part_vendors = CBXGOOGLEMAP_ROOT_URL . 'assets/vendors/';
627 613
628 - //listing mode
629 - if (($hook == 'edit.php') && $post_type == 'cbxgooglemap') {
630 - wp_register_style('cbxgooglemap-admin', $css_url_part.'cbxgooglemap-admin.css', [], $ver);
631 - wp_enqueue_style('cbxgooglemap-admin');
632 - }
614 + global $post_type, $post;
633 615
634 - //add new, edit mode
635 - if (($hook == 'post.php' || $hook == 'post-new.php') && $post_type == 'cbxgooglemap') {
616 + $api_key = esc_attr( $this->settings->get_option( 'apikey', 'cbxgooglemap_general', '' ) );
617 + $map_source = absint( $this->settings->get_option( 'mapsource', 'cbxgooglemap_general', 1 ) );
636 618
637 - if ($map_source == 0) {
638 - wp_register_style('leaflet', $vendor_url.'leaflet/leaflet.css', [], $ver, 'all');
639 - wp_register_style('leaflet-control-geocoder', $vendor_url.'leaflet-control-geocoder/Control.Geocoder.css', [], $ver, 'all');
640 - }
619 + wp_register_style( 'awesome-notifications', $css_url_part_vendors . 'awesome-notifications/style.css', [], $ver );
620 + wp_register_style( 'flatpickr', $css_url_part_vendors . 'flatpickr/flatpickr.min.css', [], $ver );
621 + wp_register_style( 'cbxgooglemap-admin', $css_url_part . 'cbxgooglemap-admin.css', [], $ver );
641 622
642 - wp_register_style('select2', $vendor_url.'select2/select2.min.css', [], $ver);
643 - wp_register_style('cbxgooglemap-admin', $css_url_part.'cbxgooglemap-admin.css', [
644 - 'select2',
645 - ], $ver);
623 + //listing mode
624 + if ( ( $hook === 'edit.php' ) && $post_type === 'cbxgooglemap' ) {
625 + wp_register_style( 'cbxgooglemap-admin', $css_url_part . 'cbxgooglemap-admin.css', [], $ver );
626 + wp_enqueue_style( 'cbxgooglemap-admin' );
627 + }
646 628
647 - wp_enqueue_style('select2');
629 + //add new, edit mode
630 + if ( ( $hook === 'post.php' || $hook === 'post-new.php' ) && $post_type === 'cbxgooglemap' ) {
648 631
649 - if ($map_source == 0) {
650 - wp_enqueue_style('leaflet');
651 - wp_enqueue_style('leaflet-control-geocoder');
652 - }
632 + if ( $map_source === 0 ) {
633 + wp_register_style( 'leaflet', $vendor_url . 'leaflet/leaflet.css', [], $ver, 'all' );
634 + wp_register_style( 'leaflet-control-geocoder', $vendor_url . 'leaflet-control-geocoder/Control.Geocoder.css', [], $ver, 'all' );
635 + }
653 636
654 - wp_enqueue_style('awesome-notifications');
655 - wp_enqueue_style('cbxgooglemap-admin');
656 - }//add new, edit mode
637 + wp_register_style( 'select2', $vendor_url . 'select2/select2.min.css', [], $ver );
638 + wp_register_style( 'cbxgooglemap-admin', $css_url_part . 'cbxgooglemap-admin.css', [
639 + 'select2',
640 + ], $ver );
657 641
658 - if ($current_page == 'cbxgooglemap_settings') {
659 - wp_register_style('pickr', $css_url_part_vendors.'pickr/classic.min.css', [], $ver);
660 - wp_register_style('select2', $css_url_part_vendors.'select2/select2.min.css', [], $ver);
642 + wp_enqueue_style( 'select2' );
661 643
662 - wp_register_style('cbxgooglemap-setting', $css_url_part.'cbxgooglemap-setting.css', [
663 - 'pickr',
664 - 'awesome-notifications',
665 - 'select2',
666 - 'cbxgooglemap-admin'
667 - ], $ver);
644 + if ( $map_source == 0 ) {
645 + wp_enqueue_style( 'leaflet' );
646 + wp_enqueue_style( 'leaflet-control-geocoder' );
647 + }
668 648
669 - wp_enqueue_style('pickr');
670 - wp_enqueue_style('awesome-notifications');
671 - wp_enqueue_style('select2');
649 + wp_enqueue_style( 'awesome-notifications' );
650 + wp_enqueue_style( 'cbxgooglemap-admin' );
651 + }//add new, edit mode
672 652
673 - //for demo css
674 - if ($map_source == 0) {
675 - wp_register_style('leaflet', $vendor_url.'leaflet/leaflet.css', [], $ver, 'all');
676 - wp_register_style('cbxgooglemap-public', $css_url_part.'cbxgooglemap-public.css', ['leaflet'], $ver, 'all');
677 - wp_enqueue_style('leaflet');
653 + if ( $current_page === 'cbxgooglemap_settings' ) {
654 + wp_register_style( 'pickr', $css_url_part_vendors . 'pickr/classic.min.css', [], $ver );
655 + wp_register_style( 'select2', $css_url_part_vendors . 'select2/select2.min.css', [], $ver );
678 656
679 - } else {
680 - wp_register_style('cbxgooglemap-public', $css_url_part.'cbxgooglemap-public.css', [], $ver, 'all');
681 - }
657 + wp_register_style( 'cbxgooglemap-setting', $css_url_part . 'cbxgooglemap-setting.css', [
658 + 'pickr',
659 + 'awesome-notifications',
660 + 'select2',
661 + 'cbxgooglemap-admin'
662 + ], $ver );
682 663
683 - wp_enqueue_style('cbxgooglemap-public');
684 - wp_enqueue_style('cbxgooglemap-admin');
685 - wp_enqueue_style('cbxgooglemap-setting');
664 + wp_enqueue_style( 'pickr' );
665 + wp_enqueue_style( 'awesome-notifications' );
666 + wp_enqueue_style( 'select2' );
686 667
687 - //end for demo css
688 - }//end setting
668 + //for demo css
669 + if ( $map_source === 0 ) {
670 + wp_register_style( 'leaflet', $vendor_url . 'leaflet/leaflet.css', [], $ver, 'all' );
671 + wp_register_style( 'cbxgooglemap-public', $css_url_part . 'cbxgooglemap-public.css', [ 'leaflet' ], $ver, 'all' );
672 + wp_enqueue_style( 'leaflet' );
689 673
690 - if ($current_page == 'cbxgooglemap_support') {
691 - wp_enqueue_style('cbxgooglemap-admin');
692 - }//end style adding for doc page
674 + } else {
675 + wp_register_style( 'cbxgooglemap-public', $css_url_part . 'cbxgooglemap-public.css', [], $ver, 'all' );
676 + }
693 677
694 - //tax pages
695 - if (($hook == 'edit-tags.php' || $hook == 'term.php') && $post_type == 'cbxgooglemap' && $current_page == '') {
696 - wp_enqueue_style('awesome-notifications');
697 - wp_enqueue_style('cbxgooglemap-admin');
698 - }
699 - }//end enqueue_styles
678 + wp_enqueue_style( 'cbxgooglemap-public' );
679 + wp_enqueue_style( 'cbxgooglemap-admin' );
680 + wp_enqueue_style( 'cbxgooglemap-setting' );
700 681
701 - /**
702 - * Register the JavaScript for the admin area.
703 - *
704 - * @since 1.0.0
705 - */
706 - public function enqueue_scripts($hook)
707 - {
708 - $current_page = isset($_GET['page']) ? sanitize_text_field(wp_unslash($_GET['page'])) : '';// phpcs:ignore WordPress.Security.NonceVerification.Recommended
709 - $ver = $this->version;
710 - $in_footer = [
711 - 'in_footer' => true,
712 - ];
682 + //end for demo css
683 + }//end setting
713 684
714 - $vendor_url = CBXGOOGLEMAP_ROOT_URL.'assets/vendors/';
715 - $css_url = CBXGOOGLEMAP_ROOT_URL.'assets/css/';
716 - $js_url = CBXGOOGLEMAP_ROOT_URL.'assets/js/';
685 + if ( $current_page === 'cbxgooglemap_support' ) {
686 + wp_enqueue_style( 'cbxgooglemap-admin' );
687 + }//end style adding for doc page
717 688
718 - //assets urls
719 - $js_url_part = CBXGOOGLEMAP_ROOT_URL.'assets/js/';
720 - $js_url_part_vendors = CBXGOOGLEMAP_ROOT_URL.'assets/vendors/';
721 - $js_url_part_vanila = CBXGOOGLEMAP_ROOT_URL.'assets/js/vanila/';
722 - $js_url_part_build = CBXGOOGLEMAP_ROOT_URL.'assets/js/build/';
689 + //tax pages
690 + if ( ( $hook === 'edit-tags.php' || $hook === 'term.php' ) && $post_type === 'cbxgooglemap' && $current_page == '' ) {
691 + wp_enqueue_style( 'awesome-notifications' );
692 + wp_enqueue_style( 'cbxgooglemap-admin' );
693 + }
694 + }//end enqueue_styles
723 695
696 + /**
697 + * Register the JavaScript for the admin area.
698 + *
699 + * @since 1.0.0
700 + */
701 + public function enqueue_scripts( $hook ) {
702 + $current_page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : '';// phpcs:ignore WordPress.Security.NonceVerification.Recommended
703 + $ver = $this->version;
704 + $in_footer = [
705 + 'in_footer' => true,
706 + ];
724 707
725 - $t = true;
726 - $f = false;
708 + $vendor_url = CBXGOOGLEMAP_ROOT_URL . 'assets/vendors/';
709 + $css_url = CBXGOOGLEMAP_ROOT_URL . 'assets/css/';
710 + $js_url = CBXGOOGLEMAP_ROOT_URL . 'assets/js/';
727 711
712 + //assets urls
713 + $js_url_part = CBXGOOGLEMAP_ROOT_URL . 'assets/js/';
714 + $js_url_part_vendors = CBXGOOGLEMAP_ROOT_URL . 'assets/vendors/';
715 + $js_url_part_vanila = CBXGOOGLEMAP_ROOT_URL . 'assets/js/vanila/';
716 + $js_url_part_build = CBXGOOGLEMAP_ROOT_URL . 'assets/js/build/';
728 717
729 - $in_footer = [
730 - 'in_footer' => $t,
731 - ];
732 718
733 - $in_footer_async = [
734 - 'in_footer' => $t,
735 - 'strategy' => 'async'
736 - ];
719 + $t = true;
720 + $f = false;
737 721
738 - $global_translation = CBXGooglemapHelper::global_translation_strings();
739 - $plus_svg = cbxgooglemap_esc_svg(cbxgooglemap_load_svg('icon_plus'));
740 722
723 + $in_footer = [
724 + 'in_footer' => $t,
725 + ];
741 726
742 - global $post_type, $post;
743 - $post_id = isset($post->ID) ? absint($post->ID) : 0;
727 + $in_footer_async = [
728 + 'in_footer' => $t,
729 + 'strategy' => 'async'
730 + ];
744 731
745 - $api_key = esc_attr($this->settings->get_option('apikey', 'cbxgooglemap_general', ''));
746 - $map_source = absint($this->settings->get_option('mapsource', 'cbxgooglemap_general', 1));
747 - $default_mapicon = esc_url($this->settings->get_option('mapicon', 'cbxgooglemap_general', ''));
732 + $global_translation = CBXGooglemapHelper::global_translation_strings();
733 + $plus_svg = cbxgooglemap_esc_svg( cbxgooglemap_load_svg( 'icon_plus' ) );
748 734
749 - /*if($default_mapicon == ''){
750 - $default_mapicon = 'https://mt.googleapis.com/vt/icon/name=icons/spotlight/spotlight-poi.png';
751 - }*/
752 735
753 - /*$zoom_level_default = intval( $this->settings->get_option( 'zoom', 'cbxgooglemap_general', '8' ) );
754 - if ( $zoom_level_default == 0 ) {
755 - $zoom_level_default = 8;
756 - }*/
736 + global $post_type, $post;
737 + $post_id = isset( $post->ID ) ? absint( $post->ID ) : 0;
757 738
739 + $api_key = esc_attr( $this->settings->get_option( 'apikey', 'cbxgooglemap_general', '' ) );
740 + $map_source = absint( $this->settings->get_option( 'mapsource', 'cbxgooglemap_general', 1 ) );
741 + $default_mapicon = esc_url( $this->settings->get_option( 'mapicon', 'cbxgooglemap_general', '' ) );
758 742
759 - wp_register_script('cbxgooglemap-events', $js_url.'cbxgooglemap-events.js', [], $ver, $in_footer);
760 - wp_register_script('awesome-notifications', $js_url_part_vendors.'awesome-notifications/script.js', [], $ver, $in_footer);
761 - wp_register_script('select2', $js_url_part_vendors.'select2/select2.min.js', ['jquery'], $ver, $in_footer);
762 - //wp_register_script( 'flatpickr', $js_url_part_vendors . 'flatpickr/flatpickr.min.js', [ 'jquery' ], $ver, true );
763 - wp_register_script('pickr', $js_url_part_vendors.'pickr/pickr.min.js', [], $ver, $in_footer);
764 - //wp_register_script( 'jquery-validate', $js_url_part_vendors . 'jquery-validation/jquery.validate.min.js', [ 'jquery' ], $ver, $in_footer );
743 + /*if($default_mapicon == ''){
744 + $default_mapicon = 'https://mt.googleapis.com/vt/icon/name=icons/spotlight/spotlight-poi.png';
745 + }*/
765 746
766 - //maps listing mode
767 - if ($hook == 'edit.php' && $post_type == 'cbxgooglemap') {
768 - wp_register_script('cbxgooglemap-listing', $js_url.'cbxgooglemap-listing.js', ['jquery'], $ver, $t);
747 + /*$zoom_level_default = intval( $this->settings->get_option( 'zoom', 'cbxgooglemap_general', '8' ) );
748 + if ( $zoom_level_default == 0 ) {
749 + $zoom_level_default = 8;
750 + }*/
769 751
770 - $cbxgooglemap_listing_js_vars = apply_filters('cbxgooglemap_listing_js_vars', $global_translation);
771 - wp_localize_script('cbxgooglemap-listing', 'cbxgooglemap_listing', $cbxgooglemap_listing_js_vars);
772 752
773 - wp_enqueue_script('jquery');
774 - wp_enqueue_script('cbxgooglemap-listing');
775 - }
753 + wp_register_script( 'cbxgooglemap-events', $js_url . 'cbxgooglemap-events.js', [], $ver, $in_footer );
754 + wp_register_script( 'awesome-notifications', $js_url_part_vendors . 'awesome-notifications/script.js', [], $ver, $in_footer );
755 + wp_register_script( 'select2', $js_url_part_vendors . 'select2/select2.min.js', [ 'jquery' ], $ver, $in_footer );
756 + //wp_register_script( 'flatpickr', $js_url_part_vendors . 'flatpickr/flatpickr.min.js', [ 'jquery' ], $ver, true );
757 + wp_register_script( 'pickr', $js_url_part_vendors . 'pickr/pickr.min.js', [], $ver, $in_footer );
758 + //wp_register_script( 'jquery-validate', $js_url_part_vendors . 'jquery-validation/jquery.validate.min.js', [ 'jquery' ], $ver, $in_footer );
776 759
777 - //add new or edit mode
778 - if (($hook == 'post.php' || $hook == 'post-new.php') && $post_type == 'cbxgooglemap') {
760 + //maps listing mode
761 + if ( $hook == 'edit.php' && $post_type == 'cbxgooglemap' ) {
762 + wp_register_script( 'cbxgooglemap-listing', $js_url . 'cbxgooglemap-listing.js', [ 'jquery' ], $ver, $t );
779 763
780 - wp_enqueue_script('cbxgooglemap-events');
764 + $cbxgooglemap_listing_js_vars = apply_filters( 'cbxgooglemap_listing_js_vars', $global_translation );
765 + wp_localize_script( 'cbxgooglemap-listing', 'cbxgooglemap_listing', $cbxgooglemap_listing_js_vars );
781 766
767 + wp_enqueue_script( 'jquery' );
768 + wp_enqueue_script( 'cbxgooglemap-listing' );
769 + }
782 770
783 - $edit_js_dep = ['jquery', 'select2'];
771 + //add new or edit mode
772 + if ( ( $hook == 'post.php' || $hook == 'post-new.php' ) && $post_type == 'cbxgooglemap' ) {
784 773
785 - if ($map_source == 1 && $api_key != '') {
786 - wp_register_script('coregooglemapapi', '//maps.googleapis.com/maps/api/js?key='.$api_key.'&libraries=places&callback=Function.prototype', [], $ver, $in_footer_async);
774 + wp_enqueue_script( 'cbxgooglemap-events' );
787 775
788 - $edit_js_dep[] = 'awesome-notifications';
789 - $edit_js_dep[] = 'coregooglemapapi';
790 - $edit_js_dep[] = 'cbxgooglemap-events';
791 776
792 - } elseif ($map_source == 0) {
793 - wp_register_script('coregooglemapapi', $vendor_url.'leaflet/leaflet.js', [], $ver, $in_footer_async);
794 - wp_register_script('leaflet-control-geocoder', $vendor_url.'leaflet-control-geocoder/Control.Geocoder.js', [], $ver, $in_footer_async);
777 + $edit_js_dep = [ 'jquery', 'select2' ];
795 778
796 - $edit_js_dep[] = 'awesome-notifications';
797 - $edit_js_dep[] = 'coregooglemapapi';
798 - $edit_js_dep[] = 'leaflet-control-geocoder';
799 - $edit_js_dep[] = 'cbxgooglemap-events';
800 - }
779 + //if ($map_source == 1 && $api_key != '') {
780 + if ( $map_source == 1 ) {
781 + wp_register_script( 'coregooglemapapi', '//maps.googleapis.com/maps/api/js?key=' . $api_key . '&libraries=places&callback=Function.prototype', [], $ver, $in_footer_async );
801 782
802 - wp_enqueue_media();
803 - $main_marker = [];
783 + $edit_js_dep[] = 'awesome-notifications';
784 + $edit_js_dep[] = 'coregooglemapapi';
785 + $edit_js_dep[] = 'cbxgooglemap-events';
804 786
805 - wp_register_script('cbxgooglemap-edit', $js_url.'cbxgooglemap-edit.js', $edit_js_dep, $ver, $in_footer);
787 + } elseif ( $map_source == 0 ) {
788 + wp_register_script( 'coregooglemapapi', $vendor_url . 'leaflet/leaflet.js', [], $ver, $in_footer_async );
789 + wp_register_script( 'leaflet-control-geocoder', $vendor_url . 'leaflet-control-geocoder/Control.Geocoder.js', [], $ver, $in_footer_async );
806 790
807 - $edit_js_vars = [
808 - 'search_address' => esc_html__('Search Address', 'cbxgooglemap'),
809 - 'icon_url_default' => $default_mapicon,
810 - 'api_key' => $api_key,
811 - 'map_source' => $map_source,
812 - 'map_title_placeholder' => esc_html__('Map Title Here', 'cbxgooglemap'),
813 - 'no_address_found' => esc_html__('No details available for current input', 'cbxgooglemap'),
814 - ];
791 + $edit_js_dep[] = 'awesome-notifications';
792 + $edit_js_dep[] = 'coregooglemapapi';
793 + $edit_js_dep[] = 'leaflet-control-geocoder';
794 + $edit_js_dep[] = 'cbxgooglemap-events';
795 + }
815 796
816 - $edit_js_vars = array_merge($edit_js_vars, $global_translation);
797 + wp_enqueue_media();
798 + $main_marker = [];
817 799
818 - $edit_js_vars = apply_filters('cbxgooglemap_edit_js_vars', $edit_js_vars, $post_id);
800 + wp_register_script( 'cbxgooglemap-edit', $js_url . 'cbxgooglemap-edit.js', $edit_js_dep, $ver, $in_footer );
819 801
820 - wp_localize_script('cbxgooglemap-edit', 'cbxgooglemap_edit', $edit_js_vars);
802 + $edit_js_vars = [
803 + 'search_address' => esc_html__( 'Search Address', 'cbxgooglemap' ),
804 + 'icon_url_default' => $default_mapicon,
805 + 'api_key' => $api_key,
806 + 'no_api_key' => ( $api_key === '' ) ? esc_html__( 'No google map api key found, please check CBX Map plugin setting.', 'cbxgooglemap' ) : '',
807 + 'map_source' => $map_source,
808 + 'map_title_placeholder' => esc_html__( 'Map Title Here', 'cbxgooglemap' ),
809 + 'no_address_found' => esc_html__( 'No details available for current input', 'cbxgooglemap' ),
810 + ];
821 811
822 - //enqueue dependency js cripts
823 - foreach ($edit_js_dep as $dep) {
824 - wp_enqueue_script($dep);
825 - }
812 + $edit_js_vars = array_merge( $edit_js_vars, $global_translation );
826 813
827 - //enqueue main edit scripts
828 - wp_enqueue_script('cbxgooglemap-edit');
829 - }
814 + $edit_js_vars = apply_filters( 'cbxgooglemap_edit_js_vars', $edit_js_vars, $post_id );
830 815
831 - if ($current_page == 'cbxgooglemap_settings') {
832 - $setting_js_deps = [
833 - 'jquery',
834 - 'jquery-ui-sortable',
835 - 'select2',
836 - 'pickr',
837 - 'awesome-notifications'
838 - ];
816 + wp_localize_script( 'cbxgooglemap-edit', 'cbxgooglemap_edit', $edit_js_vars );
839 817
840 - $setting_js_deps = apply_filters('cbxgooglemap_setting_js_deps', $setting_js_deps);
818 + //enqueue dependency js cripts
819 + foreach ( $edit_js_dep as $dep ) {
820 + wp_enqueue_script( $dep );
821 + }
841 822
842 - $blog_id = is_multisite() ? get_current_blog_id() : null;
823 + //enqueue main edit scripts
824 + wp_enqueue_script( 'cbxgooglemap-edit' );
825 + }
843 826
844 - // Localize the script with new data
845 - $setting_js_vars = [
846 - 'global_setting_link_html' => '<a href="'.esc_url(admin_url('edit.php?post_type=cbxgooglemap&page=cbxgooglemap_settings')).'" class="button outline primary pull-right">'.esc_html__('Global Settings', 'cbxgooglemap').'</a>',
847 - 'lang' => get_user_locale(),
848 - 'clearPermalinks' => esc_url_raw(get_rest_url($blog_id, 'cbxgooglemap/v1/admin/clear-permalinks')),
849 - 'rest_end_points' => [
850 - 'migrate_wp_wpsimplegooglemap' => esc_url_raw(get_rest_url('', 'cbxgooglemap/v1/migrate-wp-wpsimplegooglemap-data')),
851 - ],
852 - ];
827 + if ( $current_page == 'cbxgooglemap_settings' ) {
828 + $setting_js_deps = [
829 + 'jquery',
830 + 'jquery-ui-sortable',
831 + 'select2',
832 + 'pickr',
833 + 'awesome-notifications'
834 + ];
853 835
854 - $import_modal_html = '<div id="cbxgooglemap_settings_import_modal_wrap" class="cbx-chota">';
855 - $import_modal_html .= '<h2>'.esc_html__('Import CBX Google Map Setting: Json file', 'cbxgooglemap').'</h2>';
856 - $import_modal_html .= '<form method="post" id="cbxgooglemap_settings_import_form">';
857 - $import_modal_html .= '<input type="file" name="file" id="cbxgooglemap_settings_import_file" accept="application/json" />';
858 - $import_modal_html .= '</form>';
859 - $import_modal_html .= '</div>';
836 + $setting_js_deps = apply_filters( 'cbxgooglemap_setting_js_deps', $setting_js_deps );
860 837
861 - $setting_js_vars['import_modal'] = $import_modal_html;
862 - $setting_js_vars['import_modal_progress'] = '<p>'.esc_html__('Please wait, Importing...', 'cbxgooglemap').'</p>';
838 + $blog_id = is_multisite() ? get_current_blog_id() : null;
863 839
864 - $cbxgooglemap_setting_js_vars = apply_filters('cbxgooglemap_setting_js_vars', array_merge($setting_js_vars, $global_translation));
840 + // Localize the script with new data
841 + $setting_js_vars = [
842 + 'global_setting_link_html' => '<a href="' . esc_url( admin_url( 'edit.php?post_type=cbxgooglemap&page=cbxgooglemap_settings' ) ) . '" class="button outline primary pull-right">' . esc_html__( 'Global Settings',
843 + 'cbxgooglemap' ) . '</a>',
844 + 'lang' => get_user_locale(),
845 + 'clearPermalinks' => esc_url_raw( get_rest_url( $blog_id, 'cbxgooglemap/v1/admin/clear-permalinks' ) ),
846 + 'rest_end_points' => [
847 + 'migrate_wp_wpsimplegooglemap' => esc_url_raw( get_rest_url( '', 'cbxgooglemap/v1/migrate-wp-wpsimplegooglemap-data' ) ),
848 + ],
849 + ];
865 850
866 - wp_register_script('cbxgooglemap-setting', $js_url.'cbxgooglemap-setting.js', $setting_js_deps, $ver, $in_footer);
851 + $import_modal_html = '<div id="cbxgooglemap_settings_import_modal_wrap" class="cbx-chota">';
852 + $import_modal_html .= '<h2>' . esc_html__( 'Import CBX Google Map Setting: Json file', 'cbxgooglemap' ) . '</h2>';
853 + $import_modal_html .= '<form method="post" id="cbxgooglemap_settings_import_form">';
854 + $import_modal_html .= '<input type="file" name="file" id="cbxgooglemap_settings_import_file" accept="application/json" />';
855 + $import_modal_html .= '</form>';
856 + $import_modal_html .= '</div>';
867 857
868 - wp_localize_script('cbxgooglemap-setting', 'cbxgooglemap_setting_js_var', $cbxgooglemap_setting_js_vars);
858 + $setting_js_vars['import_modal'] = $import_modal_html;
859 + $setting_js_vars['import_modal_progress'] = '<p>' . esc_html__( 'Please wait, Importing...', 'cbxgooglemap' ) . '</p>';
869 860
870 - //core
871 - wp_enqueue_script('jquery');
872 - wp_enqueue_media();
861 + $cbxgooglemap_setting_js_vars = apply_filters( 'cbxgooglemap_setting_js_vars', array_merge( $setting_js_vars, $global_translation ) );
873 862
874 - //vendors
875 - wp_enqueue_script('jquery-ui-sortable');
876 - wp_enqueue_script('select2');
877 - wp_enqueue_script('pickr');
878 - wp_enqueue_script('awesome-notifications');
863 + wp_register_script( 'cbxgooglemap-setting', $js_url . 'cbxgooglemap-setting.js', $setting_js_deps, $ver, $in_footer );
879 864
880 - //custom
881 - wp_enqueue_script('cbxgooglemap-setting');
865 + wp_localize_script( 'cbxgooglemap-setting', 'cbxgooglemap_setting_js_var', $cbxgooglemap_setting_js_vars );
882 866
883 - //for demo js (we need this but we will sort out later)
884 - if (($map_source == 1 && ! empty($api_key)) || $map_source == 0) {
885 - if ($map_source == 1) {
886 - //phpcs:ignore WordPress.WP.EnqueuedResourceParameters.NotInFooter
887 - wp_register_script('coregooglemapapi', '//maps.googleapis.com/maps/api/js?key='.esc_attr($api_key).'&libraries=places&callback=Function.prototype', [], $ver, $in_footer_async);
888 - wp_register_script('cbxgooglemap-public', $js_url.'cbxgooglemap-public.js', [
889 - 'jquery',
890 - 'cbxgooglemap-events',
891 - 'coregooglemapapi'
892 - ], $ver, $in_footer);
867 + //core
868 + wp_enqueue_script( 'jquery' );
869 + wp_enqueue_media();
893 870
894 - wp_enqueue_script('coregooglemapapi');
895 - } else {
896 - wp_register_script('coregooglemapapi', $vendor_url.'leaflet/leaflet.js', [], $ver, $in_footer_async);
897 - wp_register_script('cbxgooglemap-public', $js_url.'cbxgooglemap-public.js', [
898 - 'jquery',
899 - 'cbxgooglemap-events',
900 - 'coregooglemapapi',
901 - //'leaflet-control-geocoder'
902 - ], $ver, $in_footer);
871 + //vendors
872 + wp_enqueue_script( 'jquery-ui-sortable' );
873 + wp_enqueue_script( 'select2' );
874 + wp_enqueue_script( 'pickr' );
875 + wp_enqueue_script( 'awesome-notifications' );
903 876
904 - wp_enqueue_script('cbxgooglemap-events');
905 - wp_enqueue_script('coregooglemapapi');
906 - //wp_enqueue_script( 'leaflet-control-geocoder' );
907 - }
877 + //custom
878 + wp_enqueue_script( 'cbxgooglemap-setting' );
908 879
909 - wp_enqueue_script('cbxgooglemap-public');
910 - }//end for demo js
880 + //for demo js (we need this but we will sort out later)
881 + if ( ( $map_source == 1 && ! empty( $api_key ) ) || $map_source == 0 ) {
882 + if ( $map_source == 1 ) {
883 + //phpcs:ignore WordPress.WP.EnqueuedResourceParameters.NotInFooter
884 + wp_register_script( 'coregooglemapapi', '//maps.googleapis.com/maps/api/js?key=' . esc_attr( $api_key ) . '&libraries=places&callback=Function.prototype', [], $ver,
885 + $in_footer_async );
886 + wp_register_script( 'cbxgooglemap-public', $js_url . 'cbxgooglemap-public.js', [
887 + 'jquery',
888 + 'cbxgooglemap-events',
889 + 'coregooglemapapi'
890 + ], $ver, $in_footer );
911 891
912 - }//end js for setting page
892 + wp_enqueue_script( 'coregooglemapapi' );
893 + } else {
894 + wp_register_script( 'coregooglemapapi', $vendor_url . 'leaflet/leaflet.js', [], $ver, $in_footer_async );
895 + wp_register_script( 'cbxgooglemap-public', $js_url . 'cbxgooglemap-public.js', [
896 + 'jquery',
897 + 'cbxgooglemap-events',
898 + 'coregooglemapapi',
899 + //'leaflet-control-geocoder'
900 + ], $ver, $in_footer );
913 901
914 - //enqueue js for tax page
915 - if (($hook == 'edit-tags.php' || $hook == 'term.php') && $post_type == 'cbxgooglemap' && $current_page == '') {
916 - //tax js dependencies
902 + wp_enqueue_script( 'cbxgooglemap-events' );
903 + wp_enqueue_script( 'coregooglemapapi' );
904 + //wp_enqueue_script( 'leaflet-control-geocoder' );
905 + }
917 906
918 - $tax_js_deps = [
919 - //core
920 - 'jquery',
921 - //vendors
922 - //'jquery-validate'
923 - ];
907 + wp_enqueue_script( 'cbxgooglemap-public' );
908 + }//end for demo js
924 909
925 - $tax_js_deps = apply_filters('cbxgooglemap_tax_js_deps', $tax_js_deps);
910 + }//end js for setting page
926 911
927 - $new_map_link_html = '<a href="'.esc_url(admin_url('edit.php?post_type=cbxgooglemap')).'" class="button secondary icon icon-right icon-inline mr-5"><i class="cbx-icon">'.$plus_svg.'</i>'.esc_html__('New Map',
928 - 'cbxgooglemap').'</a>';
912 + //enqueue js for tax page
913 + if ( ( $hook == 'edit-tags.php' || $hook == 'term.php' ) && $post_type == 'cbxgooglemap' && $current_page == '' ) {
914 + //tax js dependencies
929 915
930 - $global_setting_link_html = '<a href="'.esc_url(admin_url('edit.php?post_type=cbxgooglemap&page=cbxgooglemap_settings')).'" class="button outline primary">'.esc_html__('Global Settings', 'cbxgooglemap').'</a>';
916 + $tax_js_deps = [
917 + //core
918 + 'jquery',
919 + //vendors
920 + //'jquery-validate'
921 + ];
931 922
932 - $tax_js_vars =
933 - [
934 - 'tax_title_prefix' => esc_html__('Map:', 'cbxgooglemap'),
935 - 'tags_title' => esc_html__('Map: Tags', 'cbxgooglemap'),
936 - 'category_title' => esc_html__('Map: Category', 'cbxgooglemap'),
937 - 'tax_new_setting' => '<div class="wp-heading-wrap-right pull-right">'.$new_map_link_html.$global_setting_link_html.'</div>'
938 - ];
923 + $tax_js_deps = apply_filters( 'cbxgooglemap_tax_js_deps', $tax_js_deps );
939 924
940 - $tax_js_vars = apply_filters('cbxgooglemap_tax_js_vars', array_merge($tax_js_vars, $global_translation));
925 + $new_map_link_html = '<a href="' . esc_url( admin_url( 'edit.php?post_type=cbxgooglemap' ) ) . '" class="button secondary icon icon-right icon-inline mr-5"><i class="cbx-icon">' . $plus_svg . '</i>' . esc_html__( 'New Map',
926 + 'cbxgooglemap' ) . '</a>';
941 927
942 - wp_register_script('cbxgooglemap-tax', $js_url_part.'cbxgooglemap-tax.js', $tax_js_deps, $ver, true);
943 - wp_localize_script('cbxgooglemap-tax', 'cbxgooglemap_tax', $tax_js_vars);
928 + $global_setting_link_html = '<a href="' . esc_url( admin_url( 'edit.php?post_type=cbxgooglemap&page=cbxgooglemap_settings' ) ) . '" class="button outline primary">' . esc_html__( 'Global Settings',
929 + 'cbxgooglemap' ) . '</a>';
944 930
931 + $tax_js_vars =
932 + [
933 + 'tax_title_prefix' => esc_html__( 'Map:', 'cbxgooglemap' ),
934 + 'tags_title' => esc_html__( 'Map: Tags', 'cbxgooglemap' ),
935 + 'category_title' => esc_html__( 'Map: Category', 'cbxgooglemap' ),
936 + 'tax_new_setting' => '<div class="wp-heading-wrap-right pull-right">' . $new_map_link_html . $global_setting_link_html . '</div>'
937 + ];
945 938
946 - //core
947 - wp_enqueue_script('jquery');
939 + $tax_js_vars = apply_filters( 'cbxgooglemap_tax_js_vars', array_merge( $tax_js_vars, $global_translation ) );
948 940
949 - //vendors
950 - //wp_enqueue_script( 'jquery-validate' );
941 + wp_register_script( 'cbxgooglemap-tax', $js_url_part . 'cbxgooglemap-tax.js', $tax_js_deps, $ver, true );
942 + wp_localize_script( 'cbxgooglemap-tax', 'cbxgooglemap_tax', $tax_js_vars );
951 943
952 - //custom
953 - wp_enqueue_script('cbxgooglemap-tax');
954 - }//end enqueue js for tax page
955 - }//end enqueue_scripts
956 944
957 - /**
958 - * Init all gutenberg blocks
959 - */
960 - public function gutenberg_blocks(){
961 - if ( ! function_exists('register_block_type')) {
962 - return;
963 - }
945 + //core
946 + wp_enqueue_script( 'jquery' );
964 947
965 - $settings = $this->settings;
966 - $in_footer = [
967 - 'in_footer' => true,
968 - ];
948 + //vendors
949 + //wp_enqueue_script( 'jquery-validate' );
969 950
951 + //custom
952 + wp_enqueue_script( 'cbxgooglemap-tax' );
953 + }//end enqueue js for tax page
954 + }//end enqueue_scripts
970 955
971 - //$general_settings = get_option( 'cbxgooglemap_general', [] );
956 + /**
957 + * Init all gutenberg blocks
958 + */
959 + public function gutenberg_blocks() {
960 + if ( ! function_exists( 'register_block_type' ) ) {
961 + return;
962 + }
972 963
973 - //default field values
974 - $zoom_default = $settings->get_field('zoom', 'cbxgooglemap_general', '8');
975 - if ($zoom_default == 0) {
976 - $zoom_default = 8;
977 - }
964 + $settings = $this->settings;
965 + $in_footer = [
966 + 'in_footer' => true,
967 + ];
978 968
979 - $width_default = $settings->get_field('width', 'cbxgooglemap_general', '100%');
980 - if ($width_default == '' || $width_default == 0) {
981 - $width_default = '100%';
982 - }
983 969
984 - $height_default = absint($settings->get_field('height', 'cbxgooglemap_general', '300'));
985 - if ($height_default == 0) {
986 - $height_default = 300;
987 - }
970 + //$general_settings = get_option( 'cbxgooglemap_general', [] );
988 971
972 + //default field values
973 + $zoom_default = $settings->get_field( 'zoom', 'cbxgooglemap_general', '8' );
974 + if ( $zoom_default == 0 ) {
975 + $zoom_default = 8;
976 + }
989 977
990 - $scrollwheel_default = absint($settings->get_field('scrollwheel', 'cbxgooglemap_general', 1));
991 - $showinfo_default = absint($settings->get_field('showinfo', 'cbxgooglemap_general', 1));
992 - $infow_open_default = absint($settings->get_field('infow_open', 'cbxgooglemap_general', 1));
993 - $maptype_default = esc_attr($settings->get_field('maptype', 'cbxgooglemap_general', 'roadmap'));
978 + $width_default = $settings->get_field( 'width', 'cbxgooglemap_general', '100%' );
979 + if ( $width_default == '' || $width_default == 0 ) {
980 + $width_default = '100%';
981 + }
994 982
995 - $query = get_posts([
996 - 'post_type' => 'cbxgooglemap',
997 - 'orderby' => 'date',
998 - 'posts_per_page' => -1,
999 - 'post_status' => 'publish'
1000 - ]);
983 + $height_default = absint( $settings->get_field( 'height', 'cbxgooglemap_general', '300' ) );
984 + if ( $height_default == 0 ) {
985 + $height_default = 300;
986 + }
1001 987
1002 - $googleMap_posts = [];
1003 988
1004 - $googleMap_posts[] = [
1005 - 'label' => esc_html__('Select Map', 'cbxgooglemap'),
1006 - 'value' => '0'
1007 - ];
989 + $scrollwheel_default = absint( $settings->get_field( 'scrollwheel', 'cbxgooglemap_general', 1 ) );
990 + $showinfo_default = absint( $settings->get_field( 'showinfo', 'cbxgooglemap_general', 1 ) );
991 + $infow_open_default = absint( $settings->get_field( 'infow_open', 'cbxgooglemap_general', 1 ) );
992 + $maptype_default = esc_attr( $settings->get_field( 'maptype', 'cbxgooglemap_general', 'roadmap' ) );
1008 993
1009 - foreach ($query as $key => $data) {
1010 - $googleMap_posts[] = [
1011 - 'label' => esc_html($data->post_title),
1012 - 'value' => absint($data->ID)
1013 - ];
1014 - }
994 + $query = get_posts( [
995 + 'post_type' => 'cbxgooglemap',
996 + 'orderby' => 'date',
997 + 'posts_per_page' => - 1,
998 + 'post_status' => 'publish'
999 + ] );
1015 1000
1001 + $googleMap_posts = [];
1016 1002
1017 - wp_register_script('cbxgooglemap-block', plugin_dir_url(__FILE__).'../assets/js/blocks/cbxgooglemap-block.js', [
1018 - 'wp-blocks',
1019 - 'wp-element',
1020 - 'wp-components',
1021 - 'wp-editor',
1022 - ], filemtime(plugin_dir_path(__FILE__).'../assets/js/blocks/cbxgooglemap-block.js'), $in_footer);
1003 + $googleMap_posts[] = [
1004 + 'label' => esc_html__( 'Select Map', 'cbxgooglemap' ),
1005 + 'value' => '0'
1006 + ];
1023 1007
1024 - wp_register_style('cbxgooglemap-block', plugin_dir_url(__FILE__).'../assets/css/cbxgooglemap-block.css', [], filemtime(plugin_dir_path(__FILE__).'../assets/css/cbxgooglemap-block.css'));
1008 + foreach ( $query as $key => $data ) {
1009 + $googleMap_posts[] = [
1010 + 'label' => esc_html( $data->post_title ),
1011 + 'value' => absint( $data->ID )
1012 + ];
1013 + }
1025 1014
1026 - $js_vars = apply_filters('cbxgooglemap_block_js_vars',
1027 - [
1028 - 'block_title' => esc_html__('CBX Map: Location Map', 'cbxgooglemap'),
1029 - 'block_category' => 'codeboxr',
1030 - 'block_icon' => 'universal-access-alt',
1031 - 'general_settings' => [
1032 - 'title' => esc_html__('CBX Map Settings', 'cbxgooglemap'),
1033 - 'id' => esc_html__('Select Map', 'cbxgooglemap'),
1034 - 'id_default' => '',
1035 - 'id_options' => $googleMap_posts,
1036 - 'id_note' => esc_html__('Choose saved map or create from custom attributes below', 'cbxgooglemap'),
1037 - 'custom_attribute_note' => esc_html__('Custom Map Attributes', 'cbxgooglemap'),
1038 - 'maptype' => esc_html__('Map Type(Google Map Only)', 'cbxgooglemap'),
1039 - 'maptype_options' => CBXGooglemapHelper::maptype_block_options(),
1040 - 'lat' => esc_html__('Latitude', 'cbxgooglemap'),
1041 - 'lng' => esc_html__('Longitude', 'cbxgooglemap'),
1042 - 'width' => esc_html__('Width(Numeric, % allowed)', 'cbxgooglemap'),
1043 - 'height' => esc_html__('Height(only Numeric)', 'cbxgooglemap'),
1044 - 'zoom' => esc_html__('zoom', 'cbxgooglemap'),
1045 - 'scrollwheel' => esc_html__('Mouse Scroll Wheel', 'cbxgooglemap'),
1046 - 'showinfo' => esc_html__('Show Popup', 'cbxgooglemap'),
1047 - 'infow_open' => esc_html__('Popup Auto Display ', 'cbxgooglemap'),
1048 - 'heading' => esc_html__('Popup Heading', 'cbxgooglemap'),
1049 - 'address' => esc_html__('Location Address', 'cbxgooglemap'),
1050 - 'website' => esc_html__('Website url', 'cbxgooglemap'),
1051 - 'mapicon' => esc_html__('Map Icon', 'cbxgooglemap'),
1052 - 'mapicon_select' => esc_html__('Select image', 'cbxgooglemap'),
1053 - ],
1054 - ]);
1055 1015
1056 - wp_localize_script('cbxgooglemap-block', 'cbxgooglemap_block', $js_vars);
1016 + wp_register_script( 'cbxgooglemap-block', plugin_dir_url( __FILE__ ) . '../assets/js/blocks/cbxgooglemap-block.js', [
1017 + 'wp-blocks',
1018 + 'wp-element',
1019 + 'wp-components',
1020 + 'wp-editor',
1021 + ], filemtime( plugin_dir_path( __FILE__ ) . '../assets/js/blocks/cbxgooglemap-block.js' ), $in_footer );
1057 1022
1058 - register_block_type('codeboxr/cbxgooglemap', [
1059 - 'editor_script' => 'cbxgooglemap-block',
1060 - 'editor_style' => 'cbxgooglemap-block',
1061 - 'attributes' => apply_filters('cbxgooglemap_block_attributes', [
1062 - //general
1063 - 'id' => [
1064 - 'type' => 'integer',
1065 - 'default' => '0',
1066 - ],
1067 - 'maptype' => [
1068 - 'type' => 'string',
1069 - 'default' => $maptype_default
1070 - ],
1071 - 'lat' => [
1072 - 'type' => 'string',
1073 - 'default' => ''
1074 - ],
1075 - 'lng' => [
1076 - 'type' => 'string',
1077 - 'default' => ''
1078 - ],
1079 - 'width' => [
1080 - 'type' => 'string',
1081 - 'default' => $width_default,
1082 - ],
1023 + wp_register_style( 'cbxgooglemap-block', plugin_dir_url( __FILE__ ) . '../assets/css/cbxgooglemap-block.css', [],
1024 + filemtime( plugin_dir_path( __FILE__ ) . '../assets/css/cbxgooglemap-block.css' ) );
1083 1025
1084 - 'height' => [
1085 - 'type' => 'integer',
1086 - 'default' => $height_default
1087 - ],
1088 - 'zoom' => [
1089 - 'type' => 'string',
1090 - 'default' => $zoom_default
1091 - ],
1092 - 'scrollwheel' => [
1093 - 'type' => 'boolean',
1094 - 'default' => ($scrollwheel_default) ? true : false
1095 - ],
1096 - 'showinfo' => [
1097 - 'type' => 'boolean',
1098 - 'default' => ($showinfo_default) ? true : false
1099 - ],
1100 - 'infow_open' => [
1101 - 'type' => 'boolean',
1102 - 'default' => ($infow_open_default) ? true : false
1103 - ],
1104 - 'heading' => [
1105 - 'type' => 'string',
1106 - 'default' => ''
1107 - ],
1108 - 'address' => [
1109 - 'type' => 'string',
1110 - 'default' => ''
1111 - ],
1112 - 'website' => [
1113 - 'type' => 'string',
1114 - 'default' => ''
1115 - ],
1116 - 'mapicon' => [
1117 - 'type' => 'string',
1118 - 'default' => '',
1119 - ]
1120 - ]),
1121 - 'render_callback' => [$this, 'render_block']
1122 - ]);
1026 + $js_vars = apply_filters( 'cbxgooglemap_block_js_vars',
1027 + [
1028 + 'block_title' => esc_html__( 'CBX Map: Location Map', 'cbxgooglemap' ),
1029 + 'block_category' => 'codeboxr',
1030 + 'block_icon' => 'universal-access-alt',
1031 + 'general_settings' => [
1032 + 'title' => esc_html__( 'CBX Map Settings', 'cbxgooglemap' ),
1033 + 'id' => esc_html__( 'Select Map', 'cbxgooglemap' ),
1034 + 'id_default' => '',
1035 + 'id_options' => $googleMap_posts,
1036 + 'id_note' => esc_html__( 'Choose saved map or create from custom attributes below', 'cbxgooglemap' ),
1037 + 'custom_attribute_note' => esc_html__( 'Custom Map Attributes', 'cbxgooglemap' ),
1038 + 'maptype' => esc_html__( 'Map Type(Google Map Only)', 'cbxgooglemap' ),
1039 + 'maptype_options' => CBXGooglemapHelper::maptype_block_options(),
1040 + 'lat' => esc_html__( 'Latitude', 'cbxgooglemap' ),
1041 + 'lng' => esc_html__( 'Longitude', 'cbxgooglemap' ),
1042 + 'width' => esc_html__( 'Width(Numeric, % allowed)', 'cbxgooglemap' ),
1043 + 'height' => esc_html__( 'Height(only Numeric)', 'cbxgooglemap' ),
1044 + 'zoom' => esc_html__( 'zoom', 'cbxgooglemap' ),
1045 + 'scrollwheel' => esc_html__( 'Mouse Scroll Wheel', 'cbxgooglemap' ),
1046 + 'showinfo' => esc_html__( 'Show Popup', 'cbxgooglemap' ),
1047 + 'infow_open' => esc_html__( 'Popup Auto Display ', 'cbxgooglemap' ),
1048 + 'heading' => esc_html__( 'Popup Heading', 'cbxgooglemap' ),
1049 + 'address' => esc_html__( 'Location Address', 'cbxgooglemap' ),
1050 + 'website' => esc_html__( 'Website url', 'cbxgooglemap' ),
1051 + 'mapicon' => esc_html__( 'Map Icon', 'cbxgooglemap' ),
1052 + 'mapicon_select' => esc_html__( 'Select image', 'cbxgooglemap' ),
1053 + ],
1054 + ] );
1123 1055
1124 - }//end gutenberg_blocks
1056 + wp_localize_script( 'cbxgooglemap-block', 'cbxgooglemap_block', $js_vars );
1125 1057
1126 - /**
1127 - * Getenberg server side render
1128 - *
1129 - * @param $settings
1130 - *
1131 - * @return string
1132 - */
1133 - public function render_block($attributes)
1134 - {
1135 - $settings = $this->settings;
1136 - //$general_settings = get_option( 'cbxgooglemap_general', [] );
1058 + register_block_type( 'codeboxr/cbxgooglemap', [
1059 + 'editor_script' => 'cbxgooglemap-block',
1060 + 'editor_style' => 'cbxgooglemap-block',
1061 + 'attributes' => apply_filters( 'cbxgooglemap_block_attributes', [
1062 + //general
1063 + 'id' => [
1064 + 'type' => 'integer',
1065 + 'default' => '0',
1066 + ],
1067 + 'maptype' => [
1068 + 'type' => 'string',
1069 + 'default' => $maptype_default
1070 + ],
1071 + 'lat' => [
1072 + 'type' => 'string',
1073 + 'default' => ''
1074 + ],
1075 + 'lng' => [
1076 + 'type' => 'string',
1077 + 'default' => ''
1078 + ],
1079 + 'width' => [
1080 + 'type' => 'string',
1081 + 'default' => $width_default,
1082 + ],
1137 1083
1138 - $api_key = $settings->get_field('apikey', 'cbxgooglemap_general', '');
1139 - $map_source = (int) $settings->get_field( 'mapsource', 'cbxgooglemap_general', 1 );
1084 + 'height' => [
1085 + 'type' => 'integer',
1086 + 'default' => $height_default
1087 + ],
1088 + 'zoom' => [
1089 + 'type' => 'string',
1090 + 'default' => $zoom_default
1091 + ],
1092 + 'scrollwheel' => [
1093 + 'type' => 'boolean',
1094 + 'default' => ( $scrollwheel_default ) ? true : false
1095 + ],
1096 + 'showinfo' => [
1097 + 'type' => 'boolean',
1098 + 'default' => ( $showinfo_default ) ? true : false
1099 + ],
1100 + 'infow_open' => [
1101 + 'type' => 'boolean',
1102 + 'default' => ( $infow_open_default ) ? true : false
1103 + ],
1104 + 'heading' => [
1105 + 'type' => 'string',
1106 + 'default' => ''
1107 + ],
1108 + 'address' => [
1109 + 'type' => 'string',
1110 + 'default' => ''
1111 + ],
1112 + 'website' => [
1113 + 'type' => 'string',
1114 + 'default' => ''
1115 + ],
1116 + 'mapicon' => [
1117 + 'type' => 'string',
1118 + 'default' => '',
1119 + ]
1120 + ] ),
1121 + 'render_callback' => [ $this, 'render_block' ]
1122 + ] );
1140 1123
1141 - if ($map_source == 1 && $api_key == '') {
1142 - echo '<p style="text-align: center;">'.esc_html__('Google Map Api Key is invalid!', 'cbxgooglemap').'</p>';
1143 - } else {
1144 - $id = isset($attributes['id']) ? absint($attributes['id']) : 0;
1124 + }//end gutenberg_blocks
1145 1125
1146 - if ($id > 0) {
1147 - //render map from saved map
1148 - return '[cbxgooglemap id="'.$id.'"]';
1149 - } else {
1150 - $attr = [];
1126 + /**
1127 + * Getenberg server side render
1128 + *
1129 + * @param $settings
1130 + *
1131 + * @return string
1132 + */
1133 + public function render_block( $attributes ) {
1134 + $settings = $this->settings;
1135 + //$general_settings = get_option( 'cbxgooglemap_general', [] );
1151 1136
1152 - if (isset($attributes['lat'])) {
1153 - $attr['lat'] = sanitize_text_field(wp_unslash($attributes['lat']));
1154 - }
1137 + $api_key = $settings->get_field( 'apikey', 'cbxgooglemap_general', '' );
1138 + $map_source = (int) $settings->get_field( 'mapsource', 'cbxgooglemap_general', 1 );
1155 1139
1156 - if (isset($attributes['lng'])) {
1157 - $attr['lng'] = sanitize_text_field(wp_unslash($attributes['lng']));
1158 - }
1140 + if ( $map_source == 1 && $api_key == '' ) {
1141 + echo '<p style="text-align: center;">' . esc_html__( 'Google Map Api Key is invalid!', 'cbxgooglemap' ) . '</p>';
1142 + } else {
1143 + $id = isset( $attributes['id'] ) ? absint( $attributes['id'] ) : 0;
1159 1144
1160 - if (isset($attributes['width'])) {
1161 - $attr['width'] = sanitize_text_field($attributes['width']);
1162 - }
1145 + if ( $id > 0 ) {
1146 + //render map from saved map
1147 + return '[cbxgooglemap id="' . $id . '"]';
1148 + } else {
1149 + $attr = [];
1163 1150
1164 - if (isset($attributes['height'])) {
1165 - $attr['height'] = (int) $attributes['height'];
1166 - }
1151 + if ( isset( $attributes['lat'] ) ) {
1152 + $attr['lat'] = sanitize_text_field( wp_unslash( $attributes['lat'] ) );
1153 + }
1167 1154
1168 - if (isset($attributes['zoom'])) {
1169 - $attr['zoom'] = sanitize_text_field($attributes['zoom']);
1170 - }
1155 + if ( isset( $attributes['lng'] ) ) {
1156 + $attr['lng'] = sanitize_text_field( wp_unslash( $attributes['lng'] ) );
1157 + }
1171 1158
1159 + if ( isset( $attributes['width'] ) ) {
1160 + $attr['width'] = sanitize_text_field( $attributes['width'] );
1161 + }
1172 1162
1173 - $attr['scrollwheel'] = ! empty($attributes['scrollwheel']) ? 1 : 0;
1174 - $attr['infow_open'] = ! empty($attributes['infow_open']) ? 1 : 0;
1175 - $attr['showinfo'] = ! empty($attributes['showinfo']) ? 1 : 0;
1163 + if ( isset( $attributes['height'] ) ) {
1164 + $attr['height'] = (int) $attributes['height'];
1165 + }
1176 1166
1177 - if (isset($attributes['heading'])) {
1178 - $attr['heading'] = sanitize_text_field(wp_unslash($attributes['heading']));
1179 - }
1180 - if (isset($attributes['address'])) {
1181 - $attr['address'] = sanitize_text_field(wp_unslash($attributes['address']));
1182 - }
1183 - if (isset($attributes['website'])) {
1184 - $attr['website'] = sanitize_text_field(wp_unslash($attributes['website']));
1185 - }
1186 - if (isset($attributes['maptype'])) {
1187 - $attr['maptype'] = sanitize_text_field(wp_unslash($attributes['maptype']));
1188 - }
1189 - if (isset($attributes['mapicon'])) {
1190 - $attr['mapicon'] = esc_url($attributes['mapicon']);
1191 - }
1167 + if ( isset( $attributes['zoom'] ) ) {
1168 + $attr['zoom'] = sanitize_text_field( $attributes['zoom'] );
1169 + }
1192 1170
1193 - $attr = apply_filters('cbxgooglemap_block_shortcode_builder_attr', $attr, $attributes);
1194 1171
1195 - $attr_html = '';
1172 + $attr['scrollwheel'] = ! empty( $attributes['scrollwheel'] ) ? 1 : 0;
1173 + $attr['infow_open'] = ! empty( $attributes['infow_open'] ) ? 1 : 0;
1174 + $attr['showinfo'] = ! empty( $attributes['showinfo'] ) ? 1 : 0;
1196 1175
1197 - foreach ($attr as $key => $value) {
1198 - $attr_html .= ' '.$key.'="'.$value.'" ';
1199 - }
1176 + if ( isset( $attributes['heading'] ) ) {
1177 + $attr['heading'] = sanitize_text_field( wp_unslash( $attributes['heading'] ) );
1178 + }
1179 + if ( isset( $attributes['address'] ) ) {
1180 + $attr['address'] = sanitize_text_field( wp_unslash( $attributes['address'] ) );
1181 + }
1182 + if ( isset( $attributes['website'] ) ) {
1183 + $attr['website'] = sanitize_text_field( wp_unslash( $attributes['website'] ) );
1184 + }
1185 + if ( isset( $attributes['maptype'] ) ) {
1186 + $attr['maptype'] = sanitize_text_field( wp_unslash( $attributes['maptype'] ) );
1187 + }
1188 + if ( isset( $attributes['mapicon'] ) ) {
1189 + $attr['mapicon'] = esc_url( $attributes['mapicon'] );
1190 + }
1200 1191
1201 - //return do_shortcode( '[cbxgooglemap ' . $attr_html . ']' );
1202 - return '[cbxgooglemap '.$attr_html.']';
1203 - }
1204 - }//end if api keys are ok
1192 + $attr = apply_filters( 'cbxgooglemap_block_shortcode_builder_attr', $attr, $attributes );
1205 1193
1206 - }//end codeboxrflexiblecountdown_block_render
1194 + $attr_html = '';
1207 1195
1208 - /**
1209 - * Register New Gutenberg block Category if need
1210 - *
1211 - * @param $categories
1212 - * @param $post
1213 - *
1214 - * @return mixed
1215 - */
1216 - public function gutenberg_block_categories($categories, $post)
1217 - {
1218 - $found = false;
1219 - foreach ($categories as $category) {
1220 - if ($category['slug'] == 'codeboxr') {
1221 - $found = true;
1222 - break;
1223 - }
1224 - }
1196 + foreach ( $attr as $key => $value ) {
1197 + $attr_html .= ' ' . $key . '="' . $value . '" ';
1198 + }
1225 1199
1226 - if ( ! $found) {
1227 - return array_merge(
1228 - $categories,
1229 - [
1230 - [
1231 - 'slug' => 'codeboxr',
1232 - 'title' => esc_html__('CBX Blocks', 'cbxgooglemap'),
1233 - ],
1234 - ]
1235 - );
1236 - }
1200 + //return do_shortcode( '[cbxgooglemap ' . $attr_html . ']' );
1201 + return '[cbxgooglemap ' . $attr_html . ']';
1202 + }
1203 + }//end if api keys are ok
1237 1204
1238 - return $categories;
1239 - }//end gutenberg_block_categories
1205 + }//end codeboxrflexiblecountdown_block_render
1240 1206
1207 + /**
1208 + * Register New Gutenberg block Category if need
1209 + *
1210 + * @param $categories
1211 + * @param $post
1212 + *
1213 + * @return mixed
1214 + */
1215 + public function gutenberg_block_categories( $categories, $post ) {
1216 + $found = false;
1217 + foreach ( $categories as $category ) {
1218 + if ( $category['slug'] == 'codeboxr' ) {
1219 + $found = true;
1220 + break;
1221 + }
1222 + }
1241 1223
1242 - /**
1243 - * Enqueue style for block editor
1244 - */
1245 - public function enqueue_block_editor_assets()
1246 - {
1247 - }//end enqueue_block_editor_assets
1224 + if ( ! $found ) {
1225 + return array_merge(
1226 + $categories,
1227 + [
1228 + [
1229 + 'slug' => 'codeboxr',
1230 + 'title' => esc_html__( 'CBX Blocks', 'cbxgooglemap' ),
1231 + ],
1232 + ]
1233 + );
1234 + }
1248 1235
1249 - /**
1250 - * Load setting html
1251 - *
1252 - * @return void
1253 - */
1254 - public function settings_reset_load()
1255 - {
1256 - //security check
1257 - check_ajax_referer('cbxgooglemap_nonce', 'security');
1236 + return $categories;
1237 + }//end gutenberg_block_categories
1258 1238
1259 - $msg = [];
1260 - $msg['html'] = '';
1261 - $msg['message'] = esc_html__('CBX Google Map reset setting html loaded successfully', 'cbxgooglemap');
1262 - $msg['success'] = 1;
1263 1239
1264 - if ( ! current_user_can('manage_options')) {
1265 - $msg['message'] = esc_html__('Sorry, you don\'t have enough permission', 'cbxgooglemap');
1266 - $msg['success'] = 0;
1267 - wp_send_json($msg);
1268 - }
1240 + /**
1241 + * Enqueue style for block editor
1242 + */
1243 + public function enqueue_block_editor_assets() {
1244 + }//end enqueue_block_editor_assets
1269 1245
1270 - $msg['html'] = CBXGooglemapHelper::setting_reset_html_table();
1246 + /**
1247 + * Load setting html
1248 + *
1249 + * @return void
1250 + */
1251 + public function settings_reset_load() {
1252 + //security check
1253 + check_ajax_referer( 'cbxgooglemap_nonce', 'security' );
1271 1254
1272 - wp_send_json($msg);
1273 - } //end method settings_reset_load
1255 + $msg = [];
1256 + $msg['html'] = '';
1257 + $msg['message'] = esc_html__( 'CBX Google Map reset setting html loaded successfully', 'cbxgooglemap' );
1258 + $msg['success'] = 1;
1274 1259
1275 - /**
1276 - * Full plugin reset and redirect
1277 - */
1278 - public function plugin_options_reset()
1279 - {
1260 + if ( ! current_user_can( 'manage_options' ) ) {
1261 + $msg['message'] = esc_html__( 'Sorry, you don\'t have enough permission', 'cbxgooglemap' );
1262 + $msg['success'] = 0;
1263 + wp_send_json( $msg );
1264 + }
1280 1265
1281 - //security check
1282 - check_ajax_referer('cbxgooglemap_nonce', 'security');
1266 + $msg['html'] = CBXGooglemapHelper::setting_reset_html_table();
1283 1267
1284 - $url = admin_url('admin.php?page=cbxgooglemap_settings');
1268 + wp_send_json( $msg );
1269 + } //end method settings_reset_load
1285 1270
1286 - $msg = [];
1287 - $msg['message'] = esc_html__('CBX Google Map setting options reset successfully', 'cbxgooglemap');
1288 - $msg['success'] = 1;
1289 - $msg['url'] = $url;
1271 + /**
1272 + * Full plugin reset and redirect
1273 + */
1274 + public function plugin_options_reset() {
1290 1275
1291 - if ( ! current_user_can('manage_options')) {
1292 - $msg['message'] = esc_html__('Sorry, you don\'t have enough permission', 'cbxgooglemap');
1293 - $msg['success'] = 0;
1294 - wp_send_json($msg);
1295 - }
1276 + //security check
1277 + check_ajax_referer( 'cbxgooglemap_nonce', 'security' );
1296 1278
1297 - do_action('cbxgooglemap_plugin_reset_before');
1279 + $url = admin_url( 'admin.php?page=cbxgooglemap_settings' );
1298 1280
1299 - $plugin_resets = wp_unslash($_POST); // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
1281 + $msg = [];
1282 + $msg['message'] = esc_html__( 'CBX Google Map setting options reset successfully', 'cbxgooglemap' );
1283 + $msg['success'] = 1;
1284 + $msg['url'] = $url;
1300 1285
1301 - //delete options
1302 - $reset_options = isset($plugin_resets['reset_options']) ? $plugin_resets['reset_options'] : [];
1303 - $option_values = (is_array($reset_options) && sizeof($reset_options) > 0) ? array_values($reset_options) : array_values(CBXGooglemapHelper::getAllOptionNames());
1286 + if ( ! current_user_can( 'manage_options' ) ) {
1287 + $msg['message'] = esc_html__( 'Sorry, you don\'t have enough permission', 'cbxgooglemap' );
1288 + $msg['success'] = 0;
1289 + wp_send_json( $msg );
1290 + }
1304 1291
1305 - foreach ($option_values as $key => $option) {
1306 - delete_option($option);
1307 - }
1292 + do_action( 'cbxgooglemap_plugin_reset_before' );
1308 1293
1309 - do_action('cbxgooglemap_plugin_option_delete');
1310 - do_action('cbxgooglemap_plugin_reset_after');
1311 - do_action('cbxgooglemap_plugin_reset');
1294 + $plugin_resets = wp_unslash( $_POST ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
1312 1295
1313 - wp_send_json($msg);
1314 - } //end plugin_reset
1296 + //delete options
1297 + $reset_options = isset( $plugin_resets['reset_options'] ) ? $plugin_resets['reset_options'] : [];
1298 + $option_values = ( is_array( $reset_options ) && sizeof( $reset_options ) > 0 ) ? array_values( $reset_options ) : array_values( CBXGooglemapHelper::getAllOptionNames() );
1315 1299
1316 - /**
1317 - * Export plugin global settings
1318 - *
1319 - * @return void
1320 - */
1321 - public function settings_export()
1322 - {
1300 + foreach ( $option_values as $key => $option ) {
1301 + delete_option( $option );
1302 + }
1323 1303
1324 - if (isset($_GET['cbxgooglemap_settings_export'])) {
1325 - $url = admin_url('admin.php?page=cbxgooglemap_settings');
1304 + do_action( 'cbxgooglemap_plugin_option_delete' );
1305 + do_action( 'cbxgooglemap_plugin_reset_after' );
1306 + do_action( 'cbxgooglemap_plugin_reset' );
1326 1307
1327 - $msg = [];
1328 - $msg['message'] = esc_html__('Google Map setting exported successfully', 'cbxgooglemap');
1329 - $msg['success'] = 1;
1330 - $msg['url'] = $url;
1308 + wp_send_json( $msg );
1309 + } //end plugin_reset
1331 1310
1332 - $passed = true;
1311 + /**
1312 + * Export plugin global settings
1313 + *
1314 + * @return void
1315 + */
1316 + public function settings_export() {
1333 1317
1334 - $nonce = isset($_GET['security']) ? sanitize_text_field(wp_unslash($_GET['security'])) : '';
1335 - if ( ! wp_verify_nonce($nonce, 'cbxgooglemap_settings_nonce')) {
1336 - $passed = false;
1337 - $msg['success'] = 0;
1338 - $msg['message'] = esc_html__('Security check failed', 'cbxgooglemap');
1339 - }
1318 + if ( isset( $_GET['cbxgooglemap_settings_export'] ) ) {
1319 + $url = admin_url( 'admin.php?page=cbxgooglemap_settings' );
1340 1320
1341 - if ( ! current_user_can('manage_options')) {
1342 - $passed = true;
1343 - $msg['message'] = esc_html__('Sorry, you don\'t have enough permission', 'cbxgooglemap');
1344 - $msg['success'] = 0;
1345 - }
1321 + $msg = [];
1322 + $msg['message'] = esc_html__( 'Google Map setting exported successfully', 'cbxgooglemap' );
1323 + $msg['success'] = 1;
1324 + $msg['url'] = $url;
1346 1325
1347 - if ( ! $passed) {
1348 - wp_send_json($msg);
1349 - }
1326 + $passed = true;
1350 1327
1351 - // Get Meta box data
1352 - $sections = CBXGoogleMapAdmin::get_settings_sections();
1328 + $nonce = isset( $_GET['security'] ) ? sanitize_text_field( wp_unslash( $_GET['security'] ) ) : '';
1329 + if ( ! wp_verify_nonce( $nonce, 'cbxgooglemap_settings_nonce' ) ) {
1330 + $passed = false;
1331 + $msg['success'] = 0;
1332 + $msg['message'] = esc_html__( 'Security check failed', 'cbxgooglemap' );
1333 + }
1353 1334
1354 - $data = [
1355 - 'cbxgooglemap_settings' => true
1356 - ];
1335 + if ( ! current_user_can( 'manage_options' ) ) {
1336 + $passed = true;
1337 + $msg['message'] = esc_html__( 'Sorry, you don\'t have enough permission', 'cbxgooglemap' );
1338 + $msg['success'] = 0;
1339 + }
1357 1340
1358 - $single_section = isset($_REQUEST['section']) ? sanitize_text_field(wp_unslash($_REQUEST['section'])) : '';
1341 + if ( ! $passed ) {
1342 + wp_send_json( $msg );
1343 + }
1359 1344
1360 - foreach ($sections as $section) {
1361 - if ($single_section != '' && $section['id'] != $single_section) {
1362 - continue;
1363 - }
1345 + // Get Meta box data
1346 + $sections = CBXGoogleMapAdmin::get_settings_sections();
1364 1347
1348 + $data = [
1349 + 'cbxgooglemap_settings' => true
1350 + ];
1365 1351
1366 - $sections_fields = get_option($section['id']);
1367 - if ( ! is_array($sections_fields)) {
1368 - $sections_fields = [];
1369 - }
1352 + $single_section = isset( $_REQUEST['section'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['section'] ) ) : '';
1370 1353
1371 - $data[$section['id']] = $sections_fields;
1354 + foreach ( $sections as $section ) {
1355 + if ( $single_section != '' && $section['id'] != $single_section ) {
1356 + continue;
1357 + }
1372 1358
1373 - if ($single_section != '' && $section['id'] == $single_section) {
1374 - break;
1375 - }
1376 - }
1377 1359
1378 - // Create JSON
1379 - $generate_json = wp_json_encode($data, JSON_PRETTY_PRINT);
1360 + $sections_fields = get_option( $section['id'] );
1361 + if ( ! is_array( $sections_fields ) ) {
1362 + $sections_fields = [];
1363 + }
1380 1364
1381 - // Create filename
1382 - $filename = 'cbxgooglemap_settings_json';
1365 + $data[ $section['id'] ] = $sections_fields;
1383 1366
1384 - // Force download .json file with JSON in it
1385 - header('Content-type: application/vnd.ms-excel');
1386 - header('Content-Type: application/force-download');
1387 - header('Content-Type: application/download');
1388 - header('Content-disposition: '.$filename.'.json');
1389 - header('Content-disposition: filename='.$filename.'.json');
1367 + if ( $single_section != '' && $section['id'] == $single_section ) {
1368 + break;
1369 + }
1370 + }
1390 1371
1391 - print $generate_json;//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1392 - exit;
1393 - }//end if export mode
1394 - }//end method settings_export
1372 + // Create JSON
1373 + $generate_json = wp_json_encode( $data, JSON_PRETTY_PRINT );
1395 1374
1396 - /**
1397 - * Import settings
1398 - *
1399 - * @return void
1400 - */
1401 - public function settings_import()
1402 - {
1403 - //security check
1404 - check_ajax_referer('cbxgooglemap_nonce', 'security');
1375 + // Create filename
1376 + $filename = 'cbxgooglemap_settings_json';
1405 1377
1406 - $msg = [];
1407 - $msg['message'] = esc_html__('CBX Google Map Settings imported successfully', 'cbxgooglemap');
1408 - $msg['success'] = 1;
1378 + // Force download .json file with JSON in it
1379 + header( 'Content-type: application/vnd.ms-excel' );
1380 + header( 'Content-Type: application/force-download' );
1381 + header( 'Content-Type: application/download' );
1382 + header( 'Content-disposition: ' . $filename . '.json' );
1383 + header( 'Content-disposition: filename=' . $filename . '.json' );
1409 1384
1410 - if ( ! current_user_can('manage_options')) {
1411 - $msg['message'] = esc_html__('Sorry, you don\'t have enough permission', 'cbxgooglemap');
1412 - $msg['success'] = 0;
1413 - wp_send_json($msg);
1414 - }
1385 + print $generate_json;//phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1386 + exit;
1387 + }//end if export mode
1388 + }//end method settings_export
1415 1389
1416 - // Import settings api data
1417 - $settings_data = isset($_REQUEST['settings_data']) ? sanitize_text_field(wp_unslash($_REQUEST['settings_data'])) : '';
1418 - $settings_data = str_replace('data:application/json;base64,', '', $settings_data);
1419 - $settings_data = base64_decode($settings_data);
1390 + /**
1391 + * Import settings
1392 + *
1393 + * @return void
1394 + */
1395 + public function settings_import() {
1396 + //security check
1397 + check_ajax_referer( 'cbxgooglemap_nonce', 'security' );
1420 1398
1421 - $settings_data = json_decode($settings_data, true);
1422 - // Redirect to settings page
1423 - $msg['url'] = admin_url('admin.php?page=cbxgooglemap_settings');
1399 + $msg = [];
1400 + $msg['message'] = esc_html__( 'CBX Google Map Settings imported successfully', 'cbxgooglemap' );
1401 + $msg['success'] = 1;
1424 1402
1425 - if (isset($settings_data['cbxgooglemap_settings'])) {
1426 - unset($settings_data['cbxgooglemap_settings']);
1403 + if ( ! current_user_can( 'manage_options' ) ) {
1404 + $msg['message'] = esc_html__( 'Sorry, you don\'t have enough permission', 'cbxgooglemap' );
1405 + $msg['success'] = 0;
1406 + wp_send_json( $msg );
1407 + }
1427 1408
1428 - if (is_array($settings_data)) {
1429 - foreach ($settings_data as $key => $value) {
1430 - update_option($key, $value);
1431 - }
1432 - }
1433 - wp_send_json($msg);
1434 - }
1409 + // Import settings api data
1410 + $settings_data = isset( $_REQUEST['settings_data'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['settings_data'] ) ) : '';
1411 + $settings_data = str_replace( 'data:application/json;base64,', '', $settings_data );
1412 + $settings_data = base64_decode( $settings_data );
1435 1413
1436 - $msg['message'] = esc_html__('Sorry, wrong format data', 'cbxgooglemap');
1437 - $msg['success'] = 0;
1438 - wp_send_json($msg);
1439 - }//end method settings_import
1414 + $settings_data = json_decode( $settings_data, true );
1415 + // Redirect to settings page
1416 + $msg['url'] = admin_url( 'admin.php?page=cbxgooglemap_settings' );
1440 1417
1441 - /**
1442 - * Reset single section
1443 - *
1444 - * @return void
1445 - */
1446 - public function plugin_reset_section()
1447 - {
1418 + if ( isset( $settings_data['cbxgooglemap_settings'] ) ) {
1419 + unset( $settings_data['cbxgooglemap_settings'] );
1448 1420
1449 - //security check
1450 - check_ajax_referer('cbxgooglemap_nonce', 'security');
1421 + if ( is_array( $settings_data ) ) {
1422 + foreach ( $settings_data as $key => $value ) {
1423 + update_option( $key, $value );
1424 + }
1425 + }
1426 + wp_send_json( $msg );
1427 + }
1451 1428
1452 - $url = admin_url('admin.php?page=cbxgooglemap_settings');
1429 + $msg['message'] = esc_html__( 'Sorry, wrong format data', 'cbxgooglemap' );
1430 + $msg['success'] = 0;
1431 + wp_send_json( $msg );
1432 + }//end method settings_import
1453 1433
1454 - $msg = [];
1455 - $msg['message'] = esc_html__('Comfort Google Map setting section reset successfully', 'cbxgooglemap');
1456 - $msg['success'] = 1;
1457 - $msg['url'] = $url;
1434 + /**
1435 + * Reset single section
1436 + *
1437 + * @return void
1438 + */
1439 + public function plugin_reset_section() {
1458 1440
1459 - if ( ! current_user_can('manage_options')) {
1460 - $msg['message'] = esc_html__('Sorry, you don\'t have enough permission', 'cbxgooglemap');
1461 - $msg['success'] = 0;
1462 - wp_send_json($msg);
1463 - }
1441 + //security check
1442 + check_ajax_referer( 'cbxgooglemap_nonce', 'security' );
1464 1443
1465 - $section = isset($_POST['section']) ? sanitize_text_field(wp_unslash($_POST['section'])) : '';
1466 - if ($section == '') {
1467 - $msg['message'] = esc_html__('Option section setting failed, as no section id is empty', 'cbxgooglemap');
1468 - $msg['success'] = 0;
1469 - wp_send_json($msg);
1470 - }
1444 + $url = admin_url( 'admin.php?page=cbxgooglemap_settings' );
1471 1445
1472 - //before hooks
1473 - do_action('cbxgooglemap_plugin_reset_section_before');
1446 + $msg = [];
1447 + $msg['message'] = esc_html__( 'Comfort Google Map setting section reset successfully', 'cbxgooglemap' );
1448 + $msg['success'] = 1;
1449 + $msg['url'] = $url;
1474 1450
1451 + if ( ! current_user_can( 'manage_options' ) ) {
1452 + $msg['message'] = esc_html__( 'Sorry, you don\'t have enough permission', 'cbxgooglemap' );
1453 + $msg['success'] = 0;
1454 + wp_send_json( $msg );
1455 + }
1475 1456
1476 - //delete the section
1477 - delete_option($section);
1457 + $section = isset( $_POST['section'] ) ? sanitize_text_field( wp_unslash( $_POST['section'] ) ) : '';
1458 + if ( $section == '' ) {
1459 + $msg['message'] = esc_html__( 'Option section setting failed, as no section id is empty', 'cbxgooglemap' );
1460 + $msg['success'] = 0;
1461 + wp_send_json( $msg );
1462 + }
1478 1463
1479 - //after hoooks
1480 - do_action('cbxgooglemap_plugin_reset_section_after');
1481 - do_action('cbxgooglemap_plugin_reset_section');
1464 + //before hooks
1465 + do_action( 'cbxgooglemap_plugin_reset_section_before' );
1482 1466
1483 - wp_send_json($msg);
1484 - }//end method plugin_reset_section
1467 +
1468 + //delete the section
1469 + delete_option( $section );
1470 +
1471 + //after hoooks
1472 + do_action( 'cbxgooglemap_plugin_reset_section_after' );
1473 + do_action( 'cbxgooglemap_plugin_reset_section' );
1474 +
1475 + wp_send_json( $msg );
1476 + }//end method plugin_reset_section
1485 1477 }//end class CBXGoogleMapAdmin