PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 1.0.2
Shortcodes and extra features for Phlox theme v1.0.2
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.php 9 years ago attachment-url.php 9 years ago audio.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 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 9 years ago latest-posts-slider.php 9 years ago quote.php 9 years ago recent-posts-widget.php 9 years ago recent-posts.php 9 years ago sample-element.php 9 years ago search.php 9 years ago socials-list.php 9 years ago tabs.php 9 years ago text.php 9 years ago video.php 9 years ago
gmap.php
309 lines
1 <?php
2 /**
3 * Google Map element
4 *
5 *
6 * @package auxin-elements
7 * @license LICENSE.txt
8 * @author
9 * @link https://bitbucket.org/averta/
10 * @copyright (c) 2010-2016
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 'param_name' => 'title',
39 'type' => 'textfield',
40 'value' => '',
41 'holder' => 'textfield',
42 'class' => 'title',
43 'heading' => __('Title','auxin-elements' ),
44 'description' => '',
45 'admin_label' => true,
46 'dependency' => '',
47 'weight' => '',
48 'group' => '' ,
49 'edit_field_class' => ''
50 ),
51 array(
52 'param_name' => 'height',
53 'type' => 'textfield',
54 'value' => '700',
55 'def_value' => '700',
56 'holder' => 'textfield',
57 'class' => 'height',
58 'heading' => __('Height','auxin-elements' ),
59 'description' => '',
60 'admin_label' => true,
61 'dependency' => '',
62 'weight' => '',
63 'group' => '' ,
64 'edit_field_class' => ''
65 ),
66 array(
67 'param_name' => 'latitude',
68 'type' => 'textfield',
69 'value' => '52',
70 'def_value' => '52',
71 'holder' => 'textfield',
72 'class' => 'latitude',
73 'heading' => __('Latitude','auxin-elements' ),
74 'description' => __('Latitude location over the map.','auxin-elements' ),
75 'admin_label' => true,
76 'dependency' => '',
77 'weight' => '',
78 'group' => '' ,
79 'edit_field_class' => ''
80 ),
81 array(
82 'param_name' => 'longitude',
83 'type' => 'textfield',
84 'value' => '14',
85 'def_value' => '14',
86 'holder' => 'textfield',
87 'class' => 'longitude',
88 'heading' => __('Longitude','auxin-elements' ),
89 'description' => __('Longitude location over the map.','auxin-elements' ),
90 'admin_label' => true,
91 'dependency' => '',
92 'weight' => '',
93 'group' => '' ,
94 'edit_field_class' => ''
95 ),
96 array(
97 'param_name' => 'type',
98 'type' => 'dropdown',
99 'def_value' => 'ROADMAP',
100 'value' => array( 'ROADMAP' => __('ROADMAP', 'auxin-elements' ), 'SATELLITE' => __('SATELLITE', 'auxin-elements' ) ),
101 'holder' => 'dropdown',
102 'class' => 'type',
103 'heading' => __('Map Type','auxin-elements' ),
104 'description' => '',
105 'admin_label' => true,
106 'dependency' => '',
107 'weight' => '',
108 'group' => '' ,
109 'edit_field_class' => ''
110 ),
111 array(
112 'param_name' => 'style',
113 'type' => 'textarea_html',
114 'def_value' => '',
115 'value' => '',
116 'holder' => 'div',
117 'class' => 'style',
118 'heading' => __('Map Style','auxin-elements' ),
119 'description' => __('This feild allow you to customize the presentation of the standard Google base maps. You can find many preset styles in ', 'auxin-elements' ) .
120 '<a href="https://snazzymaps.com/" target="_blank">' . __('this website.', 'auxin-elements' ) . '</a>' ,
121 'admin_label' => false,
122 'dependency' => array(
123 'element' => 'type',
124 'value' => 'ROADMAP'
125 )
126 ),
127 array(
128 'param_name' => 'marker_info',
129 'type' => 'textfield',
130 'value' => '',
131 'def_value' => '',
132 'holder' => 'textfield',
133 'class' => 'marker_info',
134 'heading' => __('Marker Info','auxin-elements' ),
135 'description' => __('Marker popup text, leave it empty if you don\'t need it.', 'auxin-elements' ),
136 'admin_label' => true,
137 'dependency' => '',
138 'weight' => '',
139 'group' => '' ,
140 'edit_field_class' => ''
141 ),
142 array(
143 'param_name' => 'show_mapcontrols',
144 'type' => 'aux_switch',
145 'def_value' => '',
146 'value' => '1',
147 'holder' => 'dropdown',
148 'class' => 'show_mapcontrols',
149 'heading' => __('Navigation control','auxin-elements' ),
150 'description' => __('Show navigation control on map.','auxin-elements' ),
151 'admin_label' => true,
152 'dependency' => '',
153 'weight' => '',
154 'group' => '' ,
155 'edit_field_class' => ''
156 ),
157 array(
158 'param_name' => 'zoom',
159 'type' => 'textfield',
160 'value' => '4',
161 'def_value' => '4',
162 'holder' => 'textfield',
163 'class' => 'zoom',
164 'heading' => __('Zoom','auxin-elements' ),
165 'description' => '',
166 'admin_label' => true,
167 'dependency' => '',
168 'weight' => '',
169 'group' => '' ,
170 'edit_field_class' => ''
171 ),
172 array(
173 'param_name' => 'zoom_wheel',
174 'type' => 'aux_switch',
175 'def_value' => '',
176 'value' => '0',
177 'holder' => 'dropdown',
178 'class' => 'zoom_wheel',
179 'heading' => __('Zoom with mouse wheel','auxin-elements' ),
180 'description' => '',
181 'admin_label' => true,
182 'dependency' => '',
183 'weight' => '',
184 'group' => '' ,
185 'edit_field_class' => ''
186 ),
187 array(
188 'param_name' => 'extra_classes',
189 'type' => 'textfield',
190 'value' => '',
191 'def_value' => '',
192 'holder' => 'textfield',
193 'class' => 'extra_classes',
194 'heading' => __('Extra class name','auxin-elements' ),
195 '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' ),
196 'admin_label' => true,
197 'dependency' => '',
198 'weight' => '',
199 'group' => '' ,
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
248 // enqueue google map scripts
249 wp_enqueue_script ('gmaps');
250
251 $mapid = uniqid("axi_map");
252
253 if ( empty( $style ) ) {
254 $style = auxin_get_gmap_style();
255 }
256
257 ob_start();
258 ?>
259
260
261 <div class="aux-col-wrapper aux-no-gutter">
262 <div id="<?php echo $mapid; ?>" class="aux_map_wrapper <?php echo $extra_classes; ?>" style="height:<?php echo $height; ?>px" ></div>
263
264 <script>
265
266 jQuery( function($) {
267 var map = new GMaps({
268 el: "#<?php echo $mapid; ?>",
269 lat: <?php echo $latitude; ?>,
270 lng: <?php echo $longitude; ?>,
271 zoom: <?php echo $zoom; ?>,
272 scrollwheel: <?php echo $zoom_wheel; ?>,
273 <?php if($type == "SATELLITE"){ ?>
274 mapTypeId: google.maps.MapTypeId.SATELLITE,
275 <?php } else { ?> mapTypeId: google.maps.MapTypeId.ROADMAP,
276 <?php }
277 if ( $show_mapcontrols == false ) { ?>
278 disableDefaultUI: true,
279 <?php }?>
280 panControl : true
281 });
282
283 <?php if($type == "ROADMAP"){ ?>
284 map.addStyle({
285 styledMapName:"Auxin custom style map",
286 styles: <?php echo $style; ?>,
287 mapTypeId: "aux_map_style"
288 });
289
290 map.setStyle("aux_map_style");
291 <?php } ?>
292 map.addMarker({
293 <?php if ( !empty( $marker_info ) ) { ?>
294 infoWindow: { content: "<?php echo $marker_info; ?>" },
295 <?php }?>
296 lat: <?php echo $latitude; ?>,
297 lng: <?php echo $longitude; ?>
298 });
299 });
300
301 </script>
302
303 </div><!-- aux-col-wrapper -->
304
305 <?php
306 echo $result['widget_footer'];
307 return ob_get_clean();
308 }
309