PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 4.3.8
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v4.3.8
8.7.8 8.7.7 8.7.6 8.7.5 8.7.4 8.7.3 8.7.2 8.7.1 8.7.0 8.6.9 8.6.8 8.6.7 8.6.6 8.6.5 8.6.4 8.6.2 8.6.1 8.6.0 8.5.9 8.5.8 8.5.7 8.5.6 8.5.5 8.5.4 8.5.3 All 534 releases
← All changes | functions.php +463 -478 8.7.04.3.8 View file →
@@ -3,117 +3,23 @@
3 3 * @param $type
4 4 * Display wpwBot Icon ball
5 5 */
6 6 if (!defined('ABSPATH')) exit; // Exit if accessed directly
7 -
8 -
9 -function qcld_custom_search_form( $form ) {
10 - // Add a hidden input to limit search to 'product' post type
11 - if (get_option('wp_chatbot_agent_image') == "custom-agent.png") {
12 - $wp_chatbot_custom_agent_path = get_option('wp_chatbot_custom_agent_path');
13 - } else if (get_option('wp_chatbot_agent_image') != "custom-agent.png") {
14 - $wp_chatbot_custom_agent_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
15 - } else {
16 - $wp_chatbot_custom_agent_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
17 - }
18 - $hidden_field = '<a class="wp-chatbot qc_wpbot_chat_link" id="wp-chatbot-search-btn" data-search-type="product" data-search-term="" style="max-height: 50px; margin-left: 10px;padding: 0 !important;position: absolute;top: -9px;right: -60px;"><img src="'. esc_url($wp_chatbot_custom_agent_path) .'" alt=""></a>';
19 - $block_content = str_replace( '</form>', $hidden_field . '</form>', $form );
20 - return $block_content;
21 -}
22 -if(get_option('wpbot_enable_on_search') == 1 && (get_option('disable_floating_button') != '1') && get_option('disable_wp_chatbot') != 1 ){
23 - add_filter( 'get_search_form', 'qcld_custom_search_form' );
24 - add_filter( 'render_block_core/search', 'qcld_modify_gutenberg_search_block', 10, 2 );
25 -}
26 -
27 -
28 -function qcld_modify_gutenberg_search_block( $block_content, $block ) {
29 - // Add a hidden input to limit search to 'product' post type
30 - if (get_option('wp_chatbot_agent_image') == "custom-agent.png") {
31 - $wp_chatbot_custom_agent_path = get_option('wp_chatbot_custom_agent_path');
32 - } else if (get_option('wp_chatbot_agent_image') != "custom-agent.png") {
33 - $wp_chatbot_custom_agent_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
34 - } else {
35 - $wp_chatbot_custom_agent_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
36 - }
37 - $hidden_field = '<button type="button" class="wp-chatbot qc_wpbot_chat_link" id="wp-chatbot-search-btn" data-search-type="product" data-search-term="" style="max-height: 50px; margin-left: 10px;padding: 0 !important"><img src="'. esc_url($wp_chatbot_custom_agent_path) .'" alt=""></button>';
38 - // Inject the hidden field before the closing </form> tag
39 - $block_content = str_replace( '</div></form>', $hidden_field . '</div></form>', $block_content );
40 - return $block_content;
41 -}
42 -if(get_option('disable_floating_button') != '1'){
43 - add_action('wp_footer', 'wp_chatbot_load_footer_html');
44 -}
45 -add_action( 'admin_footer', 'qcld_style_for_hide_iframe');
46 -function qcld_style_for_hide_iframe(){
7 +add_action('wp_footer', 'wp_chatbot_load_footer_html');
8 +add_action( 'admin_footer', 'qc_style_for_hide_iframe');
9 +function qc_style_for_hide_iframe(){
47 10 ?>
48 11 <script>
49 12 jQuery( document ).ready(function() {
50 13 setInterval(function(){
51 - if(document.querySelector('.wp-block-legacy-widget__edit-preview-iframe')){
52 - document.querySelector('.wp-block-legacy-widget__edit-preview-iframe').addEventListener("load", ev => {
53 - jQuery('.wp-block-legacy-widget__edit-preview-iframe').contents().find('#wp-chatbot-chat-container').hide();
54 - });
55 -
56 - }
14 + document.querySelector('.wp-block-legacy-widget__edit-preview-iframe').addEventListener("load", ev => {
15 + jQuery('.wp-block-legacy-widget__edit-preview-iframe').contents().find('#wp-chatbot-chat-container').hide();
16 + });
57 17 }, 500);
58 18 });
59 19 </script>
60 20 <?php
61 21 }
62 -/**
63 - * Extract a YouTube video ID from common URL formats.
64 - *
65 - * @param string $url YouTube watch, embed, short, or youtu.be URL.
66 - * @return string Video ID or empty string.
67 - */
68 -if ( ! function_exists( 'qcld_wpbot_extract_youtube_id' ) ) {
69 - function qcld_wpbot_extract_youtube_id( $url ) {
70 - $url = trim( (string) $url );
71 - if ( $url === '' ) {
72 - return '';
73 - }
74 -
75 - if ( preg_match( '/(?:youtube\.com\/(?:embed\/|shorts\/|live\/|watch\?(?:.*&)?v=)|youtu\.be\/)([A-Za-z0-9_-]{11})/', $url, $matches ) ) {
76 - return $matches[1];
77 - }
78 -
79 - $path = (string) wp_parse_url( $url, PHP_URL_PATH );
80 - $base = basename( $path );
81 - if ( preg_match( '/^[A-Za-z0-9_-]{11}$/', $base ) ) {
82 - return $base;
83 - }
84 -
85 - return '';
86 - }
87 -}
88 -if ( ! function_exists( 'qcld_wpbot_youtube_icon_embed_src' ) ) {
89 - function qcld_wpbot_youtube_icon_embed_src( $url ) {
90 - $video_id = qcld_wpbot_extract_youtube_id( $url );
91 - if ( $video_id === '' ) {
92 - return '';
93 - }
94 -
95 - return add_query_arg(
96 - array(
97 - 'autoplay' => '1',
98 - 'mute' => '1',
99 - 'loop' => '1',
100 - 'playlist' => $video_id,
101 - 'controls' => '0',
102 - 'showinfo' => '0',
103 - 'rel' => '0',
104 - 'fs' => '0',
105 - 'iv_load_policy' => '3',
106 - 'cc_load_policy' => '0',
107 - 'disablekb' => '1',
108 - 'playsinline' => '1',
109 - 'modestbranding' => '1',
110 - 'color' => 'white',
111 - ),
112 - 'https://www.youtube.com/embed/' . rawurlencode( $video_id )
113 - );
114 - }
115 -}
116 22 function wp_chatbot_load_footer_html(){
117 23 if ( get_option('disable_wp_chatbot') != 1 && wp_chatbot_load_controlling() === true) {
118 24
119 25 ?>
@@ -118,10 +24,9 @@
118 24
119 25 ?>
120 26 <style>
121 27 <?php if(get_option('wp_chatbot_custom_css')!="") {
122 -
123 - echo wp_strip_all_tags( get_option('wp_chatbot_custom_css') );// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
28 + echo get_option('wp_chatbot_custom_css');
124 29 }
125 30 ?>
126 31 </style>
127 32
@@ -133,46 +38,46 @@
133 38 }
134 39 ?>
135 40 <style>
136 41 .wp-chatbot-container {
137 - background-image: url(<?php echo esc_url($qcld_wb_chatbot_board_bg_path); ?>) !important;
42 + background-image: url(<?php echo $qcld_wb_chatbot_board_bg_path; ?>) !important;
138 43 }
139 44 </style>
140 45 <?php }
141 46 $wp_chatbot_enable_rtl = "";
142 - if (get_option('enable_wp_chatbot_rtl') == '1') {
47 + if (get_option('enable_wp_chatbot_rtl')) {
143 48 $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
144 49 }
145 50 $wp_chatbot_enable_mobile_screen = "";
146 - // if (get_option('enable_wp_chatbot_mobile_full_screen')==1) {
51 + if (get_option('enable_wp_chatbot_mobile_full_screen')==1) {
147 52 $wp_chatbot_enable_mobile_screen .= "wp-chatbot-mobile-full-screen";
148 - // }
53 + }
149 54 ?>
150 - <div id="wp-chatbot-chat-container" class="<?php echo esc_attr($wp_chatbot_enable_rtl .' '.$wp_chatbot_enable_mobile_screen); ?>" style="<?php if(get_option('disable_floating_button') == '1'){ echo 'display:none';} ?>">
55 + <div id="wp-chatbot-chat-container" class="<?php echo $wp_chatbot_enable_rtl .' '.$wp_chatbot_enable_mobile_screen; ?>">
151 56 <div id="wp-chatbot-integration-container">
152 57 <div class="wp-chatbot-integration-button-container">
153 58 <?php if (get_option('enable_wp_chatbot_skype_floating_icon') == 1) { ?>
154 - <a href="skype:<?php echo esc_attr(get_option('enable_wp_chatbot_skype_id')); ?>?chat"><span
155 - class="inetegration-skype-btn" title="<?php esc_attr_e('Skype', 'chatbot'); ?>"> </span></a>
59 + <a href="skype:<?php echo get_option('enable_wp_chatbot_skype_id'); ?>?chat"><span
60 + class="inetegration-skype-btn" title="<?php esc_html_e('Skype', 'wpchatbot'); ?>"> </span></a>
156 61 <?php } ?>
157 62 <?php if (get_option('enable_wp_chatbot_floating_whats') == 1) { ?>
158 - <a href="<?php echo esc_url('https://api.whatsapp.com/send?phone=' . get_option('qlcd_wp_chatbot_whats_num')); ?>"
63 + <a href="<?php echo 'https://api.whatsapp.com/send?phone=' . get_option('qlcd_wp_chatbot_whats_num'); ?>"
159 64 target="_blank"><span class="intergration-whats"
160 - title="<?php esc_html_e('WhatsApp', 'chatbot'); ?>"></span></a>
65 + title="<?php esc_html_e('WhatsApp', 'wpchatbot'); ?>"></span></a>
161 66 <?php } ?>
162 67 <?php if (get_option('enable_wp_chatbot_floating_viber') == 1) { ?>
163 - <a href="<?php echo esc_url('https://live.viber.com/#/' . get_option('qlcd_wp_chatbot_viber_acc')); ?>"
68 + <a href="<?php echo 'https://live.viber.com/#/' . get_option('qlcd_wp_chatbot_viber_acc'); ?>"
164 69 target="_blank"><span class="intergration-viber"
165 - title="<?php esc_html_e('Viber', 'chatbot'); ?>"></span></a>
70 + title="<?php esc_html_e('Viber', 'wpchatbot'); ?>"></span></a>
166 71 <?php } ?>
167 72 <?php if (get_option('enable_wp_chatbot_floating_phone') == 1 && get_option('qlcd_wp_chatbot_phone') != "") { ?>
168 - <a href="tel:<?php echo esc_attr(get_option('qlcd_wp_chatbot_phone')); ?>"><span
73 + <a href="tel:<?php echo get_option('qlcd_wp_chatbot_phone'); ?>"><span
169 74 class="intergration-phone"
170 - title="<?php esc_html_e('Phone', 'chatbot'); ?>"> </span></a>
75 + title="<?php esc_html_e('Phone', 'wpchatbot'); ?>"> </span></a>
171 76 <?php } ?>
172 77 <?php if (get_option('enable_wp_chatbot_floating_link') == 1 && get_option('qlcd_wp_chatbot_weblink') != "") { ?>
173 - <a href="<?php echo esc_url(get_option('qlcd_wp_chatbot_weblink')); ?>" target="_blank"><span
174 - class="intergration-weblink" title="<?php esc_html_e('Web Link', 'chatbot'); ?>"></span></a>
78 + <a href="<?php echo get_option('qlcd_wp_chatbot_weblink'); ?>" target="_blank"><span
79 + class="intergration-weblink" title="<?php esc_html_e('Web Link', 'wpchatbot'); ?>"></span></a>
175 80 <?php } ?>
176 81 </div>
177 82 </div>
178 83 <?php
@@ -185,9 +90,9 @@
185 90 }
186 91 if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
187 92 require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
188 93 } else {
189 - echo "<h2>" . esc_html__('No wpWBot Theme Found!', 'chatbot') . "</h2>";
94 + echo "<h2>" . __('No wpWBot Theme Found!', 'wpchatbot') . "</h2>";
190 95 }
191 96 ?>
192 97 <?php
193 98 if (get_option('disable_wp_chatbot_notification') != 1) {
@@ -194,9 +99,9 @@
194 99 ?>
195 100 <div id="wp-chatbot-notification-container" class="wp-chatbot-notification-container">
196 101 <div class="wp-chatbot-notification-controller">
197 102 <span class="wp-chatbot-notification-close">
198 - <?php esc_html_e('X', 'chatbot'); ?>
103 + <?php esc_html_e('X', 'wpchatbot'); ?>
199 104 </span>
200 105 </div>
201 106 <?php
202 107 $testingTip="";
@@ -209,18 +114,18 @@
209 114 }
210 115 ?>
211 116 <div class="wp-chatbot-notification-agent-profile">
212 117 <div class="wp-chatbot-notification-widget-avatar" ><img
213 - src="<?php echo esc_url($wp_chatbot_custom_agent_path); ?>" alt=""></div>
214 - <div class="wp-chatbot-notification-welcome"><?php echo wp_kses_post(wpb_randmom_message_handle(maybe_unserialize(get_option('qlcd_wp_chatbot_welcome')))) . ' <strong>' . esc_html(get_option('qlcd_wp_chatbot_host')) . '</strong>'; ?></div>
118 + src="<?php echo $wp_chatbot_custom_agent_path; ?>" alt=""></div>
119 + <div class="wp-chatbot-notification-welcome"><?php echo wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_welcome'))) . ' <strong>' . get_option('qlcd_wp_chatbot_host') . '</strong>'; ?></div>
215 120 </div>
216 121 <?php
217 122 //update_option('qlcd_wp_chatbot_notifications','Welcome to WpBot');
218 - $notifications = qcld_wb_chatbot_func_str_replace(wp_kses_post(maybe_unserialize(get_option('qlcd_wp_chatbot_notifications'))));
123 + $notifications = qcld_wb_chatbot_func_str_replace(unserialize(get_option('qlcd_wp_chatbot_notifications')));
219 124
220 125 ?>
221 126
222 - <div class="wp-chatbot-notification-message"><?php echo esc_html($notifications[0]); ?></div>
127 + <div class="wp-chatbot-notification-message"><?php echo $notifications[0]; ?></div>
223 128 </div>
224 129 <?php } ?>
225 130 <!--wp-chatbot-board-container-->
226 131 <div id="wp-chatbot-ball" class="">
@@ -227,79 +132,20 @@
227 132 <div class="wp-chatbot-ball">
228 133 <div class="wp-chatbot-ball-animator wp-chatbot-ball-animation-switch"></div>
229 134 <?php
230 135 if (get_option('wp_chatbot_icon') == "custom.png") {
231 - $wp_chatbot_custom_icon_path = (!empty(get_option('wp_chatbot_custom_icon_path'))) ? get_option('wp_chatbot_custom_icon_path') : QCLD_wpCHATBOT_IMG_URL . 'icon-1.png';
232 -
136 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_icon_path');
233 137 } else if (get_option('wp_chatbot_icon') != "custom.png") {
234 138 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_icon');
235 139 } else {
236 140 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom.png';
237 141 }
238 - $_wpbot_icon_video = get_option('wp_chatbot_icon_video', '');
239 - $_wpbot_video_is_youtube = ( strpos( $_wpbot_icon_video, 'youtube.com' ) !== false || strpos( $_wpbot_icon_video, 'youtu.be' ) !== false );
240 - $_wpbot_youtube_embed_src = $_wpbot_video_is_youtube ? qcld_wpbot_youtube_icon_embed_src( $_wpbot_icon_video ) : '';
241 - $_wpbot_video_delay_ms = absint( get_option( 'wp_chatbot_icon_video_delay', 0 ) ) * 1000;
242 -
243 - $wp_chatbot_ball_is_youtube = ($_wpbot_icon_video !== '' && (strpos($_wpbot_icon_video, 'youtube.com') !== false || strpos($_wpbot_icon_video, 'youtu.be') !== false));
244 - $wp_chatbot_ball_is_video = ($_wpbot_icon_video !== '' && !$wp_chatbot_ball_is_youtube);
245 - $wp_chatbot_ball_has_video = ($wp_chatbot_ball_is_youtube || $wp_chatbot_ball_is_video);
246 142 ?>
247 - <img src="<?php echo esc_url($wp_chatbot_custom_icon_path); ?>"
248 - alt="wpChatIcon" qcld_agent="<?php echo esc_url($wp_chatbot_custom_icon_path); ?>"
249 - id="wp-chatbot-ball-icon-img"
250 - <?php if ($wp_chatbot_ball_has_video) { echo 'style="display:none;"'; } ?> >
251 - <?php if ( $_wpbot_icon_video !== '' ) : ?>
252 - <?php if ( $_wpbot_video_is_youtube && $_wpbot_youtube_embed_src !== '' ) : ?>
253 - <iframe class="wpbot-icon-video" src="<?php echo $_wpbot_video_delay_ms > 0 ? 'about:blank' : esc_url( $_wpbot_youtube_embed_src ); ?>" data-wpbot-yt-src="<?php echo esc_url( $_wpbot_youtube_embed_src ); ?>" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture"></iframe>
254 - <?php elseif ( ! $_wpbot_video_is_youtube ) : ?>
255 - <video class="wpbot-icon-video" src="<?php echo esc_url( $_wpbot_icon_video ); ?>" autoplay muted loop playsinline preload="auto"></video>
256 - <?php endif; ?>
257 - <?php endif; ?>
143 + <img src="<?php echo $wp_chatbot_custom_icon_path; ?>"
144 + alt="wpChatIcon" qcld_agent="<?php echo esc_url($wp_chatbot_custom_icon_path); ?>" >
145 +
258 146 </div>
259 -
260 147 </div>
261 - <?php
262 - if ( $_wpbot_icon_video !== '' ) :
263 - ?>
264 - <script>
265 - (function(){
266 - var wpbotDelay = <?php echo (int) $_wpbot_video_delay_ms; ?>;
267 - function wpbotForcePlay(){
268 - var v = document.querySelector('#wp-chatbot-ball video.wpbot-icon-video');
269 - if( v ){
270 - v.muted = true;
271 - v.volume = 0;
272 - v.loop = true;
273 - var tries = 0, maxTries = 30;
274 - var timer = setInterval(function(){
275 - tries++;
276 - v.play().then(function(){ clearInterval(timer); }).catch(function(){});
277 - if( tries >= maxTries ) clearInterval(timer);
278 - }, 300);
279 - }
280 - var yt = document.querySelector('#wp-chatbot-ball iframe.wpbot-icon-video');
281 - if( yt ){
282 - var ytSrc = yt.getAttribute('data-wpbot-yt-src');
283 - if( ytSrc && ( !yt.getAttribute('src') || yt.getAttribute('src') === 'about:blank' || yt.getAttribute('src').indexOf('autoplay=1') === -1 ) ){
284 - yt.setAttribute('src', ytSrc);
285 - }
286 - }
287 - }
288 - function wpbotDelayedPlay(){
289 - setTimeout(wpbotForcePlay, wpbotDelay);
290 - }
291 - if( document.readyState === 'loading' ){
292 - document.addEventListener('DOMContentLoaded', wpbotDelayedPlay);
293 - } else {
294 - wpbotDelayedPlay();
295 - }
296 - window.addEventListener('load', function(){
297 - setTimeout(wpbotForcePlay, wpbotDelay);
298 - });
299 - })();
300 - </script>
301 - <?php endif; ?>
302 148 <?php
303 149 $fb_app_id = get_option('qlcd_wp_chatbot_fb_app_id');
304 150 $fb_page_id = get_option('qlcd_wp_chatbot_fb_page_id');
305 151 $fb_mgs_color = get_option('qlcd_wp_chatbot_fb_color') != '' ? get_option('qlcd_wp_chatbot_fb_color') : '#0084ff';
@@ -311,9 +157,9 @@
311 157 <script>
312 158
313 159 window.fbAsyncInit = function () {
314 160 FB.init({
315 - appId: '<?php echo esc_js($fb_app_id); ?>',
161 + appId: '<?php echo $fb_app_id;?>',
316 162 autoLogAppEvents: true,
317 163 xfbml: true,
318 164 version: 'v2.12'
319 165 });
@@ -328,13 +174,13 @@
328 174 fjs.parentNode.insertBefore(js, fjs);
329 175 }(document, 'script', 'facebook-jssdk'));
330 176 </script>
331 177 <div class="fb-customerchat"
332 - page_id="<?php echo esc_attr($fb_page_id); ?>"
178 + page_id="<?php echo $fb_page_id; ?>"
333 179 greeting_dialog_display="hide"
334 - theme_color="<?php echo esc_attr($fb_mgs_color); ?>"
335 - logged_in_greeting="<?php echo esc_attr($fb_mgs_in); ?>"
336 - logged_out_greeting="<?php echo esc_attr($fb_mgs_out); ?>"></div>
180 + theme_color="<?php echo $fb_mgs_color; ?>"
181 + logged_in_greeting="<?php echo $fb_mgs_in; ?>"
182 + logged_out_greeting="<?php echo $fb_mgs_out; ?>"></div>
337 183 <?php
338 184 }
339 185 ?>
340 186 <!--container-->
@@ -342,11 +188,11 @@
342 188 </div>
343 189
344 190 <?php
345 191
346 - if ( get_transient( 'qcld_bot_clear_cache' ) ) {
192 + if ( get_transient( 'bot_clear_cache' ) ) {
347 193 echo '<script type="text/javascript">var wpbot_clear_cache = 1 </script>';
348 - delete_transient( 'qcld_bot_clear_cache' );
194 + delete_transient( 'bot_clear_cache' );
349 195 }
350 196
351 197 }else{
352 198 ?>
@@ -416,9 +262,9 @@
416 262 return $wp_chatbot_load;
417 263 }
418 264 //checking Devices
419 265 function wp_chatbot_is_mobile(){
420 - $useragent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : '';
266 + $useragent = $_SERVER['HTTP_USER_AGENT'];
421 267 if (preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i', $useragent) || preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i', substr($useragent, 0, 4))) {
422 268 return true;
423 269 } else {
424 270 return false;
@@ -425,13 +271,13 @@
425 271 }
426 272 }
427 273 //Checking wpwbot opening hour
428 274 function wp_chatbot_check_opening_hours(){
429 - $curent_day=strtolower(gmdate('l',strtotime(current_time( 'mysql' ))));
430 - $current_time=gmdate('H:i',strtotime(current_time( 'mysql')));
275 + $curent_day=strtolower(date('l',strtotime(current_time( 'mysql' ))));
276 + $current_time=date('H:i',strtotime(current_time( 'mysql')));
431 277 $is_wpwbot_open =false;
432 278 if(get_option('wpwbot_hours')) {
433 - $wpwbot_times = wp_kses_post(unserialize(get_option('wpwbot_hours')));
279 + $wpwbot_times = unserialize(get_option('wpwbot_hours'));
434 280 if (isset($wpwbot_times[$curent_day])) {
435 281 $day_times = $wpwbot_times[$curent_day];
436 282 if (!empty($day_times)) {
437 283 foreach ($day_times as $day_time) {
@@ -443,8 +289,183 @@
443 289 }
444 290 }
445 291 return $is_wpwbot_open;
446 292 }
293 +//wpwBot shortcode.
294 +add_shortcode('wpwbot', 'wp_chatbot_short_code');
295 +function wp_chatbot_short_code($atts = []){
296 + ob_start();
297 + wp_chatbot_shortcode_dom($atts);
298 + $content = ob_get_clean();
299 + return $content;
300 +}
301 +function wp_chatbot_shortcode_dom($atts){
302 + //Defaults & Set Parameters for shortcode
303 + extract(shortcode_atts(
304 + array(
305 + 'template' => '01',
306 + ), $atts
307 + ));
308 + ?>
309 + <style>
310 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
311 + </style>
312 + <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
313 + if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
314 + $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
315 + } else {
316 + $qcld_wb_chatbot_board_bg_path = QCLD_wpCHATBOT_IMG_URL . 'background/background.png';
317 + }
318 + ?>
319 + <style>
320 + .wp-chatbot-container {
321 + background: url(<?php echo $qcld_wb_chatbot_board_bg_path ;?>) no-repeat top right !important;
322 + }
323 + </style>
324 +<?php }
325 + $wp_chatbot_enable_rtl = "";
326 + if (get_option('enable_wp_chatbot_rtl')) {
327 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
328 + }
329 + ?>
330 + <div id="wp-chatbot-chat-container" class="<?php echo $wp_chatbot_enable_rtl; ?>">
331 + <?php
332 + //Get wpcommerce cart
333 +
334 + $qcld_wb_chatbot_theme = 'template-' . $template;
335 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/style.css')) {
336 + wp_register_style('qcld-wp-chatbot-style', plugins_url(basename(plugin_dir_path(__FILE__)) . '/templates/' . $qcld_wb_chatbot_theme . '/style.css', basename(__FILE__)), '', QCLD_wpCHATBOT_VERSION, 'screen');
337 + wp_enqueue_style('qcld-wp-chatbot-style');
338 + }
339 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
340 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
341 + } else {
342 + echo "<h2>" . __('No wpWBot Theme Found!', 'wpchatbot') . "</h2>";
343 + }
344 + ?>
345 + <?php if (get_option('disable_wp_chatbot') != 1): ?>
346 + <div id="wp-chatbot-notification-container" class="wp-chatbot-notification-container">
347 + <div class="wp-chatbot-notification-controller"> <span class="wp-chatbot-notification-close">X</span> </div>
348 + <?php
349 + if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
350 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
351 + } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
352 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
353 + } else {
354 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
355 + }
356 + ?>
357 + <div class="wp-chatbot-notification-agent-profile">
358 + <div class="wp-chatbot-notification-widget-avatar"><img
359 + src="<?php echo $wp_chatbot_custom_icon_path; ?>" alt=""></div>
360 + <div class="wp-chatbot-notification-welcome"><?php echo wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_welcome'))) . ' <strong>' . get_option('qlcd_wp_chatbot_host') . '</strong>'; ?></div>
361 + </div>
362 + <div class="wp-chatbot-notification-message"><?php echo wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_notifications'))); ?></div>
363 + </div>
364 + <!--wp-chatbot-board-container-->
365 + <div id="wp-chatbot-ball" class="">
366 + <div class="wp-chatbot-ball">
367 + <div class="wp-chatbot-ball-animator wp-chatbot-ball-animation-switch"></div>
368 + <?php
369 + if (get_option('wp_chatbot_custom_icon_path') != "" && get_option('wp_chatbot_icon') == "custom.png") {
370 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_icon_path');
371 + } else if (get_option('wp_chatbot_custom_icon_path') != "" && get_option('wp_chatbot_icon') != "custom.png") {
372 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_icon');
373 + } else {
374 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom.png';
375 + }
376 + ?>
377 + <img src="<?php echo $wp_chatbot_custom_icon_path; ?>"
378 + alt="wpChatIcon"> <!--<span class="wp-chatbot-ball-cart-items"><?php echo $cart_items_number; ?></span>--> </div>
379 + </div>
380 + <!-- wp-chatbot-board-container-->
381 + <?php endif; ?>
382 + <!--container-->
383 + <!--wp-chatbot-ball-wrapper-->
384 + </div>
385 +<?php } ?>
386 +<?php
387 +//Create shortcode for wpwBot for pages.
388 +add_shortcode('wpbot-page', 'wp_chatbot_page_short_code');
389 +function wp_chatbot_page_short_code(){
390 + ob_start();
391 + wp_chatbot_page_dom();
392 + $content = ob_get_clean();
393 + return $content;
394 +}
395 +function wp_chatbot_page_dom(){ ?>
396 + <style>
397 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
398 + </style>
399 + <?php
400 + //Get wpcommerce cart
401 +
402 + $qcld_wb_chatbot_theme = get_option('qcld_wb_chatbot_theme');
403 + $wp_chatbot_enable_rtl = "";
404 + if (get_option('enable_wp_chatbot_rtl') == 1) {
405 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
406 + }
407 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/shortcode.php')) {
408 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/shortcode.php');
409 + } else {
410 + echo "<h2>" . __('No WPBot ShortCode Theme Found!', 'wpchatbot') . "</h2>";
411 + }
412 +}
413 +//shortcode for wpWBot mobile app
414 +add_shortcode('wpwbot_app', 'wp_chatbot_mobile_app_short_code');
415 +function wp_chatbot_mobile_app_short_code(){ ?>
416 + <style>
417 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
418 + </style>
419 + <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
420 + if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
421 + $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
422 + } else {
423 + $qcld_wb_chatbot_board_bg_path = QCLD_wpCHATBOT_IMG_URL . 'background/background.png';
424 + }
425 + ?>
426 + <style>
427 + .wp-chatbot-container {
428 + background: url(<?php echo $qcld_wb_chatbot_board_bg_path ;?>) no-repeat top right !important;
429 + }
430 + </style>
431 +<?php }
432 + $wp_chatbot_enable_rtl = "";
433 + if (get_option('enable_wp_chatbot_rtl')) {
434 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
435 + }
436 + ?>
437 + <div id="wp-chatbot-chat-app-shortcode-container" class="<?php echo $wp_chatbot_enable_rtl; ?>">
438 + <?php
439 + // keep traking app template.
440 + $template_app = 'yes';
441 + //Get wpcommerce cart
442 +
443 + //Handling shortcode enqeue and remove features part.
444 + define('wpCOMMERCE', true);
445 + wp_enqueue_script('jquery');
446 +
447 +
448 + wp_enqueue_script('wc-address-i18n');
449 + wp_enqueue_script('wc-country-select');
450 +
451 +
452 + // add the action
453 + if (isset($_GET['from']) && $_GET['from'] == 'app') {
454 + if (!isset($_COOKIE['from_app'])) {
455 + setcookie('from_app', 'yes', time() + 3600);
456 + }
457 + }
458 + $qcld_wb_chatbot_theme = get_option('qcld_wb_chatbot_theme');
459 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
460 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
461 + } else {
462 + echo "<h2>" . __('No WPBot Theme Found!', 'wpchatbot') . "</h2>";
463 + }
464 + ?>
465 + </div>
466 + <?php
467 +}
447 468
448 469 /**
449 470 * wpwBot Search keyword product
450 471 */
@@ -450,20 +471,13 @@
450 471 */
451 472 add_action('wp_ajax_qcld_wb_chatbot_keyword', 'qcld_wb_chatbot_keyword');
452 473 add_action('wp_ajax_nopriv_qcld_wb_chatbot_keyword', 'qcld_wb_chatbot_keyword');
453 474 function qcld_wb_chatbot_keyword(){
454 - // Verify nonce for security
455 - $nonce = isset($_POST['security']) ? sanitize_text_field(wp_unslash($_POST['security'])) : (isset($_POST['nonce']) ? sanitize_text_field(wp_unslash($_POST['nonce'])) : '');
456 - if ( ! wp_verify_nonce( $nonce, 'wp_chatbot' ) && ! wp_verify_nonce( $nonce, 'qcsecretbotnonceval123qc' ) ) {
457 - wp_send_json_error( array( 'status' => 'fail', 'message' => 'Security check failed.' ) );
458 - wp_die();
459 - }
460 -
461 - $keyword = sanitize_text_field(wp_unslash($_POST['keyword']));
475 + $keyword = sanitize_text_field($_POST['keyword']);
462 476 $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
463 477 if (get_option('qlcd_wp_chatbot_search_option') == 'standard') {
464 - $product_orderby = sanitize_text_field(get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title');
465 - $product_order = sanitize_text_field(get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC');
478 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
479 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
466 480 //Merging all query together.
467 481 $argu_params = array(
468 482 'post_type' => 'product',
469 483 'post_status' => 'publish',
@@ -505,9 +519,9 @@
505 519 endwhile;
506 520 wp_reset_postdata();
507 521 $html .= '</ul>';
508 522 if ($total_product_num > $product_per_page && $product_per_page > 0 ) {
509 - $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="' . esc_attr($keyword) . '" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more')))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
523 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="' . $keyword . '" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
510 524 }
511 525 }
512 526 $html .= '</div>';
513 527 } else if (get_option('qlcd_wp_chatbot_search_option') == 'advanced') {
@@ -535,16 +549,16 @@
535 549 }
536 550 }
537 551 $html .= '</ul>';
538 552 if ($total_product_num > $product_per_page && $product_per_page > 0) {
539 - $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="' . esc_attr($more_product_ids) . '" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more')))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
553 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="' . $more_product_ids . '" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
540 554 }
541 555 }
542 556 $html .= '</div>';
543 557 }
544 558 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
545 - wp_send_json($response);
546 -
559 + echo wp_send_json($response);
560 + wp_die();
547 561 }
548 562 /**
549 563 * wpwBot Categories
550 564 */
@@ -552,22 +566,23 @@
552 566 add_action('wp_ajax_nopriv_qcld_wb_chatbot_category', 'qcld_wb_chatbot_category');
553 567 function qcld_wb_chatbot_category(){
554 568 $category_type="common";
555 569 if (get_option('wp_chatbot_show_parent_category') != "") {
556 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'parent' => 0, 'hide_empty' => true, 'fields' => 'all' ) );
570 + $terms = get_terms('product_cat', array('parent' => 0, 'hide_empty' => true, 'fields' => 'all'));
571 +
557 572 } else {
558 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => true, 'fields' => 'all' ) );
573 + $terms = get_terms('product_cat', array('hide_empty' => true, 'fields' => 'all'));
559 574 }
560 575 $html = "";
561 576 foreach ($terms as $term) {
562 - $child_terms=get_terms( array( 'taxonomy' => 'product_cat', 'parent' => $term->term_id, 'hide_empty' => true, 'fields' => 'all' ) );
577 + $child_terms=get_terms('product_cat', array('parent' => $term->term_id, 'hide_empty' => true, 'fields' => 'all'));
563 578 if(get_option('wp_chatbot_show_sub_category')==1 && count($child_terms) >0){
564 579 $category_type="hasChilds";
565 580 }
566 581 $html .= '<span class="qcld-chatbot-product-category" data-category-type="' . $category_type . '" data-category-slug="' . $term->slug . '" data-category-id="' . $term->term_id . '">' . $term->name . '</span>';
567 582 }
568 - wp_send_json($html);
569 -
583 + echo wp_send_json($html);
584 + wp_die();
570 585 }
571 586 /**
572 587 * wpwBot Sub categories
573 588 */
@@ -573,16 +588,16 @@
573 588 */
574 589 add_action('wp_ajax_qcld_wb_chatbot_sub_category', 'qcld_wb_chatbot_sub_category');
575 590 add_action('wp_ajax_nopriv_qcld_wb_chatbot_sub_category', 'qcld_wb_chatbot_sub_category');
576 591 function qcld_wb_chatbot_sub_category(){
577 - $parent_id = intval( wp_unslash( $_POST['parent_id'] ) );
578 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'parent' => $parent_id, 'hide_empty' => true, 'fields' => 'all' ) );
592 + $parent_id = stripslashes($_POST['parent_id']);
593 + $terms = get_terms('product_cat', array('parent' => $parent_id, 'hide_empty' => true, 'fields' => 'all'));
579 594 $html = "";
580 595 foreach ($terms as $term) {
581 596 $html .= '<span class="qcld-chatbot-product-category" data-category-type="common" data-category-slug="' . $term->slug . '" data-category-id="' . $term->term_id . '">' . $term->name . '</span>';
582 597 }
583 - wp_send_json($html);
584 -
598 + echo wp_send_json($html);
599 + wp_die();
585 600 }
586 601 /**
587 602 * wpwBot category product
588 603 */
@@ -588,12 +603,12 @@
588 603 */
589 604 add_action('wp_ajax_qcld_wb_chatbot_category_products', 'qcld_wb_chatbot_category_products');
590 605 add_action('wp_ajax_nopriv_qcld_wb_chatbot_category_products', 'qcld_wb_chatbot_category_products');
591 606 function qcld_wb_chatbot_category_products(){
592 - $category_id = intval( wp_unslash( $_POST['category'] ) );
593 - $product_per_page = sanitize_text_field(get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10);
594 - $product_orderby = sanitize_text_field(get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title');
595 - $product_order = sanitize_text_field(get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC');
607 + $category_id = stripslashes($_POST['category']);
608 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
609 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
610 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
596 611 //Merging all query together.
597 612 $argu_params = array(
598 613 'post_type' => 'product',
599 614 'post_status' => 'publish',
@@ -655,9 +670,9 @@
655 670 endwhile;
656 671 wp_reset_postdata();
657 672 $html .= '</ul>';
658 673 if ($total_product_num > $product_per_page && $product_per_page >0) {
659 - $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="category" data-search-term="' . $category_id . '" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more')))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
674 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="category" data-search-term="' . $category_id . '" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
660 675 }
661 676 $html .= '</div>';
662 677 } else {
663 678 $html = '';
@@ -662,9 +677,10 @@
662 677 } else {
663 678 $html = '';
664 679 }
665 680 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
666 - wp_send_json($response);
681 + echo wp_send_json($response);
682 + wp_die();
667 683 }
668 684 /**
669 685 * wpwBot latest, featured, recent product
670 686 */
@@ -670,11 +686,11 @@
670 686 */
671 687 add_action('wp_ajax_qcld_wb_chatbot_featured_products', 'qcld_wb_chatbot_featured_products');
672 688 add_action('wp_ajax_nopriv_qcld_wb_chatbot_featured_products', 'qcld_wb_chatbot_featured_products');
673 689 function qcld_wb_chatbot_featured_products(){
674 - $product_per_page = sanitize_text_field(get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10);
675 - $product_orderby = sanitize_text_field(get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title');
676 - $product_order = sanitize_text_field(get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC');
690 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
691 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
692 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
677 693 //get featured products query.
678 694 $argu_params = array('post_status' => 'publish',
679 695 'posts_per_page' => $product_per_page,
680 696 'post_type' => 'product',
@@ -718,14 +734,15 @@
718 734 endwhile;
719 735 wp_reset_postdata();
720 736 $html .= '</ul>';
721 737 if ($total_product_num > $product_per_page) {
722 - $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="featured" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more')))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
738 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="featured" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
723 739 }
724 740 }
725 741 $html .= '</div>';
726 742 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
727 - wp_send_json($response);
743 + echo wp_send_json($response);
744 + wp_die();
728 745 }
729 746 //Product display controll
730 747 function wp_chatbot_product_controlling($product_id){
731 748 $display_product = true;
@@ -740,11 +757,11 @@
740 757 //Get Sale products
741 758 add_action('wp_ajax_qcld_wb_chatbot_sale_products', 'qcld_wb_chatbot_sale_products');
742 759 add_action('wp_ajax_nopriv_qcld_wb_chatbot_sale_products', 'qcld_wb_chatbot_sale_products');
743 760 function qcld_wb_chatbot_sale_products(){
744 - $product_per_page = sanitize_text_field(get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10);
745 - $product_orderby = sanitize_text_field(get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title');
746 - $product_order = sanitize_text_field(get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC');
761 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
762 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
763 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
747 764 //get sale products query.
748 765 $argu_params = array(
749 766 'post_type' => 'product',
750 767 'post_status' => 'publish',
@@ -816,25 +833,26 @@
816 833 endwhile;
817 834 wp_reset_postdata();
818 835 $html .= '</ul>';
819 836 if ($total_product_num > $product_per_page) {
820 - $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="sale" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more')))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
837 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="sale" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
821 838 }
822 839 }
823 840 $html .= '</div>';
824 841 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
825 - wp_send_json($response);
842 + echo wp_send_json($response);
843 + wp_die();
826 844 }
827 845 //load more
828 846 add_action('wp_ajax_qcld_wb_chatbot_load_more', 'qcld_wb_chatbot_load_more');
829 847 add_action('wp_ajax_nopriv_qcld_wb_chatbot_load_more', 'qcld_wb_chatbot_load_more');
830 848 function qcld_wb_chatbot_load_more(){
831 - $offset = intval( wp_unslash( $_POST['offset'] ) );
832 - $search_type = sanitize_text_field( wp_unslash( $_POST['search_type'] ) );
833 - $search_term = sanitize_text_field( wp_unslash( $_POST['search_term'] ) );
834 - $product_per_page = sanitize_text_field(get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10);
835 - $product_orderby = sanitize_text_field(get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title');
836 - $product_order = sanitize_text_field(get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC');
849 + $offset = stripslashes($_POST['offset']);
850 + $search_type = stripslashes($_POST['search_type']);
851 + $search_term = stripslashes($_POST['search_term']);
852 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
853 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
854 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
837 855 $next_offset = intval($product_per_page + $offset);
838 856 if ($search_type == 'product' && $search_term != 'featured' && $search_term != 'sale' && get_option('qlcd_wp_chatbot_search_option') == 'advanced') {
839 857 //if have multiple ids then explode else have single need to array push
840 858 if (strpos($search_term, ',') !== false) {
@@ -956,15 +974,16 @@
956 974 $html .= '';
957 975 }
958 976 $response = array('html' => $html, 'product_num' => $product_num, 'search_term' => $search_term, 'offset' => $next_offset, 'per_page' => $product_per_page);
959 977 }
960 - wp_send_json($response);
978 + echo wp_send_json($response);
979 + wp_die();
961 980 }
962 981 //product details
963 982 add_action('wp_ajax_qcld_wb_chatbot_product_details', 'qcld_wb_chatbot_product_details');
964 983 add_action('wp_ajax_nopriv_qcld_wb_chatbot_product_details', 'qcld_wb_chatbot_product_details');
965 984 function qcld_wb_chatbot_product_details(){
966 - $product_id = intval( wp_unslash( $_POST['wp_chatbot_pid'] ) );
985 + $product_id = stripslashes($_POST['wp_chatbot_pid']);
967 986 //Tracking product view from chat board
968 987 wp_chatbot_view_track_product_by_id($product_id);
969 988 //wpcommerce product factory
970 989 $wc_pf = new WC_Product_Factory();
@@ -992,9 +1011,9 @@
992 1011 }
993 1012 }
994 1013 $product_image .= '</ul></div>';
995 1014 $product_price = '<p class="wp-chatbot-product-price" id="wp-chatbot-product-price">' . $product->get_price_html() . '</p>';
996 - $product_sku = '<p class="wp-chatbot-product-sku"> ' . __('SKU', 'chatbot') . ' : ' . $product->get_sku() . '</p>';
1015 + $product_sku = '<p class="wp-chatbot-product-sku"> ' . __('SKU', 'wpchatbot') . ' : ' . $product->get_sku() . '</p>';
997 1016 //if ( $product->is_in_stock() || $product->is_purchasable() )
998 1017 //Handle variable product start
999 1018 $variations = "";
1000 1019 $add_cart_button = "";
@@ -1035,13 +1054,12 @@
1035 1054 } else {
1036 1055 $variations .= '<div class="wp-chatbot-variable-' . sanitize_title($name) . '">';
1037 1056 $variations .= '<label for="' . sanitize_title($name) . '">' . $title . '</label>';
1038 1057 $variations .= '<select id="' . esc_attr(sanitize_title($name)) . '" name="attribute_' . sanitize_title($name) . '" data-attribute_name="attribute_' . sanitize_title($name) . '" class="each_attribute">';
1039 - $variations .= '<option value="">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_choose_option')))) . '</option>';
1058 + $variations .= '<option value="">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_choose_option'))) . '</option>';
1040 1059 foreach ($values as $value) {
1041 - $attr_key = 'attribute_' . sanitize_title( $name );
1042 - if ( isset( $_REQUEST[ $attr_key ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
1043 - $selected_value = sanitize_text_field( wp_unslash( $_REQUEST[ $attr_key ] ) );
1060 + if (isset($_REQUEST['attribute_' . sanitize_title($name)])) {
1061 + $selected_value = $_REQUEST['attribute_' . sanitize_title($name)];
1044 1062 } else {
1045 1063 $selected_value = '';
1046 1064 }
1047 1065 $variations .= '<option value="' . esc_attr(strtolower($value)) . '"' . selected($selected_value, $value, false) . '>' . apply_filters('wpcommerce_variation_option_name', $value) . '</option>';
@@ -1048,29 +1066,30 @@
1048 1066 }
1049 1067 $variations .= '</select></div>';
1050 1068 }
1051 1069 }
1052 - $add_cart_button .= '<input type="button" id="wp-chatbot-variation-add-to-cart" wp-chatbot-product-id="' . $product_id . '" value="' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_add_to_cart')))) . '" variation_id="" />';
1070 + $add_cart_button .= '<input type="button" id="wp-chatbot-variation-add-to-cart" wp-chatbot-product-id="' . $product_id . '" value="' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_add_to_cart'))) . '" variation_id="" />';
1053 1071 $add_cart_button .= "<input type='hidden' id='wp-chatbot-variation-data' data-product-variation='" . $variations_data . "' />";
1054 1072 } else {
1055 - $add_cart_button .= '<input type="button" id="wp-chatbot-add-cart-button" wp-chatbot-product-id="' . $product_id . '" value="' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_add_to_cart')))) . '" />';
1073 + $add_cart_button .= '<input type="button" id="wp-chatbot-add-cart-button" wp-chatbot-product-id="' . $product_id . '" value="' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_add_to_cart'))) . '" />';
1056 1074 }
1057 1075 //Handle variable product end.
1058 - $product_quantity .= '<label for="">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity')))) . '</label>
1076 + $product_quantity .= '<label for="">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity'))) . '</label>
1059 1077 <input type="number" id="vPQuantity" value="1" />';
1060 1078 }
1061 1079 //$response=$full_size_image;
1062 1080 $response = array('title' => $product_title, 'description' => $product_desc, 'image' => $product_image, 'price' => $product_price, 'sku' => $product_sku, 'quantity' => $product_quantity, 'buttton' => $add_cart_button, 'variation' => $variations, 'type' => $product_type, 'debug' => $debug);
1063 - wp_send_json($response);
1081 + echo wp_send_json($response);
1082 + wp_die();
1064 1083 }
1065 1084 //Add to cart for variable product.
1066 -add_action('wp_ajax_qcld_variable_add_to_cart', 'qcld_variable_add_to_cart');
1067 -add_action('wp_ajax_nopriv_qcld_variable_add_to_cart', 'qcld_variable_add_to_cart');
1068 -function qcld_variable_add_to_cart(){
1069 - $product_id = intval( wp_unslash( $_POST['p_id'] ) );
1070 - $quantity = intval( wp_unslash( $_POST['quantity'] ) );
1071 - $variations_id = intval( wp_unslash( $_POST['variations_id'] ) );
1072 - $attrs = isset( $_POST['attributes'] ) ? array_map( 'sanitize_text_field', wp_unslash( (array) $_POST['attributes'] ) ) : array();
1085 +add_action('wp_ajax_variable_add_to_cart', 'qcld_wb_chatbot_variable_add_to_cart');
1086 +add_action('wp_ajax_nopriv_variable_add_to_cart', 'qcld_wb_chatbot_variable_add_to_cart');
1087 +function qcld_wb_chatbot_variable_add_to_cart(){
1088 + $product_id = stripslashes($_POST['p_id']);
1089 + $quantity = stripslashes($_POST['quantity']);
1090 + $variations_id = stripslashes($_POST['variations_id']);
1091 + $attrs = stripslashes($_POST['attributes']);
1073 1092 //echo wp_send_json(array('p_id'=>$product_id,'qnty'=>$quantity,'id'=>$variations_id,'att'=>$attrs));
1074 1093 $attributes = array();
1075 1094 foreach ($attrs as $attr) {
1076 1095 $single = explode("#", $attr);
@@ -1081,46 +1100,44 @@
1081 1100 }
1082 1101 global $wpcommerce;
1083 1102 $result = $wpcommerce->cart->add_to_cart($product_id, $quantity, $variations_id, $attributes, null);
1084 1103 if ($result != false) {
1085 - wp_send_json('variable');
1104 + echo wp_send_json('variable');
1086 1105 } else {
1087 - wp_send_json('error');
1106 + echo wp_send_json('error');
1088 1107 }
1108 + wp_die();
1089 1109 }
1090 1110 //Add to cart for simple product.
1091 1111 add_action('wp_ajax_qcld_wb_chatbot_add_to_cart', 'qcld_wb_chatbot_add_to_cart');
1092 1112 add_action('wp_ajax_nopriv_qcld_wb_chatbot_add_to_cart', 'qcld_wb_chatbot_add_to_cart');
1093 1113 function qcld_wb_chatbot_add_to_cart(){
1094 - $product_id = intval( wp_unslash( $_POST['product_id'] ) );
1095 - $product_quantity = intval( wp_unslash( $_POST['quantity'] ) );
1114 + $product_id = stripslashes($_POST['product_id']);
1115 + $product_quantity = stripslashes($_POST['quantity']);
1096 1116 global $wpcommerce;
1097 1117 $result = $wpcommerce->cart->add_to_cart($product_id, $product_quantity);
1098 1118 if ($result != false) {
1099 - wp_send_json('simple');
1119 + echo wp_send_json('simple');
1100 1120 } else {
1101 - wp_send_json('error');
1121 + echo wp_send_json('error');
1102 1122 }
1123 + wp_die();
1103 1124 }
1104 1125 //Support part
1105 1126 add_action('wp_ajax_qcld_wb_chatbot_support_email', 'qcld_wb_chatbot_support_email');
1106 1127 add_action('wp_ajax_nopriv_qcld_wb_chatbot_support_email', 'qcld_wb_chatbot_support_email');
1107 1128 function qcld_wb_chatbot_support_email(){
1108 - $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : '';
1109 - if ( ! wp_verify_nonce( $nonce, 'qcsecretbotnonceval123qc' ) ) {
1110 - wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid nonce verification.', 'chatbot' ) ) );
1111 - }
1112 - $name = trim(sanitize_text_field(wp_unslash($_POST['name'])));
1113 - $email = sanitize_email(wp_unslash($_POST['email']));
1114 - $message = sanitize_text_field(wp_unslash($_POST['message']));
1115 - $subject = sanitize_text_field(get_option('qlcd_wp_chatbot_email_sub') != '' ? get_option('qlcd_wp_chatbot_email_sub') : 'Support Email from wpWBot by Client');
1129 + $name = trim(sanitize_text_field($_POST['name']));
1130 + $email = sanitize_email($_POST['email']);
1131 + $message = sanitize_text_field($_POST['message']);
1132 + $subject = get_option('qlcd_wp_chatbot_email_sub') != '' ? get_option('qlcd_wp_chatbot_email_sub') : 'Support Email from wpWBot by Client';
1116 1133 //Extract Domain
1117 1134 $url = get_site_url();
1118 - $url = wp_parse_url($url);
1135 + $url = parse_url($url);
1119 1136 $domain = $url['host'];
1120 1137 //$admin_email = "admin@" . $domain;
1121 - $admin_email = sanitize_email(get_option('admin_email'));
1122 - $toEmail = sanitize_email(get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email);
1138 + $admin_email = get_option('admin_email');
1139 + $toEmail = get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email;
1123 1140
1124 1141
1125 1142 if(get_option('qlcd_wp_chatbot_from_email') && get_option('qlcd_wp_chatbot_from_email')!=''){
1126 1143 $fromEmail = get_option('qlcd_wp_chatbot_from_email');
@@ -1126,23 +1143,24 @@
1126 1143 $fromEmail = get_option('qlcd_wp_chatbot_from_email');
1127 1144 }else{
1128 1145 $fromEmail = "wordpress@" . $domain;
1129 1146 }
1147 +
1130 1148 //Starting messaging and status.
1131 1149 $response['status'] = 'fail';
1132 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_email_fail')));
1150 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_email_fail'));
1133 1151 if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
1134 - $response['message'] = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_invalid_email'))));
1152 + $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_invalid_email')));
1135 1153 $response['status'] = 'fail';
1136 1154 } else {
1137 1155 //build email body
1138 1156 $bodyContent = "";
1139 - $bodyContent .= '<p><strong>' . __('Support Request Details', 'chatbot') . ':</strong></p><hr>';
1140 - $bodyContent .= '<p>' . __('Name', 'chatbot') . ' : ' . $name . '</p>';
1141 - $bodyContent .= '<p>' . __('Email', 'chatbot') . ' : ' . $email . '</p>';
1142 - $bodyContent .= '<p>' . __('Subject', 'chatbot') . ' : ' . $subject . '</p>';
1143 - $bodyContent .= '<p>' . __('Message', 'chatbot') . ' : ' . $message . '</p>';
1144 - $bodyContent .= '<p>' . __('Mail Generated on', 'chatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1157 + $bodyContent .= '<p><strong>' . __('Support Request Details', 'wpchatbot') . ':</strong></p><hr>';
1158 + $bodyContent .= '<p>' . __('Name', 'wpchatbot') . ' : ' . $name . '</p>';
1159 + $bodyContent .= '<p>' . __('Email', 'wpchatbot') . ' : ' . $email . '</p>';
1160 + $bodyContent .= '<p>' . __('Subject', 'wpchatbot') . ' : ' . $subject . '</p>';
1161 + $bodyContent .= '<p>' . __('Message', 'wpchatbot') . ' : ' . $message . '</p>';
1162 + $bodyContent .= '<p>' . __('Mail Generated on', 'wpchatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1145 1163 $to = $toEmail;
1146 1164 $body = $bodyContent;
1147 1165 $headers = array();
1148 1166 $headers[] = 'Content-Type: text/html; charset=UTF-8';
@@ -1150,13 +1168,13 @@
1150 1168 $headers[] = 'Reply-To: ' . $name . ' <' . $email . '>';
1151 1169 $result = wp_mail($to, $subject, $body, $headers);
1152 1170 if ($result) {
1153 1171 $response['status'] = 'success';
1154 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_email_sent')));
1172 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_email_sent'));
1155 1173 }
1156 1174
1157 1175 }
1158 - echo wp_json_encode($response);
1176 + echo json_encode($response);
1159 1177 die();
1160 1178 }
1161 1179 //Support Phone
1162 1180 add_action('wp_ajax_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
@@ -1161,37 +1179,36 @@
1161 1179 //Support Phone
1162 1180 add_action('wp_ajax_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
1163 1181 add_action('wp_ajax_nopriv_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
1164 1182 function qcld_wb_chatbot_support_phone(){
1165 - check_ajax_referer('qcsecretbotnonceval123qc', 'nonce');
1166 - $name = trim(sanitize_text_field(wp_unslash($_POST['name'])));
1167 - $phone =sanitize_text_field(wp_unslash($_POST['phone']));
1183 + $name = trim(sanitize_text_field($_POST['name']));
1184 + $phone =sanitize_text_field($_POST['phone']);
1168 1185 $subject = 'WPBot Support Mail Request for Call Back';
1169 1186 //Extract Domain
1170 1187 $url = get_site_url();
1171 - $url = wp_parse_url($url);
1188 + $url = parse_url($url);
1172 1189 $domain = $url['host'];
1173 1190 //$admin_email = "admin@" . $domain;
1174 1191 $admin_email = get_option('admin_email');
1175 - $toEmail = sanitize_email(get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email);
1192 + $toEmail = get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email;
1176 1193
1177 1194
1178 1195 if(get_option('qlcd_wp_chatbot_from_email') && get_option('qlcd_wp_chatbot_from_email')!=''){
1179 - $fromEmail = sanitize_email(get_option('qlcd_wp_chatbot_from_email'));
1196 + $fromEmail = get_option('qlcd_wp_chatbot_from_email');
1180 1197 }else{
1181 1198 $fromEmail = "wordpress@" . $domain;
1182 1199 }
1183 1200 //Starting messaging and status.
1184 1201 $response['status'] = 'fail';
1185 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_phone_fail')));
1202 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_phone_fail'));
1186 1203 //build email body
1187 1204 $bodyContent = "";
1188 - $bodyContent .= '<p><strong>' . __('Support Request Details', 'chatbot') . ':</strong></p><hr>';
1189 - $bodyContent .= '<p>' . __('Name', 'chatbot') . ' : ' . $name . '</p>';
1190 - $bodyContent .= '<p>' . __('Phone', 'chatbot') . ' : ' . $phone . '</p>';
1191 - $bodyContent .= '<p>' . __('Subject', 'chatbot') . ' : ' . $subject . '</p>';
1192 - $bodyContent .= '<p>' . __('Message', 'chatbot') . ' : ' . __(' Call me at ', 'chatbot'). $phone . '</p>';
1193 - $bodyContent .= '<p>' . __('Mail Generated on', 'chatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1205 + $bodyContent .= '<p><strong>' . __('Support Request Details', 'wpchatbot') . ':</strong></p><hr>';
1206 + $bodyContent .= '<p>' . __('Name', 'wpchatbot') . ' : ' . $name . '</p>';
1207 + $bodyContent .= '<p>' . __('Phone', 'wpchatbot') . ' : ' . $phone . '</p>';
1208 + $bodyContent .= '<p>' . __('Subject', 'wpchatbot') . ' : ' . $subject . '</p>';
1209 + $bodyContent .= '<p>' . __('Message', 'wpchatbot') . ' : ' . __(' Call me at ', 'wpchatbot'). $phone . '</p>';
1210 + $bodyContent .= '<p>' . __('Mail Generated on', 'wpchatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1194 1211 $to = $toEmail;
1195 1212 $body = $bodyContent;
1196 1213 $headers = array();
1197 1214 $headers[] = 'Content-Type: text/html; charset=UTF-8';
@@ -1199,17 +1216,38 @@
1199 1216 $headers[] = 'Reply-To: ' . $name . ' <' . $fromEmail . '>';
1200 1217 $result = wp_mail($to, $subject, $body, $headers);
1201 1218 if ($result) {
1202 1219 $response['status'] = 'success';
1203 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_phone_sent')));
1220 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_phone_sent'));
1204 1221 }
1205 - echo wp_json_encode($response);
1222 + echo json_encode($response);
1206 1223 die();
1207 1224 }
1208 -// Order Status part. removed
1209 -
1225 +// Order Status part.
1226 +add_action('wp_ajax_qcld_wb_chatbot_check_user', 'qcld_wb_chatbot_check_user');
1227 +add_action('wp_ajax_nopriv_qcld_wb_chatbot_check_user', 'qcld_wb_chatbot_check_user');
1228 +function qcld_wb_chatbot_check_user(){
1229 + global $wpcommerce;
1230 + $user_name = trim(sanitize_text_field($_POST['user_name']));
1231 + $response = array();
1232 + $response['message'] = "";
1233 + if (username_exists($user_name)) {
1234 + if (get_option('qlcd_wp_chatbot_order_user') == 'login') {
1235 + $response['status'] = "success";
1236 + $response['message'] .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_thanks')));
1237 + $response['html'] .= '<p>' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_password'))) . '</p>';
1238 + } else if (get_option('qlcd_wp_chatbot_order_user') == 'not_login') {
1239 + $response = get_order_by_username($user_name);
1240 + }
1241 + } else {
1242 + $response['status'] = "fail";
1243 + $response['message'] .= '<strong>' . $user_name . '</strong> ' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_not_exist')));
1244 + }
1245 + echo wp_send_json($response);
1246 + die();
1247 +}
1210 1248 function wpb_randmom_message_handle($items){
1211 - return $items[wp_rand(0, count($items) - 1)];
1249 + return $items[rand(0, count($items) - 1)];
1212 1250 }
1213 1251 function qcld_wb_chatbot_func_str_replace($messages = array()){
1214 1252 $refined_mesgses = array();
1215 1253 foreach ($messages as $message) {
@@ -1224,21 +1262,22 @@
1224 1262 // First check the nonce, if it fails the function will break
1225 1263 check_ajax_referer('wpwbot-order-nonce', 'security');
1226 1264 // Nonce is checked, get the POST data and sign user on
1227 1265 $info = array();
1228 - $info['user_login'] = trim(sanitize_text_field(wp_unslash($_POST['user_name'])));
1229 - $info['user_password'] = trim(sanitize_text_field(wp_unslash($_POST['user_pass'])));
1266 + $info['user_login'] = trim(sanitize_text_field($_POST['user_name']));
1267 + $info['user_password'] = trim(sanitize_text_field($_POST['user_pass']));
1230 1268 $info['remember'] = true;
1231 1269 $user_signon = wp_signon($info, false);
1232 1270 $response = array();
1233 1271 if (is_wp_error($user_signon)) {
1234 1272 $response['status'] = "fail";
1235 - $response['message'] = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect'))));
1273 + $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect')));
1236 1274 } else {
1237 1275 $response = get_order_by_username($info['user_login']);
1238 1276 $response['status'] = "success";
1239 1277 }
1240 - wp_send_json($response);
1278 + echo wp_send_json($response);
1279 + die();
1241 1280 }
1242 1281 add_action('wp_ajax_qcld_wb_chatbot_loged_in_user_orders', 'qcld_wb_chatbot_loged_in_user_orders');
1243 1282 add_action('wp_ajax_nopriv_qcld_wb_chatbot_loged_in_user_orders', 'qcld_wb_chatbot_loged_in_user_orders');
1244 1283 function qcld_wb_chatbot_loged_in_user_orders(){
@@ -1244,9 +1283,10 @@
1244 1283 function qcld_wb_chatbot_loged_in_user_orders(){
1245 1284 $current_user = wp_get_current_user();
1246 1285 $user_name = $current_user->user_login;
1247 1286 $response = get_order_by_username($user_name);
1248 - wp_send_json($response);
1287 + echo wp_send_json($response);
1288 + die();
1249 1289 }
1250 1290 function get_order_by_username($user_name){
1251 1291 global $post;
1252 1292 $response = array();
@@ -1264,28 +1304,28 @@
1264 1304 ));
1265 1305 $response['order_num'] = count($customer_orders);
1266 1306 $order_html = '';
1267 1307 if ($response['order_num'] > 0) {
1268 - $response['message'] .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_found'))));
1308 + $response['message'] .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_found')));
1269 1309 $order_html .= '<div class="wp-chatbot-orders-container">
1270 1310 <div class="wp-chatbot-orders-header">
1271 - <div class="order-id">' . __('ID', 'chatbot') . '</div>
1272 - <div class="order-date">' . __('Date', 'chatbot') . ' </div>
1273 - <div class="order-items">' . __('Items', 'chatbot') . '</div>
1274 - <div class="order-status">' . __('Status', 'chatbot') . '</div>
1311 + <div class="order-id">' . __('ID', 'wpchatbot') . '</div>
1312 + <div class="order-date">' . __('Date', 'wpchatbot') . ' </div>
1313 + <div class="order-items">' . __('Items', 'wpchatbot') . '</div>
1314 + <div class="order-status">' . __('Status', 'wpchatbot') . '</div>
1275 1315 </div>';
1276 1316 foreach ($customer_orders as $order) {
1277 1317 //Formatting order summery
1278 1318 if (isset($_COOKIE['from_app']) && $_COOKIE['from_app'] == 'yes') {
1279 - $thanks_page_id = sanitize_text_field(get_option('wp_chatbot_app_order_thankyou'));
1319 + $thanks_page_id = get_option('wp_chatbot_app_order_thankyou');
1280 1320 $thanks_parmanlink = esc_url(get_permalink($thanks_page_id));
1281 1321 $order_url = '<a href="' . $thanks_parmanlink . '?order_id=' . $order->ID . '" >' . $order->ID . '</a>';
1282 1322 } else {
1283 - $order_url = '<a href="' . get_url(get_permalink(get_option('wpcommerce_myaccount_page_id')) . '/view-order/' . $order->ID) . '" target="_blank" >' . $order->ID . '</a>';
1323 + $order_url = '<a href="' . get_permalink(get_option('wpcommerce_myaccount_page_id')) . '/view-order/' . $order->ID . '" target="_blank" >' . $order->ID . '</a>';
1284 1324 }
1285 1325 $order_html .= '<div class="wp-chatbot-orders-single">
1286 1326 <div class="order-id"> ' . $order_url . '</div>
1287 - <div class="order-date"> <p>' . gmdate("m/d/Y", strtotime($order->post_date)) . '</p> </div>
1327 + <div class="order-date"> <p>' . date("m/d/Y", strtotime($order->post_date)) . '</p> </div>
1288 1328 <div class="order-items">';
1289 1329 $singleOrder = new WC_Order($order->ID);
1290 1330 $items = $singleOrder->get_items();
1291 1331 foreach ($items as $item) {
@@ -1298,9 +1338,9 @@
1298 1338 }
1299 1339 $order_html .= '</div>';
1300 1340 } else {
1301 1341 $response['message'] .= get_option('qlcd_wp_chatbot_sorry') . '! <strong>' . $user_name . '</strong>';
1302 - $order_html .= '<p>' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_not_found')))) . '</p>';
1342 + $order_html .= '<p>' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_not_found'))) . '</p>';
1303 1343 }
1304 1344 $response['html'] = $order_html;
1305 1345 return $response;
1306 1346 }
@@ -1336,10 +1376,10 @@
1336 1376 function qcld_wb_chatbot_recently_viewed_products(){
1337 1377 // Get wpCommerce Global
1338 1378 $_pf = new WC_Product_Factory();
1339 1379 //show post per page.
1340 - $product_per_page = sanitize_text_field(get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10);
1341 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1380 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
1381 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1342 1382 // Get recently viewed product cookies data
1343 1383 $viewed_products = !empty($_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) ? (array)explode('|', $_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) : array();
1344 1384 $viewed_products = array_filter(array_map('absint', $viewed_products));
1345 1385 //get featured products if has.
@@ -1345,9 +1385,9 @@
1345 1385 //get featured products if has.
1346 1386 $featured_products = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'tax_query' => array(array('taxonomy' => 'product_visibility', 'field' => 'name', 'terms' => 'featured'))));
1347 1387 //Getting recently vieew products.
1348 1388 if (!empty($viewed_products)) {
1349 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))));
1389 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome')));
1350 1390 $product_query = new WP_Query(array(
1351 1391 'posts_per_page' => $product_per_page,
1352 1392 'no_found_rows' => 1,
1353 1393 'post_status' => 'publish',
@@ -1355,15 +1395,16 @@
1355 1395 'post__in' => $viewed_products,
1356 1396 ));
1357 1397 //Getting featured products
1358 1398 } else if ($featured_products->post_count > 0) {
1359 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome'))));
1399 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome')));
1360 1400 $product_query = $featured_products;
1361 1401 } else {
1362 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1402 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1363 1403 //Getting recent products
1364 1404 $product_query = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC'));
1365 1405 }
1406 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))).'</div>';
1366 1407 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1367 1408 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1368 1409 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1369 1410 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1370,10 +1411,10 @@
1370 1411 } else {
1371 1412 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1372 1413 }
1373 1414 $html = '<div class="wp-chatbot-agent-profile">
1374 - <div class="wp-chatbot-widget-avatar"><img src="' . esc_url($wp_chatbot_custom_icon_path) . '" alt=""></div>
1375 - <div class="wp-chatbot-widget-agent">' . esc_html(get_option('qlcd_wp_chatbot_agent')) . '</div>
1415 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1416 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1376 1417 <div class="wp-chatbot-bubble">' . $wp_chatbot_product_title . '</div>
1377 1418 </div>';
1378 1419 if ($product_query->post_count > 0) {
1379 1420 $html .= '<div class="wp-chatbot-products-area">';
@@ -1385,9 +1426,9 @@
1385 1426 $html .= get_the_post_thumbnail(get_the_ID(), 'shop_catalog') . '
1386 1427 <div class="wp-chatbot-product-summary">
1387 1428 <div class="wp-chatbot-product-table">
1388 1429 <div class="wp-chatbot-product-table-cell">
1389 - <h3 class="wp-chatbot-product-title">' . esc_html($product->post->post_title) . '</h3>
1430 + <h3 class="wp-chatbot-product-title">' . $product->post->post_title . '</h3>
1390 1431 <div class="price">' . $product->get_price_html() . '</div>';
1391 1432 $html .= ' </div>
1392 1433 </div>
1393 1434 </div></a>
@@ -1400,9 +1441,10 @@
1400 1441 $html .= '<div class="wp-chatbot-products-area">';
1401 1442 $html .= '<p style="text-align: center">You have no products !';
1402 1443 $html .= '</div>';
1403 1444 }
1404 - wp_send_json($html);
1445 + echo wp_send_json($html);
1446 + die();
1405 1447 }
1406 1448 //Recently viewed product shortcode
1407 1449 add_shortcode('wpwbot_products', 'qcld_wb_chatbot_recently_viewed_shortcode');
1408 1450 function qcld_wb_chatbot_recently_viewed_shortcode(){
@@ -1407,10 +1449,10 @@
1407 1449 add_shortcode('wpwbot_products', 'qcld_wb_chatbot_recently_viewed_shortcode');
1408 1450 function qcld_wb_chatbot_recently_viewed_shortcode(){
1409 1451 // Get wpCommerce Global
1410 1452 $_pf = new WC_Product_Factory();
1411 - $product_per_page = sanitize_text_field(get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10);
1412 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1453 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
1454 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1413 1455 // Get recently viewed product cookies data
1414 1456 $viewed_products = !empty($_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) ? (array)explode('|', $_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) : array();
1415 1457 $viewed_products = array_filter(array_map('absint', $viewed_products));
1416 1458 //get featured products if has.
@@ -1416,9 +1458,9 @@
1416 1458 //get featured products if has.
1417 1459 $featured_products = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'tax_query' => array(array('taxonomy' => 'product_visibility', 'field' => 'name', 'terms' => 'featured'))));
1418 1460 //Getting recently vieew products.
1419 1461 if (!empty($viewed_products)) {
1420 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))));
1462 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome')));
1421 1463 $product_query = new WP_Query(array(
1422 1464 'posts_per_page' => $product_per_page,
1423 1465 'no_found_rows' => 1,
1424 1466 'post_status' => 'publish',
@@ -1426,15 +1468,16 @@
1426 1468 'post__in' => $viewed_products,
1427 1469 ));
1428 1470 //implementing featured products
1429 1471 } else if ($featured_products->post_count > 0) {
1430 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome'))));
1472 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome')));
1431 1473 $product_query = $featured_products;
1432 1474 } else {
1433 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1475 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1434 1476 //Getting recent products
1435 1477 $product_query = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC'));
1436 1478 }
1479 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))).'</div>';
1437 1480 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1438 1481 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1439 1482 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1440 1483 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1441,11 +1484,11 @@
1441 1484 } else {
1442 1485 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1443 1486 }
1444 1487 $html = '<div class="wp-chatbot-agent-profile">
1445 - <div class="wp-chatbot-widget-avatar"><img src="' . esc_url($wp_chatbot_custom_icon_path) . '" alt=""></div>
1446 - <div class="wp-chatbot-widget-agent">' . esc_html(get_option('qlcd_wp_chatbot_agent')) . '</div>
1447 - <div class="wp-chatbot-bubble">' . esc_html($wp_chatbot_product_title) . '</div>
1488 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1489 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1490 + <div class="wp-chatbot-bubble">' . $wp_chatbot_product_title . '</div>
1448 1491 </div>';
1449 1492 if ($product_query->post_count > 0) {
1450 1493 $html .= '<div class="wp-chatbot-products-area">';
1451 1494 $html .= '<ul class="wp-chatbot-products">';
@@ -1456,9 +1499,9 @@
1456 1499 $html .= get_the_post_thumbnail(get_the_ID(), 'shop_catalog') . '
1457 1500 <div class="wp-chatbot-product-summary">
1458 1501 <div class="wp-chatbot-product-table">
1459 1502 <div class="wp-chatbot-product-table-cell">
1460 - <h3 class="wp-chatbot-product-title">' . esc_html($product->post->post_title) . '</h3>
1503 + <h3 class="wp-chatbot-product-title">' . $product->post->post_title . '</h3>
1461 1504 <div class="price">' . $product->get_price_html() . '</div>';
1462 1505 $html .= ' </div>
1463 1506 </div>
1464 1507 </div></a>
@@ -1468,9 +1511,9 @@
1468 1511 wp_reset_postdata();
1469 1512 $html .= '</ul></div>';
1470 1513 } else {
1471 1514 $html .= '<div class="wp-chatbot-products-area">';
1472 - $html .= '<p style="text-align: center">' . __('You have no products', 'chatbot') . ' !';
1515 + $html .= '<p style="text-align: center">' . __('You have no products', 'wpchatbot') . ' !';
1473 1516 $html .= '</div>';
1474 1517 }
1475 1518 return $html;
1476 1519 }
@@ -1484,10 +1527,11 @@
1484 1527 $checkout_url = wc_get_checkout_url();
1485 1528 //$checkout_url = $wpcommerce->cart->get_checkout_url();
1486 1529 $items = $wpcommerce->cart->get_cart();
1487 1530 $itemCount = $wpcommerce->cart->cart_contents_count;
1488 - $cart_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart'))));
1489 - $no_cart_item_msg = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1531 + $cart_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart')));
1532 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1533 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))).'</div>';
1490 1534 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1491 1535 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1492 1536 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1493 1537 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1494,15 +1538,15 @@
1494 1538 } else {
1495 1539 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1496 1540 }
1497 1541 $html = '<div class="wp-chatbot-agent-profile">
1498 - <div class="wp-chatbot-widget-avatar"><img src="' . esc_url($wp_chatbot_custom_icon_path) . '" alt=""></div>
1499 - <div class="wp-chatbot-widget-agent">' . esc_html(get_option('qlcd_wp_chatbot_agent')) . '</div>
1500 - <div class="wp-chatbot-bubble">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome')))) . '</div>
1542 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1543 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1544 + <div class="wp-chatbot-bubble">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))) . '</div>
1501 1545 </div>';
1502 1546 if ($itemCount >= 1) {
1503 1547 $html .= '<div class ="wp-chatbot-cart-container">';
1504 - $html .= '<div class="wp-chatbot-cart-header"><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_title')))) . '</div><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity')))) . '</div><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_price')))) . '</div><div class="qcld-wp-chatbot-cell"></div></div>';
1548 + $html .= '<div class="wp-chatbot-cart-header"><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_title'))) . '</div><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity'))) . '</div><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_price'))) . '</div><div class="qcld-wp-chatbot-cell"></div></div>';
1505 1549 $html .= '<div class ="wp-chatbot-cart-body">';
1506 1550 foreach ($items as $item => $values) {
1507 1551 $cart_item= apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1508 1552 //product image
@@ -1520,9 +1564,9 @@
1520 1564 <div class="qcld-wp-chatbot-cell"></div>
1521 1565 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1522 1566 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1523 1567 </div>';
1524 - $html .= '<div class="wp-chatbot-cart-footer"><div class="qcld-wp-chatbot-cart-page"><a class="wp-chatbot-cart-link" href="' . $cart_url . '" target="_blank" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_link')))) . '</a></div><div class="qcld-wp-chatbot-checkout"><a class="wp-chatbot-checkout-link" href="' . $checkout_url . '" target="_blank" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_checkout_link')))) . '</a></div></div>';
1568 + $html .= '<div class="wp-chatbot-cart-footer"><div class="qcld-wp-chatbot-cart-page"><a class="wp-chatbot-cart-link" href="' . $cart_url . '" target="_blank" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_link'))) . '</a></div><div class="qcld-wp-chatbot-checkout"><a class="wp-chatbot-checkout-link" href="' . $checkout_url . '" target="_blank" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_checkout_link'))) . '</a></div></div>';
1525 1569 $html .= ' </div>';
1526 1570 } else {
1527 1571 $html .= '<div class="wp-chatbot-cart-container">';
1528 1572 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
@@ -1528,9 +1572,10 @@
1528 1572 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
1529 1573 $html .= '</div>';
1530 1574 }
1531 1575 $response = array('html' => $html, 'items' => $itemCount);
1532 - wp_send_json($response);
1576 + echo wp_send_json($response);
1577 + wp_die();
1533 1578 }
1534 1579 //cart onley for wp chatbot
1535 1580 add_action('wp_ajax_qcld_wb_chatbot_only_cart', 'qcld_wb_chatbot_only_cart');
1536 1581 add_action('wp_ajax_nopriv_qcld_wb_chatbot_only_cart', 'qcld_wb_chatbot_only_cart');
@@ -1541,14 +1586,14 @@
1541 1586 $checkout_url = wc_get_checkout_url();
1542 1587 //$checkout_url = $wpcommerce->cart->get_checkout_url();
1543 1588 $items = $wpcommerce->cart->get_cart();
1544 1589 $itemCount = $wpcommerce->cart->cart_contents_count;
1545 - $no_cart_item_msg = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1590 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1546 1591
1547 1592 $html = '';
1548 1593 if ($itemCount >= 1) {
1549 1594 $html .= '<div class ="wp-chatbot-cart-container">';
1550 - $html .= '<div class="wp-chatbot-cart-header"><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_title')))) . '</div><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity')))) . '</div><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_price')))) . '</div><div class="qcld-wp-chatbot-cell"></div></div>';
1595 + $html .= '<div class="wp-chatbot-cart-header"><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_title'))) . '</div><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity'))) . '</div><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_price'))) . '</div><div class="qcld-wp-chatbot-cell"></div></div>';
1551 1596 $html .= '<div class ="wp-chatbot-cart-body">';
1552 1597 foreach ($items as $item => $values) {
1553 1598 $cart_item= apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1554 1599 //product image
@@ -1566,17 +1611,18 @@
1566 1611 <div class="qcld-wp-chatbot-cell"></div>
1567 1612 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1568 1613 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1569 1614 </div>';
1570 - $html .= '<div class="wp-chatbot-cart-footer"><div class="qcld-wp-chatbot-cart-page"><a class="wp-chatbot-cart-link" href="' . $cart_url . '" target="_blank" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_link')))) . '</a></div><div class="qcld-wp-chatbot-checkout"><a class="wp-chatbot-checkout-link" href="' . $checkout_url . '" target="_blank" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_checkout_link')))) . '</a></div></div>';
1615 + $html .= '<div class="wp-chatbot-cart-footer"><div class="qcld-wp-chatbot-cart-page"><a class="wp-chatbot-cart-link" href="' . $cart_url . '" target="_blank" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_link'))) . '</a></div><div class="qcld-wp-chatbot-checkout"><a class="wp-chatbot-checkout-link" href="' . $checkout_url . '" target="_blank" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_checkout_link'))) . '</a></div></div>';
1571 1616 $html .= ' </div>';
1572 1617 } else {
1573 1618 $html .= '<div class="wp-chatbot-cart-container">';
1574 - $html .= '<div><p style="text-align:center">' . esc_html($no_cart_item_msg) . '</p></div>';
1619 + $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
1575 1620 $html .= '</div>';
1576 1621 }
1577 1622 $response = array('html' => $html, 'items' => $itemCount);
1578 - wp_send_json($response);
1623 + echo wp_send_json($response);
1624 + wp_die();
1579 1625 }
1580 1626 //Cart show Shortcode
1581 1627 add_shortcode('wpwbot_cart', 'qcld_wb_chatbot_cart_shortcode');
1582 1628 function qcld_wb_chatbot_cart_shortcode(){
@@ -1582,10 +1628,11 @@
1582 1628 function qcld_wb_chatbot_cart_shortcode(){
1583 1629 global $wpcommerce;
1584 1630 $items = $wpcommerce->cart->get_cart();
1585 1631 $itemCount = $wpcommerce->cart->cart_contents_count;
1586 - $cart_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart'))));
1587 - $no_cart_item_msg = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1632 + $cart_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart')));
1633 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1634 + // $html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))).'</div>';
1588 1635 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1589 1636 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1590 1637 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1591 1638 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1592,15 +1639,15 @@
1592 1639 } else {
1593 1640 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1594 1641 }
1595 1642 $html = '<div class="wp-chatbot-agent-profile">
1596 - <div class="wp-chatbot-widget-avatar"><img src="' . esc_url($wp_chatbot_custom_icon_path) . '" alt=""></div>
1597 - <div class="wp-chatbot-widget-agent">' . esc_html(get_option('qlcd_wp_chatbot_agent')) . '</div>
1598 - <div class="wp-chatbot-bubble">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome')))) . '</div>
1643 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1644 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1645 + <div class="wp-chatbot-bubble">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))) . '</div>
1599 1646 </div>';
1600 1647 if ($itemCount >= 1) {
1601 1648 $html .= '<div class ="wp-chatbot-cart-container">';
1602 - $html .= '<div class="wp-chatbot-cart-header"><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_title')))) . '</div><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity')))) . '</div><div class="qcld-wp-chatbot-cell">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_price')))) . '</div> <div class="qcld-wp-chatbot-cell"></div> </div>';
1649 + $html .= '<div class="wp-chatbot-cart-header"><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_title'))) . '</div><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity'))) . '</div><div class="qcld-wp-chatbot-cell">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_price'))) . '</div> <div class="qcld-wp-chatbot-cell"></div> </div>';
1603 1650 $html .= '<div class ="wp-chatbot-cart-body">';
1604 1651 foreach ($items as $item => $values) {
1605 1652 $cart_item = apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1606 1653 //product image
@@ -1618,9 +1665,9 @@
1618 1665 <div class="qcld-wp-chatbot-cell"></div>
1619 1666 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1620 1667 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1621 1668 </div>';
1622 - $html .= '<div class="wp-chatbot-cart-footer"><div class="qcld-wp-chatbot-cart-page"><a href="' . site_url() . '/cart" target="_blank" >' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_link')))) . '</a></div><div class="qcld-wp-chatbot-checkout"><a href="' . site_url() . '/checkout" target="_blank">' . wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_checkout_link')))) . '</a></div></div>';
1669 + $html .= '<div class="wp-chatbot-cart-footer"><div class="qcld-wp-chatbot-cart-page"><a href="' . site_url() . '/cart" target="_blank" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_link'))) . '</a></div><div class="qcld-wp-chatbot-checkout"><a href="' . site_url() . '/checkout" target="_blank">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_checkout_link'))) . '</a></div></div>';
1623 1670 $html .= ' </div>';
1624 1671 } else {
1625 1672 $html .= '<div class="wp-chatbot-cart-container">';
1626 1673 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
@@ -1632,26 +1679,26 @@
1632 1679 //Updating the cart items.
1633 1680 add_action('wp_ajax_qcld_wb_chatbot_update_cart_item_number', 'qcld_wb_chatbot_update_cart_item_number');
1634 1681 add_action('wp_ajax_nopriv_qcld_wb_chatbot_update_cart_item_number', 'qcld_wb_chatbot_update_cart_item_number');
1635 1682 function qcld_wb_chatbot_update_cart_item_number(){
1636 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1637 1683 //getting cart items n
1638 - $cart_item_key = sanitize_text_field(wp_unslash($_POST['cart_item_key']));
1639 - $qnty = sanitize_text_field(wp_unslash($_POST['qnty']));
1684 + $cart_item_key = sanitize_text_field($_POST['cart_item_key']);
1685 + $qnty = sanitize_text_field($_POST['qnty']);
1640 1686 global $wpcommerce;
1641 1687 $result = $wpcommerce->cart->set_quantity($cart_item_key, $qnty);
1642 - wp_send_json($result);
1688 + echo wp_send_json($result);
1689 + wp_die();
1643 1690 }
1644 1691 //Show item after removing from cart page.
1645 1692 add_action('wp_ajax_qcld_wb_chatbot_cart_item_remove', 'qcld_wb_chatbot_cart_item_remove');
1646 1693 add_action('wp_ajax_nopriv_qcld_wb_chatbot_cart_item_remove', 'qcld_wb_chatbot_cart_item_remove');
1647 1694 function qcld_wb_chatbot_cart_item_remove(){
1648 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1649 1695 //getting cart items n
1650 - $cart_item_key = sanitize_text_field(wp_unslash($_POST['cart_item']));
1696 + $cart_item_key = sanitize_text_field($_POST['cart_item']);
1651 1697 global $wpcommerce;
1652 1698 $result = $wpcommerce->cart->remove_cart_item($cart_item_key);
1653 - wp_send_json($result);
1699 + echo wp_send_json($result);
1700 + wp_die();
1654 1701 }
1655 1702 //Show cart page by shortcode.
1656 1703 add_action('wp_ajax_qcld_wb_chatbot_cart_page', 'qcld_wb_chatbot_cart_page');
1657 1704 add_action('wp_ajax_nopriv_qcld_wb_chatbot_cart_page', 'qcld_wb_chatbot_cart_page');
@@ -1659,13 +1706,14 @@
1659 1706 global $wpcommerce;
1660 1707 $itemCount = $wpcommerce->cart->cart_contents_count;
1661 1708 $html = "";
1662 1709 if ($itemCount < 0) {
1663 - $html .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1710 + $html .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1664 1711 } else {
1665 1712 $html .= do_shortcode("[wpcommerce_cart]");
1666 1713 }
1667 - wp_send_json($html);
1714 + echo wp_send_json($html);
1715 + wp_die();
1668 1716 }
1669 1717 //Show checkout page by shortcode.
1670 1718 add_action('wp_ajax_qcld_wb_chatbot_checkout_page', 'qcld_wb_chatbot_checkout_page');
1671 1719 add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_page', 'qcld_wb_chatbot_checkout_page');
@@ -1674,9 +1722,9 @@
1674 1722 $itemCount = $wpcommerce->cart->cart_contents_count;
1675 1723 $html = "";
1676 1724 if ($itemCount < 0) {
1677 1725 $status = 'no';
1678 - $html .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1726 + $html .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1679 1727 } else {
1680 1728 $status = 'yes';
1681 1729 $checkout_page_id = get_option('wp_chatbot_app_checkout');
1682 1730 $checkout_parmanlink = esc_url(get_permalink($checkout_page_id));
@@ -1682,12 +1730,13 @@
1682 1730 $checkout_parmanlink = esc_url(get_permalink($checkout_page_id));
1683 1731 $html .= $checkout_parmanlink;
1684 1732 }
1685 1733 $response = array('status' => $status, 'html' => $html);
1686 - wp_send_json($response);
1734 + echo wp_send_json($response);
1735 + wp_die();
1687 1736 }
1688 1737 //_dynamic_intent
1689 -function qcld_dynamic_intent(){
1738 +function qc_dynamic_intent(){
1690 1739 global $wpdb;
1691 1740 $intents = array();
1692 1741
1693 1742 $ai_df = get_option('enable_wp_chatbot_dailogflow');
@@ -1704,10 +1753,9 @@
1704 1753
1705 1754 if(class_exists('Qcformbuilder_Forms_Admin')){
1706 1755
1707 1756
1708 - $results = $wpdb->get_results($wpdb->prepare("SELECT * FROM ". $wpdb->prefix."wfb_forms WHERE type= %s",'primary')); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
1709 -
1757 + $results = $wpdb->get_results("SELECT * FROM ". $wpdb->prefix."wfb_forms where 1 and type='primary'");
1710 1758 if(!empty($results)){
1711 1759
1712 1760 foreach($results as $result){
1713 1761 $form = maybe_unserialize($result->config);
@@ -1725,28 +1773,30 @@
1725 1773
1726 1774 }
1727 1775
1728 1776 //User login on Checkout page.
1729 -// add_action('wp_ajax_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1730 -// add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1731 -// function qcld_wb_chatbot_checkout_user_login(){
1732 -// // Nonce is checked, get the POST data and sign user on
1733 -// $info = array();
1734 -// //$info['nonce'] = $_POST['nonce_val'];
1735 -// $info['user_login'] = trim(sanitize_text_field(wp_unslash($_POST['user_name'])));
1736 -// $info['user_password'] = trim(sanitize_text_field(wp_unslash($_POST['user_pass'])));
1737 -// $info['remember'] = true;
1738 -// $user_signon = wp_signon($info, false);
1739 -// // $response=$info;
1740 -// $response = array();
1741 -// if (is_wp_error($user_signon)) {
1742 -// // $response['status'] = "fail";
1743 -// $response = "no";
1744 -// } else {
1745 -// $response = "yes";
1746 -// }
1747 -// wp_send_json($response);
1748 -// }
1777 +add_action('wp_ajax_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1778 +add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1779 +function qcld_wb_chatbot_checkout_user_login(){
1780 + // Nonce is checked, get the POST data and sign user on
1781 + $info = array();
1782 + //$info['nonce'] = $_POST['nonce_val'];
1783 + $info['user_login'] = trim(sanitize_text_field($_POST['user_name']));
1784 + $info['user_password'] = trim(sanitize_text_field($_POST['user_pass']));
1785 + $info['remember'] = true;
1786 + $user_signon = wp_signon($info, false);
1787 + // $response=$info;
1788 + $response = array();
1789 + if (is_wp_error($user_signon)) {
1790 + // $response['status'] = "fail";
1791 + // $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect')));
1792 + $response = "no";
1793 + } else {
1794 + $response = "yes";
1795 + }
1796 + echo wp_send_json($response);
1797 + die();
1798 +}
1749 1799 // Load template for App Order Thank You page url
1750 1800 function wp_chatbot_load_app_template($template){
1751 1801 if (is_page('wpwbot-mobile-app')) {
1752 1802 return dirname(__FILE__) . '/templates/app-templates/app.php';
@@ -1775,16 +1825,15 @@
1775 1825 add_action('init', 'wp_chatbot_create_app_checkout_thankyou_page');
1776 1826 function wp_chatbot_create_app_checkout_thankyou_page(){
1777 1827 if (get_option('wp_chatbot_app_pages') == 1) {
1778 1828 //Mobile App page create
1779 - $existing_app = new WP_Query( array( 'post_type' => 'page', 'name' => 'wpwbot-mobile-app', 'post_status' => 'publish', 'posts_per_page' => 1 ) );
1780 - if ( ! $existing_app->have_posts() ) {
1829 + if (get_page_by_title('wpwBot Mobile App') == NULL) {
1781 1830 //post status and options
1782 1831 $app_page = array(
1783 1832 'comment_status' => 'closed',
1784 1833 'ping_status' => 'closed',
1785 1834 'post_author' => get_current_user_id(),
1786 - 'post_date' => gmdate('Y-m-d H:i:s'),
1835 + 'post_date' => date('Y-m-d H:i:s'),
1787 1836 'post_status' => 'publish',
1788 1837 'post_title' => 'wpwBot Mobile App',
1789 1838 'post_name' => 'wpwbot-mobile-app',
1790 1839 'post_type' => 'page',
@@ -1794,16 +1843,15 @@
1794 1843 //save the id in the database
1795 1844 update_option('wp_chatbot_app_checkout', $wpwbot_app);
1796 1845 }
1797 1846 //App checkout page create
1798 - $existing_checkout = new WP_Query( array( 'post_type' => 'page', 'name' => 'wpwbot-app-checkout', 'post_status' => 'publish', 'posts_per_page' => 1 ) );
1799 - if ( ! $existing_checkout->have_posts() ) {
1847 + if (get_page_by_title('wpwBot App Checkout') == NULL) {
1800 1848 //post status and options
1801 1849 $checkout_page = array(
1802 1850 'comment_status' => 'closed',
1803 1851 'ping_status' => 'closed',
1804 1852 'post_author' => get_current_user_id(),
1805 - 'post_date' => gmdate('Y-m-d H:i:s'),
1853 + 'post_date' => date('Y-m-d H:i:s'),
1806 1854 'post_status' => 'publish',
1807 1855 'post_title' => 'wpwBot App Checkout',
1808 1856 'post_name' => 'wpwbot-app-checkout',
1809 1857 'post_type' => 'page',
@@ -1813,16 +1861,15 @@
1813 1861 //save the id in the database
1814 1862 update_option('wp_chatbot_app_checkout', $app_checkout);
1815 1863 }
1816 1864 //App Order thank you page create
1817 - $existing_thankyou = new WP_Query( array( 'post_type' => 'page', 'name' => 'wpwbot-app-order-thankyou', 'post_status' => 'publish', 'posts_per_page' => 1 ) );
1818 - if ( ! $existing_thankyou->have_posts() ) {
1865 + if (get_page_by_title('wpwBot App Order Thank You') == NULL) {
1819 1866 //post status and options
1820 1867 $thankyou_page = array(
1821 1868 'comment_status' => 'closed',
1822 1869 'ping_status' => 'closed',
1823 1870 'post_author' => get_current_user_id(),
1824 - 'post_date' => gmdate('Y-m-d H:i:s'),
1871 + 'post_date' => date('Y-m-d H:i:s'),
1825 1872 'post_status' => 'publish',
1826 1873 'post_title' => 'wpwBot App Order Thank You',
1827 1874 'post_name' => 'wpwbot-app-order-thankyou',
1828 1875 'post_type' => 'page',
@@ -1833,9 +1880,9 @@
1833 1880 update_option('wp_chatbot_app_order_thankyou', $app_order_thankyou);
1834 1881 }
1835 1882 }
1836 1883 //Keep tracking from App by cookies
1837 - if ( isset( $_GET['from'] ) && sanitize_text_field( wp_unslash( $_GET['from'] ) ) === 'app' ) { // phpcs:ignore WordPress.Security.NonceVerification
1884 + if (isset($_GET['from']) && $_GET['from'] == 'app') {
1838 1885 if (!isset($_COOKIE['from_app'])) {
1839 1886 setcookie('from_app', 'yes', (time() + 3600), '/');
1840 1887 }
1841 1888 }
@@ -1849,9 +1896,9 @@
1849 1896 global $wp;
1850 1897 if (is_checkout() && !empty($wp->query_vars['order-received'])) {
1851 1898 $thanks_page_id = get_option('wp_chatbot_app_order_thankyou');
1852 1899 $thanks_parmanlink = esc_url(get_permalink($thanks_page_id));
1853 - wp_safe_redirect($thanks_parmanlink . '?order_id=' . $order_get_id);
1900 + wp_redirect($thanks_parmanlink . '?order_id=' . $order_get_id);
1854 1901 exit;
1855 1902 }
1856 1903 } else {
1857 1904 remove_action('wpcommerce_thankyou', 'qcld_wb_chatbot__redirect_after_purchase');
@@ -1859,12 +1906,9 @@
1859 1906 }
1860 1907 }
1861 1908
1862 1909 function qcld_choose_random($array){
1863 - if (is_array($array) && !empty($array)) {
1864 - return $array[array_rand($array)];
1865 - }
1866 - return $array;
1910 + return $array[array_rand($array)];
1867 1911 }
1868 1912
1869 1913 //User session count
1870 1914 add_action('wp_ajax_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
@@ -1870,9 +1914,8 @@
1870 1914 add_action('wp_ajax_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
1871 1915 add_action('wp_ajax_nopriv_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
1872 1916 function qcld_wb_chatbot_session_count(){
1873 1917 // Nonce is checked, get the POST data and sign user on
1874 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1875 1918 global $wpdb;
1876 1919 $wpdb->show_errors = true;
1877 1920 $tableuser = $wpdb->prefix.'wpbot_sessions';
1878 1921 $response = array();
@@ -1877,12 +1920,11 @@
1877 1920 $tableuser = $wpdb->prefix.'wpbot_sessions';
1878 1921 $response = array();
1879 1922
1880 1923
1881 - $session_exists = $wpdb->get_row($wpdb->prepare("select * from {$tableuser} where 1 and id = %d",1)); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, PluginCheck.Security.DirectDB.UnescapedDBParameter
1882 -
1924 + $session_exists = $wpdb->get_row("select * from $tableuser where 1 and id = '1'");
1883 1925 if(empty($session_exists)){
1884 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1926 + $wpdb->insert(
1885 1927 $tableuser,
1886 1928 array(
1887 1929 'session' => 1,
1888 1930 )
@@ -1889,10 +1931,9 @@
1889 1931 );
1890 1932 }else{
1891 1933
1892 1934 $session_id = $session_exists->id;
1893 -
1894 - $wpdb->update( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
1935 + $wpdb->update(
1895 1936 $tableuser,
1896 1937 array(
1897 1938 'session'=>($session_exists->session+1),
1898 1939 ),
@@ -1901,18 +1942,18 @@
1901 1942 '%d',
1902 1943 ),
1903 1944 array('%d')
1904 1945 );
1905 -
1906 1946 }
1907 1947
1908 - wp_send_json($response);
1948 + echo wp_send_json($response);
1949 + die();
1909 1950 }
1910 1951
1911 1952 /* WPBot Chat History Addon check */
1912 1953 function qcld_wpbot_is_active_chat_history(){
1913 1954
1914 - if(function_exists('qcwp_chat_session_menu_fnc') || function_exists('qcwp_chat_session_menu_fnc_free') || function_exists( 'qcpdcs_chat_session_menu_fnc' ) ){
1955 + if(function_exists('qcwp_chat_session_menu_fnc') || function_exists( 'qcpdcs_chat_session_menu_fnc' ) ){
1915 1956 return 1;
1916 1957 }else{
1917 1958 return 0;
1918 1959 }
@@ -1918,9 +1959,9 @@
1918 1959 }
1919 1960
1920 1961 }
1921 1962
1922 -function qcld_wpbot_input_validation( $data ) {
1963 +function qc_wpbot_input_validation( $data ) {
1923 1964 $data = html_entity_decode($data);
1924 1965 $data = trim($data);
1925 1966 $data = stripslashes($data);
1926 1967 $data = htmlspecialchars($data);
@@ -1925,23 +1966,16 @@
1925 1966 $data = stripslashes($data);
1926 1967 $data = htmlspecialchars($data);
1927 1968 return $data;
1928 1969 }
1929 -add_action('wp_ajax_qcld_small_talk_import', 'qcld_small_talk_import');
1930 -function qcld_small_talk_import(){
1931 - if ( ! current_user_can( 'manage_options' ) ) {
1932 - wp_die();
1933 - }
1970 +add_action('wp_ajax_small_talk_import', 'small_talk_import');
1971 +function small_talk_import(){
1934 1972 global $wpdb;
1935 -
1936 1973 $table = $wpdb->prefix.'wpbot_response';
1937 -
1938 1974 $csvFile = file(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . 'small_talk.csv');
1939 -
1940 1975 foreach ($csvFile as $line) {
1941 1976 $line = str_getcsv($line, ',', '"');
1942 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1943 - $table, array(
1977 + $wpdb->insert($table, array(
1944 1978 'query' => $line[0],
1945 1979 'keyword' => $line[1],
1946 1980 'response' => $line[2],
1947 1981 'category'=> $line[3],
@@ -1948,60 +1982,11 @@
1948 1982 'intent'=> '',
1949 1983 //'lang'=> 'en_US',
1950 1984 ));
1951 1985 }
1952 -
1953 1986 $table2 = $wpdb->prefix.'wpbot_response_category';
1954 -
1955 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1956 - $table2, array(
1987 + $wpdb->insert($table2, array(
1957 1988 'name' => 'smalltalk',
1958 1989 ));
1959 -
1960 1990 update_option( 'qcld_small_talk_imported', 'yes' );
1961 1991
1962 -}
1963 -function sanitize_array( &$array ) {
1964 - if (!empty($array)) {
1965 - foreach ($array as &$value) {
1966 - if( !is_array($value) )
1967 - // sanitize if value is not an array
1968 - $value = sanitize_text_field( esc_html($value) );
1969 - else
1970 - // go inside this function again
1971 - sanitize_array(esc_html($value));
1972 - }
1973 - }
1974 - return $array;
1975 -}
1976 -function qcld_wpbot_meta_tags() {
1977 - echo '<!-- "This site uses ChatBot for WordPress - WPBot from https://www.wpbot.pro/" -->';
1978 -}
1979 -add_action('wp_footer', 'qcld_wpbot_meta_tags', 100);
1980 -
1981 -if ( ! function_exists( 'qcld_change_language_from_center' ) ) {
1982 - add_action( 'wp_ajax_qcld_change_language_from_center', 'qcld_change_language_from_center' );
1983 - add_action( 'wp_ajax_nopriv_qcld_change_language_from_center', 'qcld_change_language_from_center' );
1984 - function qcld_change_language_from_center() {
1985 - if ( ! current_user_can( 'manage_options' ) ) {
1986 - wp_send_json_error( array( 'message' => 'Unauthorized.' ) );
1987 - }
1988 - $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : '';
1989 - if ( ! wp_verify_nonce( $nonce, 'wp_chatbot' ) ) {
1990 - wp_send_json_error( array( 'message' => 'Invalid nonce.' ) );
1991 - }
1992 - $plugin_path = plugin_dir_path( __FILE__ );
1993 - include $plugin_path . 'includes/admin/settings-fields.php';
1994 - $json_file_path = $plugin_path . 'includes/language-center.json';
1995 -
1996 - $json_string = file_get_contents( $json_file_path );
1997 - if ( isset( $_POST['language'] ) ) {
1998 - $language = sanitize_text_field( wp_unslash( $_POST['language'] ) );
1999 - $language_array= json_decode($json_string)->$language;
2000 - update_option( 'wp_chatbot_language_center_language', $language );
2001 - wp_send_json_success( array( 'message' => true, 'data' => $language_array, 'language' => $language ) );
2002 - } else {
2003 - wp_send_json_error( array( 'message' => 'Language not specified.' ) );
2004 -
2005 - }
2006 - }
2007 -}
1992 +}