PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 1.3.3
Shortcodes and extra features for Phlox theme v1.3.3
2.17.22 2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elements / gmap.php
auxin-elements / includes / elements Last commit date
about-widget.php 9 years ago accordion-api.php 9 years ago accordion.php 9 years ago attachment-url.php 9 years ago audio.php 9 years ago before-after.php 9 years ago button.php 9 years ago code.php 9 years ago contact-box.php 9 years ago contact-form.php 9 years ago divider.php 9 years ago dropcap.php 9 years ago facebook.php 9 years ago flickr.php 9 years ago gallery.php 9 years ago gmap.php 9 years ago highlight.php 9 years ago image.php 9 years ago instagram-feed.php 9 years ago latest-items.php 10 years ago latest-posts-slider.php 9 years ago popular-posts-widget.php 9 years ago quote.php 9 years ago recent-posts-grid-carousel.php 9 years ago recent-posts-land-style.php 9 years ago recent-posts-masonry.php 9 years ago recent-posts-tiles.php 9 years ago recent-posts-timeline.php 9 years ago recent-posts-widget.php 9 years ago recent-posts.php 9 years ago related-posts.php 9 years ago sample-element.php 9 years ago search.php 9 years ago slider.php 9 years ago socials-list.php 9 years ago tabs-api.php 9 years ago tabs.php 9 years ago text.php 9 years ago touch-slider.php 9 years ago video.php 9 years ago
gmap.php
313 lines
1 <?php
2 /**
3 * Google Map element
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author
9 * @link http://averta.net/phlox/
10 * @copyright (c) 2010-2017
11 */
12 function auxin_get_gmap_master_array( $master_array ) {
13
14 $master_array['aux_gmaps'] = array(
15 'name' => __('[Phlox] Map ', 'auxin-elements' ),
16 'auxin_output_callback' => 'auxin_widget_gmaps_callback',
17 'base' => 'aux_gmaps',
18 'description' => __('Google map block', 'auxin-elements' ),
19 'class' => 'aux-widget-gmaps',
20 'show_settings_on_create' => true,
21 'weight' => 1,
22 'category' => THEME_NAME,
23 'group' => '',
24 'admin_enqueue_js' => '',
25 'admin_enqueue_css' => '',
26 'front_enqueue_js' => '',
27 'front_enqueue_css' => '',
28 'icon' => 'auxin-element auxin-google-maps',
29 'custom_markup' => '',
30 'js_view' => '',
31 'html_template' => '',
32 'deprecated' => '',
33 'content_element' => '',
34 'as_parent' => '',
35 'as_child' => '',
36 'params' => array(
37 array(
38 'heading' => __('Title','auxin-elements' ),
39 'description' => __('Map title, leave it empty if you don`t need title.', 'auxin-elements'),
40 'param_name' => 'title',
41 'type' => 'textfield',
42 'value' => '',
43 'holder' => 'textfield',
44 'class' => 'title',
45 'admin_label' => true,
46 'dependency' => '',
47 'weight' => '',
48 'group' => '' ,
49 'edit_field_class' => ''
50 ),
51 array(
52 'heading' => __('Height','auxin-elements' ),
53 'description' => '',
54 'param_name' => 'height',
55 'type' => 'textfield',
56 'value' => '700',
57 'def_value' => '700',
58 'holder' => 'textfield',
59 'class' => 'height',
60 'admin_label' => true,
61 'dependency' => '',
62 'weight' => '',
63 'group' => '' ,
64 'edit_field_class' => ''
65 ),
66 array(
67 'heading' => __('Latitude','auxin-elements' ),
68 'description' => __('Latitude location over the map.','auxin-elements' ),
69 'param_name' => 'latitude',
70 'type' => 'textfield',
71 'value' => '52',
72 'def_value' => '52',
73 'holder' => 'textfield',
74 'class' => 'latitude',
75 'admin_label' => true,
76 'dependency' => '',
77 'weight' => '',
78 'group' => '' ,
79 'edit_field_class' => ''
80 ),
81 array(
82 'heading' => __('Longitude','auxin-elements' ),
83 'description' => __('Longitude location over the map.','auxin-elements' ),
84 'param_name' => 'longitude',
85 'type' => 'textfield',
86 'value' => '14',
87 'def_value' => '14',
88 'holder' => 'textfield',
89 'class' => 'longitude',
90 'admin_label' => true,
91 'dependency' => '',
92 'weight' => '',
93 'group' => '' ,
94 'edit_field_class' => ''
95 ),
96 array(
97 'heading' => __('Map type','auxin-elements' ),
98 'description' => '',
99 'param_name' => 'type',
100 'type' => 'dropdown',
101 'def_value' => 'ROADMAP',
102 'value' => array( 'ROADMAP' => __('ROADMAP', 'auxin-elements' ), 'SATELLITE' => __('SATELLITE', 'auxin-elements' ) ),
103 'holder' => 'dropdown',
104 'class' => 'type',
105 'admin_label' => true,
106 'dependency' => '',
107 'weight' => '',
108 'group' => '' ,
109 'edit_field_class' => ''
110 ),
111 array(
112 'heading' => __('Map style','auxin-elements' ),
113 'description' => __('This feild allow you to customize the presentation of the standard Google base maps. You can find many preset styles in ', 'auxin-elements' ) .
114 '<a href="https://snazzymaps.com/" target="_blank">' . __('this website.', 'auxin-elements' ) . '</a>' ,
115 'param_name' => 'style',
116 'type' => 'textarea_html',
117 'def_value' => '',
118 'value' => '',
119 'holder' => 'div',
120 'class' => 'style',
121 'admin_label' => false,
122 'dependency' => array(
123 'element' => 'type',
124 'value' => 'ROADMAP'
125 )
126 ),
127 array(
128 'heading' => __('Marker info','auxin-elements' ),
129 'description' => __('Marker popup text, leave it empty if you don\'t need it.', 'auxin-elements' ),
130 'param_name' => 'marker_info',
131 'type' => 'textfield',
132 'value' => '',
133 'def_value' => '',
134 'holder' => 'textfield',
135 'class' => 'marker_info',
136 'admin_label' => true,
137 'dependency' => '',
138 'weight' => '',
139 'group' => '' ,
140 'edit_field_class' => ''
141 ),
142 array(
143 'heading' => __('Navigation control','auxin-elements' ),
144 'description' => __('Show navigation control on map.','auxin-elements' ),
145 'param_name' => 'show_mapcontrols',
146 'type' => 'aux_switch',
147 'def_value' => '',
148 'value' => '1',
149 'holder' => 'dropdown',
150 'class' => 'show_mapcontrols',
151 'admin_label' => true,
152 'dependency' => '',
153 'weight' => '',
154 'group' => 'Extras' ,
155 'edit_field_class' => ''
156 ),
157 array(
158 'heading' => __('Zoom','auxin-elements' ),
159 'description' => '',
160 'param_name' => 'zoom',
161 'type' => 'textfield',
162 'value' => '4',
163 'def_value' => '4',
164 'holder' => 'textfield',
165 'class' => 'zoom',
166 'admin_label' => true,
167 'dependency' => '',
168 'weight' => '',
169 'group' => 'Extras' ,
170 'edit_field_class' => ''
171 ),
172 array(
173 'heading' => __('Zoom with mouse wheel','auxin-elements' ),
174 'description' => '',
175 'param_name' => 'zoom_wheel',
176 'type' => 'aux_switch',
177 'def_value' => '',
178 'value' => '0',
179 'holder' => 'dropdown',
180 'class' => 'zoom_wheel',
181 'admin_label' => true,
182 'dependency' => '',
183 'weight' => '',
184 'group' => 'Extras' ,
185 'edit_field_class' => ''
186 ),
187 array(
188 'heading' => __('Extra class name','auxin-elements' ),
189 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'auxin-elements' ),
190 'param_name' => 'extra_classes',
191 'type' => 'textfield',
192 'value' => '',
193 'def_value' => '',
194 'holder' => 'textfield',
195 'class' => 'extra_classes',
196 'admin_label' => true,
197 'dependency' => '',
198 'weight' => '',
199 'group' => 'Extras' ,
200 'edit_field_class' => ''
201 )
202
203 )
204 );
205
206
207 return $master_array;
208 }
209
210 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_gmap_master_array', 10, 1 );
211
212
213 /**
214 * The front-end output of this element is returned by the following function
215 *
216 * @param array $atts The array containing the parsed values from shortcode, it should be same as defined params above.
217 * @param string $shortcode_content The shorcode content
218 * @return string The output of element markup
219 */
220 function auxin_widget_gmaps_callback( $atts, $shortcode_content = null ){
221
222
223 // Defining default attributes
224 $default_atts = array(
225 'title' => '', // header title
226 'type' => 'ROADMAP',
227 'style' => '',
228 'height' => 700,
229 'latitude' => 40.7,
230 'longitude' => -74,
231 'marker_info' => '', // popup conetent
232 'show_mapcontrols' => 1,
233 'zoom' => 10,
234 'zoom_wheel' => 0,
235 'extra_classes' => '', // custom css class names for this element
236 'custom_el_id' => '', // custom id attribute for this element
237 'base_class' => 'aux-widget-gmaps' // base class name for container
238 );
239
240 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
241 extract( $result['parsed_atts'] );
242
243 // widget header ------------------------------
244 echo $result['widget_header'];
245 echo $result['widget_title'];
246
247 $mapid = uniqid("axi_map");
248
249 if ( empty( $style ) ) {
250 $style = auxin_get_gmap_style();
251 }
252
253 ob_start();
254 ?>
255
256
257 <div class="aux-col-wrapper aux-no-gutter">
258 <div id="<?php echo $mapid; ?>" class="aux_map_wrapper <?php echo $extra_classes; ?>" style="height:<?php echo $height; ?>px" ></div>
259
260 <script>
261 (function($, window, document, undefined){
262 "use strict";
263
264 $(function(){
265 if(typeof GMaps != 'function'){
266 console.warn( "Please add google map API key in theme options. https://developers.google.com/maps/documentation/javascript/" );
267 return;
268 }
269 var map = new GMaps({
270 el: "#<?php echo $mapid; ?>",
271 lat: <?php echo $latitude; ?>,
272 lng: <?php echo $longitude; ?>,
273 zoom: <?php echo $zoom; ?>,
274 scrollwheel: <?php echo $zoom_wheel; ?>,
275 <?php if($type == "SATELLITE"){ ?>
276 mapTypeId: google.maps.MapTypeId.SATELLITE,
277 <?php } else { ?> mapTypeId: google.maps.MapTypeId.ROADMAP,
278 <?php }
279 if ( $show_mapcontrols == false ) { ?>
280 disableDefaultUI: true,
281 <?php }?>
282 panControl : true
283 });
284
285 <?php if($type == "ROADMAP"){ ?>
286 map.addStyle({
287 styledMapName:"Auxin custom style map",
288 styles: <?php echo $style; ?>,
289 mapTypeId: "aux_map_style"
290 });
291
292 map.setStyle("aux_map_style");
293 <?php } ?>
294 map.addMarker({
295 <?php if ( !empty( $marker_info ) ) { ?>
296 infoWindow: { content: "<?php echo $marker_info; ?>" },
297 <?php }?>
298 lat: <?php echo $latitude; ?>,
299 lng: <?php echo $longitude; ?>
300 });
301 });
302
303 })(jQuery, window, document);
304
305 </script>
306
307 </div><!-- aux-col-wrapper -->
308
309 <?php
310 echo $result['widget_footer'];
311 return ob_get_clean();
312 }
313