PluginProbe ʕ •ᴥ•ʔ
Interactive Image Map Builder / 1.7
Interactive Image Map Builder v1.7
3.2 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 3.1
interactive-image-map-builder / shortcode.php
interactive-image-map-builder Last commit date
assets 2 years ago settings 2 years ago functions.php 2 years ago header.php 2 years ago home.php 2 years ago index.php 2 years ago license.php 2 years ago output-common-css.css 2 years ago output-css.php 2 years ago readme.txt 2 years ago shortcode.php 2 years ago template-menu.php 2 years ago
shortcode.php
152 lines
1 <?php
2 global $wpdb;
3 $style_table = $wpdb->prefix . 'isimb_6310_style';
4 $font_awesome = isimb_6310_get_option('isimb_6310_font_awesome_status');
5 $closeIcon = isimb_6310_get_option('isimb_6310_close_icon');
6 $desktopSize = isimb_6310_get_option('isimb_6310_desktop_size');
7 $mobileSize = isimb_6310_get_option('isimb_6310_mobile_size');
8
9 $closeIcon = $closeIcon? esc_attr($closeIcon) : 'https://wpmart.org/wp-content/uploads/2022/08/close.png';
10 $desktopSize = $desktopSize ? esc_attr($desktopSize) : 30;
11 $mobileSize = $mobileSize ? esc_attr($mobileSize) : 20;
12
13
14 wp_enqueue_script('jquery');
15
16 $cssData = [];
17 if ($ids) {
18 $styledata = $wpdb->get_row($wpdb->prepare("SELECT * FROM $style_table WHERE id = %d ", $ids), ARRAY_A);
19 if(!$styledata) return;
20 $css = explode("!!##!!", $styledata['css']);
21 $key = explode(",", $css[0]);
22 $value = explode("||##||", $css[1]);
23 $filterKey = [];
24 $filterValue = [];
25 for ($i = 0; $i < count($key); $i++) {
26 $filterKey[] = esc_attr($key[$i]);
27 }
28 for ($i = 0; $i < count($value); $i++) {
29 $filterValue[] = esc_attr($value[$i]);
30 }
31 $cssData = array_combine($filterKey, $filterValue);
32 }
33 $jsonData = isset($cssData['json_data']) ? json_decode(stripslashes(html_entity_decode($cssData['json_data']))) : [];
34 $font_awesome = isimb_6310_get_option('isimb_6310_font_awesome_status');
35 if($font_awesome != 1){
36 wp_enqueue_style('isimb-6310-font-awesome-5-0-13', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css');
37 wp_enqueue_style('isimb-6310-font-awesome-4-07', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
38 }
39 wp_enqueue_style('isimb-6310-jquery-ui-css', 'https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css');
40 wp_enqueue_script('isimb-6310-jquery-ui', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js', array('jquery'), TRUE);
41 wp_enqueue_style('isimb-6310-owl-carousel', plugins_url('output-common-css.css', __FILE__));
42 include isimb_6310_plugin_url . "output-css.php";
43
44
45 ?>
46 <div class="isimb-6310-builder-box isimb-6310-builder-box-<?php echo $ids; ?>" data-id="<?php echo $ids; ?>">
47 <svg class="isimb-6310-main-svg isimb-6310-main-svg-<?php echo $ids ?>">
48 <?php
49 if ($jsonData) {
50 $counter = 1;
51 foreach ($jsonData as $js) {
52 $jsonCode = json_encode($js);
53 if($js->viewMoodType == 2){
54 $classlist= "isimb-6310-pol-loaded isimb-6310-pol-{$ids}-{$counter} isimb-6310-modal-element";
55 }else{
56 $classlist= "isimb-6310-pol-loaded isimb-6310-pol-{$ids}-{$counter}";
57 }
58
59 $url = '';
60 if(isset($js->linkURL) && $js->linkURL) {
61 $url = "data-link-url='{$js->linkURL}'" . (isset($js->openNewTab) && $js->openNewTab ? ' data-target="_blank" ' : '');
62 }
63 echo "<polygon title='' data-id='{$ids}-{$counter}' {$url} class= '{$classlist}' data-json='".esc_attr($jsonCode)."' />";
64 $pointCssCode = "
65 .ui-tooltip{
66 padding:0 !important;
67 }
68 .ui-widget-content{
69 border: none !important;
70 background: none;
71 }
72 .ui-widget-shadow{
73 box-shadow: none;
74 }
75 .isimb-6310-main-svg .isimb-6310-pol-{$ids}-{$counter}{
76 fill: ".esc_attr($js->selectAreaColor)." !important;
77 stroke:".esc_attr($js->areaBorderColor)." !important;
78 stroke-width:".esc_attr($js->areaBorderSize)."px !important;
79 }
80 .isimb-6310-main-svg .isimb-6310-pol-{$ids}-{$counter}:hover{
81 fill: ".esc_attr($js->selectAreaHoverColor)." !important;
82 stroke:".esc_attr($js->areaBorderHoverColor)." !important;
83 stroke-width:".esc_attr($js->areaBorderSize)."px !important;
84 cursor: pointer;
85 filter: drop-shadow(0px 0px ".esc_attr($js->areaShadowith)."px ".esc_attr($js->areaShadowColor).");
86 }
87 ";
88 wp_register_style( "isimb-6310-template-{$ids}-{$counter}-css", "" );
89 wp_enqueue_style( "isimb-6310-template-{$ids}-{$counter}-css" );
90 wp_add_inline_style( "isimb-6310-template-{$ids}-{$counter}-css", $pointCssCode );
91
92 if($counter == 4) break;
93 $counter++;
94 }
95 }
96 ?>
97 </svg>
98 <?php
99 $counter = 1;
100 foreach ($jsonData as $js) {
101 isimb_6310_load_templates($js, $counter, $ids);
102 $counter++;
103 }
104 ?>
105 <img src="<?php echo isset($cssData['main_image']) ? $cssData['main_image'] : '' ?>" class="isimb-6310-main-image isimb-6310-img" data-isimb-cls="isimb-6310-main-image isimb-6310-img" data-isimb-value="<?php echo isset($cssData['main_image']) ? $cssData['main_image'] : '' ?>" />
106 <?php
107 $pointCssCode = "
108 .isimb-6310-main-svg-{$ids}{
109 background-image: url(".(isset($cssData['main_image']) ? $cssData['main_image'] : '').");
110 }
111 ";
112 wp_register_style( "isimb-6310-template-main-css-{$ids}", "" );
113 wp_enqueue_style( "isimb-6310-template-main-css-{$ids}" );
114 wp_add_inline_style( "isimb-6310-template-main-css-{$ids}", $pointCssCode );
115 ?>
116
117 </div>
118
119 <?php
120 $customCSS = $cssData['custom_css'];
121 $customCSS .= "
122 .isimb-6310-close-button{
123 width: {$desktopSize}px;
124 height: {$desktopSize}px;
125 background-image: url('{$closeIcon}');
126 right: -".($desktopSize/2)."px;
127 top: -".($desktopSize/2)."px;
128 background-size: cover;
129 }
130 .isimb-6310-close-button-mobile{
131 display: none;
132 }
133 @media screen and (max-width: 767px) {
134 .isimb-6310-close-button{
135 width: {$mobileSize}px;
136 height: {$mobileSize}px;
137 right: -".($mobileSize/2)."px;
138 top: -".($mobileSize/2)."px;
139 background-size: cover;
140 }
141 .isimb-6310-close-button-mobile{
142 display: block;
143 }
144 }
145 ";
146
147 wp_register_style("isimb-6310-custom-code-" . esc_attr($ids) . "-css", "");
148 wp_enqueue_style("isimb-6310-custom-code-" . esc_attr($ids) . "-css");
149 wp_add_inline_style("isimb-6310-custom-code-" . esc_attr($ids) . "-css", $customCSS);
150
151 wp_enqueue_script('isimb-6310-output', plugins_url('assets/js/main-output-file.js', __FILE__), array('jquery'), TRUE);
152 ?>