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