PluginProbe
Image Hotspot – Map Image Annotation / 3.2
Image Hotspot – Map Image Annotation v3.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 3.2, at shortcode.php

102 lines 4.1 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-font-awesome-all', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');
26 wp_enqueue_style('imh-6310-owl-carousel', plugins_url('output-common-css.css', __FILE__));
27 include imh_6310_plugin_url . "output-css.php";
28 ?>
29 <style>.imh-6310-point-icons{display: none}</style>
30 <div class="imh-6310-annotation-box imh-6310-annotation-box-<?php echo $ids; ?>" data-id="<?php echo $ids; ?>">
31 <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'] : '' ?>" alt="<?php echo esc_attr($styledata['name']) ?>" />
32 <?php
33 if ($jsonData) {
34
35 $counter = 1;
36
37 foreach ($jsonData as $js) {
38 $jsonCode = json_encode($js);
39
40 if (!$js->fontAwesomeIcon && !$js->fontAwesomeHoverIcon) {
41 continue;
42 }
43 if (!$js->fontAwesomeIcon) {
44 $fontAwesomeIcon = $js->fontAwesomeHoverIcon;
45 $fontAwesomeHoverIcon = $js->fontAwesomeHoverIcon;
46 }
47 else if (!$js->fontAwesomeHoverIcon) {
48 $fontAwesomeIcon = $js->fontAwesomeIcon;
49 $fontAwesomeHoverIcon = $js->fontAwesomeIcon;
50 } else {
51 $fontAwesomeIcon = $js->fontAwesomeIcon;
52 $fontAwesomeHoverIcon = $js->fontAwesomeHoverIcon;
53 }
54 $points = "
55 <i class='{$fontAwesomeIcon} imh-6310-pin-main-img'></i>
56 <i class='{$fontAwesomeHoverIcon} imh-6310-pin-hover-img'></i>
57 ";
58
59
60 echo "
61 <div data-id='{$counter}' data-json='{$jsonCode}' class='imh-6310-drag imh-6310-point-{$ids}-{$counter}' style='display: none'>
62 <div class='imh-6310-point-icons'>
63 {$points}
64 </div>
65 </div>
66 ";
67 imh_6310_load_templates($js, $counter, $ids);
68 $pointCssCode = "
69 .imh-6310-point-{$ids}-{$counter} .imh-6310-tooltip{
70 background: #FFF;
71 color: #000;
72 font-size: 16px;
73 }
74 ";
75
76 $pointCssCode .= "
77 .imh-6310-point-{$ids}-{$counter} .imh-6310-pin-main-img {
78 color: ".esc_attr($js->fontAwesomeIconColor)." !important;
79 font-size:".esc_attr($js->fontAwesomIconSize)."px !important;
80 }
81 .imh-6310-point-{$ids}-{$counter} .imh-6310-pin-hover-img {
82 color: ".esc_attr($js->fontAwesomeIconHoverColor)." !important;
83 font-size:".esc_attr($js->fontAwesomIconSize)."px !important;
84 }
85 ";
86 wp_register_style("imh-6310-template-" . esc_attr($counter) . "-css", "");
87 wp_enqueue_style("imh-6310-template-" . esc_attr($counter) . "-css");
88 wp_add_inline_style("imh-6310-template-" . esc_attr($counter) . "-css", $pointCssCode);
89 $counter++;
90 if($counter == 7){
91 break;
92 }
93 }
94 }
95
96
97 ?>
98 </div>
99
100 <?php
101 wp_enqueue_script('imh-6310-output', plugins_url('assets/js/main-output-file.js', __FILE__), array('jquery'), TRUE);
102 ?>