PluginProbe
Image Hotspot – Map Image Annotation / 2.2
Image Hotspot – Map Image Annotation v2.2
3.8 3.7 3.6 trunk 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 All 30 releases
image-map-hotspots / shortcode.php

shortcode.php in Image Hotspot – Map Image Annotation 2.2, at shortcode.php

103 lines 4.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 global $wpdb;
3 $style_table = $wpdb->prefix . 'imh_6310_style';
4
5
6 $cssData = [];
7 if ($ids) {
8 $styledata = $wpdb->get_row($wpdb->prepare("SELECT * FROM $style_table WHERE id = %d ", $ids), ARRAY_A);
9 if(!$styledata) return;
10 $css = explode("!!##!!", $styledata['css']);
11 $key = explode(",", $css[0]);
12 $value = explode("||##||", $css[1]);
13 $filterKey = [];
14 $filterValue = [];
15 for ($i = 0; $i < count($key); $i++) {
16 $filterKey[] = esc_attr($key[$i]);
17 }
18 for ($i = 0; $i < count($value); $i++) {
19 $filterValue[] = esc_attr($value[$i]);
20 }
21 $cssData = array_combine($filterKey, $filterValue);
22 }
23 $jsonData = isset($cssData['json_data']) ? json_decode(stripslashes(html_entity_decode($cssData['json_data']))) : [];
24
25 wp_enqueue_style('imh-6310-font-awesome-5-0-13', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css');
26 wp_enqueue_style('imh-6310-font-awesome-4-07', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
27 wp_enqueue_style('imh-6310-owl-carousel', plugins_url('output-common-css.css', __FILE__));
28 include imh_6310_plugin_url . "output-css.php";
29 ?>
30 <style>.imh-6310-point-icons{display: none}</style>
31 <div class="imh-6310-annotation-box imh-6310-annotation-box-<?php echo $ids; ?>" data-id="<?php echo $ids; ?>">
32 <img src="<?php echo isset($cssData['main_image']) ? $cssData['main_image'] : '' ?>" class="imh-6310-main-image imh-6310-img" data-imh-cls="imh-6310-main-image imh-6310-img" data-imh-value="<?php echo isset($cssData['main_image']) ? $cssData['main_image'] : '' ?>" />
33 <?php
34 if ($jsonData) {
35
36 $counter = 1;
37
38 foreach ($jsonData as $js) {
39 $jsonCode = json_encode($js);
40
41 if (!$js->fontAwesomeIcon && !$js->fontAwesomeHoverIcon) {
42 continue;
43 }
44 if (!$js->fontAwesomeIcon) {
45 $fontAwesomeIcon = $js->fontAwesomeHoverIcon;
46 $fontAwesomeHoverIcon = $js->fontAwesomeHoverIcon;
47 }
48 else if (!$js->fontAwesomeHoverIcon) {
49 $fontAwesomeIcon = $js->fontAwesomeIcon;
50 $fontAwesomeHoverIcon = $js->fontAwesomeIcon;
51 } else {
52 $fontAwesomeIcon = $js->fontAwesomeIcon;
53 $fontAwesomeHoverIcon = $js->fontAwesomeHoverIcon;
54 }
55 $points = "
56 <i class='{$fontAwesomeIcon} imh-6310-pin-main-img'></i>
57 <i class='{$fontAwesomeHoverIcon} imh-6310-pin-hover-img'></i>
58 ";
59
60
61 echo "
62 <div data-id='{$counter}' data-json='{$jsonCode}' class='imh-6310-drag imh-6310-point-{$ids}-{$counter}' style='display: none'>
63 <div class='imh-6310-point-icons'>
64 {$points}
65 </div>
66 </div>
67 ";
68 imh_6310_load_templates($js, $counter, $ids);
69 $pointCssCode = "
70 .imh-6310-point-{$ids}-{$counter} .imh-6310-tooltip{
71 background: #FFF;
72 color: #000;
73 font-size: 16px;
74 }
75 ";
76
77 $pointCssCode .= "
78 .imh-6310-point-{$ids}-{$counter} .imh-6310-pin-main-img {
79 color: ".esc_attr($js->fontAwesomeIconColor)." !important;
80 font-size:".esc_attr($js->fontAwesomIconSize)."px !important;
81 }
82 .imh-6310-point-{$ids}-{$counter} .imh-6310-pin-hover-img {
83 color: ".esc_attr($js->fontAwesomeIconHoverColor)." !important;
84 font-size:".esc_attr($js->fontAwesomIconSize)."px !important;
85 }
86 ";
87 wp_register_style("imh-6310-template-" . esc_attr($counter) . "-css", "");
88 wp_enqueue_style("imh-6310-template-" . esc_attr($counter) . "-css");
89 wp_add_inline_style("imh-6310-template-" . esc_attr($counter) . "-css", $pointCssCode);
90 $counter++;
91 if($counter == 7){
92 break;
93 }
94 }
95 }
96
97
98 ?>
99 </div>
100
101 <?php
102 wp_enqueue_script('imh-6310-output', plugins_url('assets/js/main-output-file.js', __FILE__), array('jquery'), TRUE);
103 ?>