PluginProbe ʕ •ᴥ•ʔ
Interactive Image Map Builder / 1.2
Interactive Image Map Builder v1.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 3 years ago settings 3 years ago functions.php 3 years ago header.php 3 years ago home.php 3 years ago index.php 3 years ago license.php 3 years ago output-common-css.css 3 years ago output-css.php 3 years ago readme.txt 3 years ago shortcode.php 3 years ago template-menu.php 3 years ago
shortcode.php
149 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 <div class="isimb-6310-builder-box isimb-6310-builder-box-<?php echo $ids; ?>" data-id="<?php echo $ids; ?>">
45 <svg class="isimb-6310-main-svg isimb-6310-main-svg-<?php echo $ids ?>">
46 <?php
47 if ($jsonData) {
48 $counter = 1;
49 foreach ($jsonData as $js) {
50 $jsonCode = json_encode($js);
51 if($js->viewMoodType == 2){
52 $classlist= "isimb-6310-pol-loaded isimb-6310-pol-{$ids}-{$counter} isimb-6310-modal-element";
53 }else{
54 $classlist= "isimb-6310-pol-loaded isimb-6310-pol-{$ids}-{$counter}";
55 }
56
57 $url = '';
58 if(isset($js->linkURL) && $js->linkURL) {
59 $url = "data-link-url='{$js->linkURL}'" . (isset($js->openNewTab) && $js->openNewTab ? ' data-target="_blank" ' : '');
60 }
61 echo "<polygon title='' data-id='{$ids}-{$counter}' {$url} class= '{$classlist}' data-json='".esc_attr($jsonCode)."' />";
62 $pointCssCode = "
63 .ui-tooltip{
64 padding:0 !important;
65 }
66 .ui-widget-content{
67 border: none !important;
68 background: none;
69 }
70 .ui-widget-shadow{
71 box-shadow: none;
72 }
73 .isimb-6310-main-svg .isimb-6310-pol-{$ids}-{$counter}{
74 fill: ".esc_attr($js->selectAreaColor)." !important;
75 stroke:".esc_attr($js->areaBorderColor)." !important;
76 stroke-width:".esc_attr($js->areaBorderSize)."px !important;
77 }
78 .isimb-6310-main-svg .isimb-6310-pol-{$ids}-{$counter}:hover{
79 fill: ".esc_attr($js->selectAreaHoverColor)." !important;
80 stroke:".esc_attr($js->areaBorderHoverColor)." !important;
81 stroke-width:".esc_attr($js->areaBorderSize)."px !important;
82 cursor: pointer;
83 filter: drop-shadow(0px 0px ".esc_attr($js->areaShadowith)."px ".esc_attr($js->areaShadowColor).");
84 }
85 ";
86 wp_register_style( "isimb-6310-template-{$ids}-{$counter}-css", "" );
87 wp_enqueue_style( "isimb-6310-template-{$ids}-{$counter}-css" );
88 wp_add_inline_style( "isimb-6310-template-{$ids}-{$counter}-css", $pointCssCode );
89 $counter++;
90 if($counter == 4) break;
91 }
92 }
93 ?>
94 </svg>
95 <?php
96 $counter = 1;
97 foreach ($jsonData as $js) {
98 isimb_6310_load_templates($js, $counter, $ids);
99 $counter++;
100 }
101 ?>
102 <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'] : '' ?>" />
103 <?php
104 $pointCssCode = "
105 .isimb-6310-main-svg-{$ids}{
106 background-image: url(".(isset($cssData['main_image']) ? $cssData['main_image'] : '').");
107 }
108 ";
109 wp_register_style( "isimb-6310-template-main-css-{$ids}", "" );
110 wp_enqueue_style( "isimb-6310-template-main-css-{$ids}" );
111 wp_add_inline_style( "isimb-6310-template-main-css-{$ids}", $pointCssCode );
112 ?>
113
114 </div>
115
116 <?php
117 $customCSS = $cssData['custom_css'];
118 $customCSS .= "
119 .isimb-6310-close-button{
120 width: {$desktopSize}px;
121 height: {$desktopSize}px;
122 background-image: url('{$closeIcon}');
123 right: -".($desktopSize/2)."px;
124 top: -".($desktopSize/2)."px;
125 background-size: cover;
126 }
127 .isimb-6310-close-button-mobile{
128 display: none;
129 }
130 @media screen and (max-width: 767px) {
131 .isimb-6310-close-button{
132 width: {$mobileSize}px;
133 height: {$mobileSize}px;
134 right: -".($mobileSize/2)."px;
135 top: -".($mobileSize/2)."px;
136 background-size: cover;
137 }
138 .isimb-6310-close-button-mobile{
139 display: block;
140 }
141 }
142 ";
143
144 wp_register_style("isimb-6310-custom-code-" . esc_attr($ids) . "-css", "");
145 wp_enqueue_style("isimb-6310-custom-code-" . esc_attr($ids) . "-css");
146 wp_add_inline_style("isimb-6310-custom-code-" . esc_attr($ids) . "-css", $customCSS);
147
148 wp_enqueue_script('isimb-6310-output', plugins_url('assets/js/main-output-file.js', __FILE__), array('jquery'), TRUE);
149 ?>