PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 3.4.6
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v3.4.6
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 +459 -593 8.7.13.4.6 View file →
@@ -3,129 +3,20 @@
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(){
47 -?>
48 - <script>
49 - jQuery( document ).ready(function() {
50 - 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 - }
57 - }, 500);
58 - });
59 - </script>
60 -<?php
61 -}
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 -}
7 +add_action('wp_footer', 'wp_chatbot_load_footer_html');
116 8 function wp_chatbot_load_footer_html(){
117 - if ( get_option('disable_wp_chatbot') != 1 && wp_chatbot_load_controlling() === true) {
9 +
10 + if (get_option('disable_wp_chatbot') != 1 && wp_chatbot_load_controlling() === true) {
118 11
119 12 ?>
120 13 <style>
121 14 <?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
15 + echo get_option('wp_chatbot_custom_css');
124 16 }
125 17 ?>
126 18 </style>
127 -
128 19 <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
129 20 if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
130 21 $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
131 22 } else {
@@ -133,46 +24,47 @@
133 24 }
134 25 ?>
135 26 <style>
136 27 .wp-chatbot-container {
137 - background-image: url(<?php echo esc_url($qcld_wb_chatbot_board_bg_path); ?>) !important;
28 + background-image: url(<?php echo $qcld_wb_chatbot_board_bg_path;
29 +?>) !important;
138 30 }
139 31 </style>
140 32 <?php }
141 33 $wp_chatbot_enable_rtl = "";
142 - if (get_option('enable_wp_chatbot_rtl') == '1') {
34 + if (get_option('enable_wp_chatbot_rtl')) {
143 35 $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
144 36 }
145 37 $wp_chatbot_enable_mobile_screen = "";
146 - // if (get_option('enable_wp_chatbot_mobile_full_screen')==1) {
38 + if (get_option('enable_wp_chatbot_mobile_full_screen')==1) {
147 39 $wp_chatbot_enable_mobile_screen .= "wp-chatbot-mobile-full-screen";
148 - // }
40 + }
149 41 ?>
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';} ?>">
42 + <div id="wp-chatbot-chat-container" class="<?php echo $wp_chatbot_enable_rtl .' '.$wp_chatbot_enable_mobile_screen; ?>">
151 43 <div id="wp-chatbot-integration-container">
152 44 <div class="wp-chatbot-integration-button-container">
153 45 <?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>
46 + <a href="skype:<?php echo get_option('enable_wp_chatbot_skype_id'); ?>?chat"><span
47 + class="inetegration-skype-btn" title="<?php _e('Skype', 'wpchatbot'); ?>"> </span></a>
156 48 <?php } ?>
157 49 <?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')); ?>"
50 + <a href="<?php echo 'https://api.whatsapp.com/send?phone=' . get_option('qlcd_wp_chatbot_whats_num'); ?>"
159 51 target="_blank"><span class="intergration-whats"
160 - title="<?php esc_html_e('WhatsApp', 'chatbot'); ?>"></span></a>
52 + title="<?php _e('WhatsApp', 'wpchatbot'); ?>"></span></a>
161 53 <?php } ?>
162 54 <?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')); ?>"
55 + <a href="<?php echo 'https://live.viber.com/#/' . get_option('qlcd_wp_chatbot_viber_acc'); ?>"
164 56 target="_blank"><span class="intergration-viber"
165 - title="<?php esc_html_e('Viber', 'chatbot'); ?>"></span></a>
57 + title="<?php _e('Viber', 'wpchatbot'); ?>"></span></a>
166 58 <?php } ?>
167 59 <?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
60 + <a href="tel:<?php echo get_option('qlcd_wp_chatbot_phone'); ?>"><span
169 61 class="intergration-phone"
170 - title="<?php esc_html_e('Phone', 'chatbot'); ?>"> </span></a>
62 + title="<?php _e('Phone', 'wpchatbot'); ?>"> </span></a>
171 63 <?php } ?>
172 64 <?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>
65 + <a href="<?php echo get_option('qlcd_wp_chatbot_weblink'); ?>" target="_blank"><span
66 + class="intergration-weblink" title="<?php _e('Web Link', 'wpchatbot'); ?>"></span></a>
175 67 <?php } ?>
176 68 </div>
177 69 </div>
178 70 <?php
@@ -185,9 +77,9 @@
185 77 }
186 78 if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
187 79 require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
188 80 } else {
189 - echo "<h2>" . esc_html__('No wpWBot Theme Found!', 'chatbot') . "</h2>";
81 + echo "<h2>" . __('No wpWBot Theme Found!', 'wpchatbot') . "</h2>";
190 82 }
191 83 ?>
192 84 <?php
193 85 if (get_option('disable_wp_chatbot_notification') != 1) {
@@ -192,13 +84,11 @@
192 84 <?php
193 85 if (get_option('disable_wp_chatbot_notification') != 1) {
194 86 ?>
195 87 <div id="wp-chatbot-notification-container" class="wp-chatbot-notification-container">
196 - <div class="wp-chatbot-notification-controller">
197 - <span class="wp-chatbot-notification-close">
198 - <?php esc_html_e('X', 'chatbot'); ?>
199 - </span>
200 - </div>
88 + <div class="wp-chatbot-notification-controller"> <span class="wp-chatbot-notification-close">
89 + <?php _e('X', 'wpchatbot'); ?>
90 + </span></div>
201 91 <?php
202 92 $testingTip="";
203 93 if (get_option('wp_chatbot_agent_image') == "custom-agent.png") {
204 94 $wp_chatbot_custom_agent_path = get_option('wp_chatbot_custom_agent_path');
@@ -209,18 +99,18 @@
209 99 }
210 100 ?>
211 101 <div class="wp-chatbot-notification-agent-profile">
212 102 <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>
103 + src="<?php echo $wp_chatbot_custom_agent_path; ?>" alt=""></div>
104 + <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 105 </div>
216 106 <?php
217 107 //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'))));
108 + $notifications = qcld_wb_chatbot_func_str_replace(unserialize(get_option('qlcd_wp_chatbot_notifications')));
219 109
220 110 ?>
221 111
222 - <div class="wp-chatbot-notification-message"><?php echo esc_html($notifications[0]); ?></div>
112 + <div class="wp-chatbot-notification-message"><?php echo $notifications[0]; ?></div>
223 113 </div>
224 114 <?php } ?>
225 115 <!--wp-chatbot-board-container-->
226 116 <div id="wp-chatbot-ball" class="">
@@ -227,79 +117,20 @@
227 117 <div class="wp-chatbot-ball">
228 118 <div class="wp-chatbot-ball-animator wp-chatbot-ball-animation-switch"></div>
229 119 <?php
230 120 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 -
121 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_icon_path');
233 122 } else if (get_option('wp_chatbot_icon') != "custom.png") {
234 123 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_icon');
235 124 } else {
236 125 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom.png';
237 126 }
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 127 ?>
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; ?>
128 + <img src="<?php echo $wp_chatbot_custom_icon_path; ?>"
129 + alt="wpChatIcon">
130 +
258 131 </div>
259 -
260 132 </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 133 <?php
303 134 $fb_app_id = get_option('qlcd_wp_chatbot_fb_app_id');
304 135 $fb_page_id = get_option('qlcd_wp_chatbot_fb_page_id');
305 136 $fb_mgs_color = get_option('qlcd_wp_chatbot_fb_color') != '' ? get_option('qlcd_wp_chatbot_fb_color') : '#0084ff';
@@ -308,18 +139,16 @@
308 139 if (get_option('enable_wp_chatbot_messenger') == 1 && get_option('enable_wp_chatbot_messenger_floating_icon') == 1) {
309 140 ?>
310 141 <!-- wp-chatbot-board-container-->
311 142 <script>
312 -
313 143 window.fbAsyncInit = function () {
314 144 FB.init({
315 - appId: '<?php echo esc_js($fb_app_id); ?>',
145 + appId: '<?php echo $fb_app_id;?>',
316 146 autoLogAppEvents: true,
317 147 xfbml: true,
318 148 version: 'v2.12'
319 149 });
320 150 };
321 -
322 151 (function (d, s, id) {
323 152 var js, fjs = d.getElementsByTagName(s)[0];
324 153 if (d.getElementById(id)) return;
325 154 js = d.createElement(s);
@@ -328,13 +157,13 @@
328 157 fjs.parentNode.insertBefore(js, fjs);
329 158 }(document, 'script', 'facebook-jssdk'));
330 159 </script>
331 160 <div class="fb-customerchat"
332 - page_id="<?php echo esc_attr($fb_page_id); ?>"
161 + page_id="<?php echo $fb_page_id; ?>"
333 162 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>
163 + theme_color="<?php echo $fb_mgs_color; ?>"
164 + logged_in_greeting="<?php echo $fb_mgs_in; ?>"
165 + logged_out_greeting="<?php echo $fb_mgs_out; ?>"></div>
337 166 <?php
338 167 }
339 168 ?>
340 169 <!--container-->
@@ -341,14 +170,8 @@
341 170 <!--wp-chatbot-ball-wrapper-->
342 171 </div>
343 172
344 173 <?php
345 -
346 - if ( get_transient( 'qcld_bot_clear_cache' ) ) {
347 - echo '<script type="text/javascript">var wpbot_clear_cache = 1 </script>';
348 - delete_transient( 'qcld_bot_clear_cache' );
349 - }
350 -
351 174 }else{
352 175 ?>
353 176 <script>
354 177 var openingHourIsFn = 1;
@@ -362,17 +185,17 @@
362 185
363 186
364 187 if (get_option('wp_chatbot_show_pages') == 'off') {
365 188 $wp_chatbot_select_pages = unserialize(get_option('wp_chatbot_show_pages_list'));
189 +
366 190 if (is_page() && !empty($wp_chatbot_select_pages)) {
367 -
191 +
368 192 if (in_array(get_the_ID(), $wp_chatbot_select_pages) == true) {
369 -
193 +
370 194 $wp_chatbot_load = true;
371 195 } else {
372 196 $wp_chatbot_load = false;
373 197 }
374 -
375 198 }
376 199
377 200 if(function_exists('is_shop')){
378 201 if (is_shop() || is_cart() || is_checkout() || 'product' == get_post_type()) {
@@ -392,13 +215,9 @@
392 215 $wp_chatbot_load = false;
393 216 }
394 217 }
395 218
396 - $post_list = maybe_unserialize(get_option('wp_chatbot_exclude_post_list'));
397 -
398 - if( is_array( $post_list ) && in_array(get_post_type(), $post_list)){
399 - $wp_chatbot_load = false;
400 - }
219 +
401 220 if (wp_chatbot_is_mobile() && get_option('disable_wp_chatbot_on_mobile') == 1) {
402 221 $wp_chatbot_load = false;
403 222 }
404 223
@@ -412,13 +231,14 @@
412 231
413 232 if(is_admin()){
414 233 $wp_chatbot_load = false;
415 234 }
235 +
416 236 return $wp_chatbot_load;
417 237 }
418 238 //checking Devices
419 239 function wp_chatbot_is_mobile(){
420 - $useragent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : '';
240 + $useragent = $_SERVER['HTTP_USER_AGENT'];
421 241 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 242 return true;
423 243 } else {
424 244 return false;
@@ -425,13 +245,13 @@
425 245 }
426 246 }
427 247 //Checking wpwbot opening hour
428 248 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')));
249 + $curent_day=strtolower(date('l',strtotime(current_time( 'mysql' ))));
250 + $current_time=date('H:i',strtotime(current_time( 'mysql')));
431 251 $is_wpwbot_open =false;
432 252 if(get_option('wpwbot_hours')) {
433 - $wpwbot_times = wp_kses_post(unserialize(get_option('wpwbot_hours')));
253 + $wpwbot_times = unserialize(get_option('wpwbot_hours'));
434 254 if (isset($wpwbot_times[$curent_day])) {
435 255 $day_times = $wpwbot_times[$curent_day];
436 256 if (!empty($day_times)) {
437 257 foreach ($day_times as $day_time) {
@@ -443,8 +263,183 @@
443 263 }
444 264 }
445 265 return $is_wpwbot_open;
446 266 }
267 +//wpwBot shortcode.
268 +add_shortcode('wpwbot', 'wp_chatbot_short_code');
269 +function wp_chatbot_short_code($atts = []){
270 + ob_start();
271 + wp_chatbot_shortcode_dom($atts);
272 + $content = ob_get_clean();
273 + return $content;
274 +}
275 +function wp_chatbot_shortcode_dom($atts){
276 + //Defaults & Set Parameters for shortcode
277 + extract(shortcode_atts(
278 + array(
279 + 'template' => '01',
280 + ), $atts
281 + ));
282 + ?>
283 + <style>
284 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
285 + </style>
286 + <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
287 + if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
288 + $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
289 + } else {
290 + $qcld_wb_chatbot_board_bg_path = QCLD_wpCHATBOT_IMG_URL . 'background/background.png';
291 + }
292 + ?>
293 + <style>
294 + .wp-chatbot-container {
295 + background: url(<?php echo $qcld_wb_chatbot_board_bg_path ;?>) no-repeat top right !important;
296 + }
297 + </style>
298 +<?php }
299 + $wp_chatbot_enable_rtl = "";
300 + if (get_option('enable_wp_chatbot_rtl')) {
301 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
302 + }
303 + ?>
304 + <div id="wp-chatbot-chat-container" class="<?php echo $wp_chatbot_enable_rtl; ?>">
305 + <?php
306 + //Get wpcommerce cart
307 +
308 + $qcld_wb_chatbot_theme = 'template-' . $template;
309 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/style.css')) {
310 + 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');
311 + wp_enqueue_style('qcld-wp-chatbot-style');
312 + }
313 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
314 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
315 + } else {
316 + echo "<h2>" . __('No wpWBot Theme Found!', 'wpchatbot') . "</h2>";
317 + }
318 + ?>
319 + <?php if (get_option('disable_wp_chatbot') != 1): ?>
320 + <div id="wp-chatbot-notification-container" class="wp-chatbot-notification-container">
321 + <div class="wp-chatbot-notification-controller"> <span class="wp-chatbot-notification-close">X</span> </div>
322 + <?php
323 + if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
324 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
325 + } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
326 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
327 + } else {
328 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
329 + }
330 + ?>
331 + <div class="wp-chatbot-notification-agent-profile">
332 + <div class="wp-chatbot-notification-widget-avatar"><img
333 + src="<?php echo $wp_chatbot_custom_icon_path; ?>" alt=""></div>
334 + <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>
335 + </div>
336 + <div class="wp-chatbot-notification-message"><?php echo wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_notifications'))); ?></div>
337 + </div>
338 + <!--wp-chatbot-board-container-->
339 + <div id="wp-chatbot-ball" class="">
340 + <div class="wp-chatbot-ball">
341 + <div class="wp-chatbot-ball-animator wp-chatbot-ball-animation-switch"></div>
342 + <?php
343 + if (get_option('wp_chatbot_custom_icon_path') != "" && get_option('wp_chatbot_icon') == "custom.png") {
344 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_icon_path');
345 + } else if (get_option('wp_chatbot_custom_icon_path') != "" && get_option('wp_chatbot_icon') != "custom.png") {
346 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_icon');
347 + } else {
348 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom.png';
349 + }
350 + ?>
351 + <img src="<?php echo $wp_chatbot_custom_icon_path; ?>"
352 + alt="wpChatIcon"> <!--<span class="wp-chatbot-ball-cart-items"><?php echo $cart_items_number; ?></span>--> </div>
353 + </div>
354 + <!-- wp-chatbot-board-container-->
355 + <?php endif; ?>
356 + <!--container-->
357 + <!--wp-chatbot-ball-wrapper-->
358 + </div>
359 +<?php } ?>
360 +<?php
361 +//Create shortcode for wpwBot for pages.
362 +add_shortcode('wpbot-page', 'wp_chatbot_page_short_code');
363 +function wp_chatbot_page_short_code(){
364 + ob_start();
365 + wp_chatbot_page_dom();
366 + $content = ob_get_clean();
367 + return $content;
368 +}
369 +function wp_chatbot_page_dom(){ ?>
370 + <style>
371 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
372 + </style>
373 + <?php
374 + //Get wpcommerce cart
375 +
376 + $qcld_wb_chatbot_theme = get_option('qcld_wb_chatbot_theme');
377 + $wp_chatbot_enable_rtl = "";
378 + if (get_option('enable_wp_chatbot_rtl') == 1) {
379 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
380 + }
381 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/shortcode.php')) {
382 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/shortcode.php');
383 + } else {
384 + echo "<h2>" . __('No WPBot ShortCode Theme Found!', 'wpchatbot') . "</h2>";
385 + }
386 +}
387 +//shortcode for wpWBot mobile app
388 +add_shortcode('wpwbot_app', 'wp_chatbot_mobile_app_short_code');
389 +function wp_chatbot_mobile_app_short_code(){ ?>
390 + <style>
391 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
392 + </style>
393 + <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
394 + if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
395 + $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
396 + } else {
397 + $qcld_wb_chatbot_board_bg_path = QCLD_wpCHATBOT_IMG_URL . 'background/background.png';
398 + }
399 + ?>
400 + <style>
401 + .wp-chatbot-container {
402 + background: url(<?php echo $qcld_wb_chatbot_board_bg_path ;?>) no-repeat top right !important;
403 + }
404 + </style>
405 +<?php }
406 + $wp_chatbot_enable_rtl = "";
407 + if (get_option('enable_wp_chatbot_rtl')) {
408 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
409 + }
410 + ?>
411 + <div id="wp-chatbot-chat-app-shortcode-container" class="<?php echo $wp_chatbot_enable_rtl; ?>">
412 + <?php
413 + // keep traking app template.
414 + $template_app = 'yes';
415 + //Get wpcommerce cart
416 +
417 + //Handling shortcode enqeue and remove features part.
418 + define('wpCOMMERCE', true);
419 + wp_enqueue_script('jquery');
420 +
421 +
422 + wp_enqueue_script('wc-address-i18n');
423 + wp_enqueue_script('wc-country-select');
424 +
425 +
426 + // add the action
427 + if (isset($_GET['from']) && $_GET['from'] == 'app') {
428 + if (!isset($_COOKIE['from_app'])) {
429 + setcookie('from_app', 'yes', time() + 3600);
430 + }
431 + }
432 + $qcld_wb_chatbot_theme = get_option('qcld_wb_chatbot_theme');
433 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
434 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
435 + } else {
436 + echo "<h2>" . __('No WPBot Theme Found!', 'wpchatbot') . "</h2>";
437 + }
438 + ?>
439 + </div>
440 + <?php
441 +}
447 442
448 443 /**
449 444 * wpwBot Search keyword product
450 445 */
@@ -450,20 +445,13 @@
450 445 */
451 446 add_action('wp_ajax_qcld_wb_chatbot_keyword', 'qcld_wb_chatbot_keyword');
452 447 add_action('wp_ajax_nopriv_qcld_wb_chatbot_keyword', 'qcld_wb_chatbot_keyword');
453 448 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']));
449 + $keyword = sanitize_text_field($_POST['keyword']);
462 450 $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
463 451 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');
452 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
453 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
466 454 //Merging all query together.
467 455 $argu_params = array(
468 456 'post_type' => 'product',
469 457 'post_status' => 'publish',
@@ -505,9 +493,9 @@
505 493 endwhile;
506 494 wp_reset_postdata();
507 495 $html .= '</ul>';
508 496 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>';
497 + $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 498 }
511 499 }
512 500 $html .= '</div>';
513 501 } else if (get_option('qlcd_wp_chatbot_search_option') == 'advanced') {
@@ -535,16 +523,16 @@
535 523 }
536 524 }
537 525 $html .= '</ul>';
538 526 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>';
527 + $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 528 }
541 529 }
542 530 $html .= '</div>';
543 531 }
544 532 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
545 - wp_send_json($response);
546 -
533 + echo wp_send_json($response);
534 + wp_die();
547 535 }
548 536 /**
549 537 * wpwBot Categories
550 538 */
@@ -552,22 +540,23 @@
552 540 add_action('wp_ajax_nopriv_qcld_wb_chatbot_category', 'qcld_wb_chatbot_category');
553 541 function qcld_wb_chatbot_category(){
554 542 $category_type="common";
555 543 if (get_option('wp_chatbot_show_parent_category') != "") {
556 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'parent' => 0, 'hide_empty' => true, 'fields' => 'all' ) );
544 + $terms = get_terms('product_cat', array('parent' => 0, 'hide_empty' => true, 'fields' => 'all'));
545 +
557 546 } else {
558 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => true, 'fields' => 'all' ) );
547 + $terms = get_terms('product_cat', array('hide_empty' => true, 'fields' => 'all'));
559 548 }
560 549 $html = "";
561 550 foreach ($terms as $term) {
562 - $child_terms=get_terms( array( 'taxonomy' => 'product_cat', 'parent' => $term->term_id, 'hide_empty' => true, 'fields' => 'all' ) );
551 + $child_terms=get_terms('product_cat', array('parent' => $term->term_id, 'hide_empty' => true, 'fields' => 'all'));
563 552 if(get_option('wp_chatbot_show_sub_category')==1 && count($child_terms) >0){
564 553 $category_type="hasChilds";
565 554 }
566 555 $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 556 }
568 - wp_send_json($html);
569 -
557 + echo wp_send_json($html);
558 + wp_die();
570 559 }
571 560 /**
572 561 * wpwBot Sub categories
573 562 */
@@ -573,16 +562,16 @@
573 562 */
574 563 add_action('wp_ajax_qcld_wb_chatbot_sub_category', 'qcld_wb_chatbot_sub_category');
575 564 add_action('wp_ajax_nopriv_qcld_wb_chatbot_sub_category', 'qcld_wb_chatbot_sub_category');
576 565 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' ) );
566 + $parent_id = stripslashes($_POST['parent_id']);
567 + $terms = get_terms('product_cat', array('parent' => $parent_id, 'hide_empty' => true, 'fields' => 'all'));
579 568 $html = "";
580 569 foreach ($terms as $term) {
581 570 $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 571 }
583 - wp_send_json($html);
584 -
572 + echo wp_send_json($html);
573 + wp_die();
585 574 }
586 575 /**
587 576 * wpwBot category product
588 577 */
@@ -588,12 +577,12 @@
588 577 */
589 578 add_action('wp_ajax_qcld_wb_chatbot_category_products', 'qcld_wb_chatbot_category_products');
590 579 add_action('wp_ajax_nopriv_qcld_wb_chatbot_category_products', 'qcld_wb_chatbot_category_products');
591 580 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');
581 + $category_id = stripslashes($_POST['category']);
582 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
583 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
584 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
596 585 //Merging all query together.
597 586 $argu_params = array(
598 587 'post_type' => 'product',
599 588 'post_status' => 'publish',
@@ -655,9 +644,9 @@
655 644 endwhile;
656 645 wp_reset_postdata();
657 646 $html .= '</ul>';
658 647 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>';
648 + $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 649 }
661 650 $html .= '</div>';
662 651 } else {
663 652 $html = '';
@@ -662,9 +651,10 @@
662 651 } else {
663 652 $html = '';
664 653 }
665 654 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
666 - wp_send_json($response);
655 + echo wp_send_json($response);
656 + wp_die();
667 657 }
668 658 /**
669 659 * wpwBot latest, featured, recent product
670 660 */
@@ -670,11 +660,11 @@
670 660 */
671 661 add_action('wp_ajax_qcld_wb_chatbot_featured_products', 'qcld_wb_chatbot_featured_products');
672 662 add_action('wp_ajax_nopriv_qcld_wb_chatbot_featured_products', 'qcld_wb_chatbot_featured_products');
673 663 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');
664 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
665 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
666 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
677 667 //get featured products query.
678 668 $argu_params = array('post_status' => 'publish',
679 669 'posts_per_page' => $product_per_page,
680 670 'post_type' => 'product',
@@ -718,14 +708,15 @@
718 708 endwhile;
719 709 wp_reset_postdata();
720 710 $html .= '</ul>';
721 711 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>';
712 + $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 713 }
724 714 }
725 715 $html .= '</div>';
726 716 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
727 - wp_send_json($response);
717 + echo wp_send_json($response);
718 + wp_die();
728 719 }
729 720 //Product display controll
730 721 function wp_chatbot_product_controlling($product_id){
731 722 $display_product = true;
@@ -740,11 +731,11 @@
740 731 //Get Sale products
741 732 add_action('wp_ajax_qcld_wb_chatbot_sale_products', 'qcld_wb_chatbot_sale_products');
742 733 add_action('wp_ajax_nopriv_qcld_wb_chatbot_sale_products', 'qcld_wb_chatbot_sale_products');
743 734 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');
735 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
736 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
737 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
747 738 //get sale products query.
748 739 $argu_params = array(
749 740 'post_type' => 'product',
750 741 'post_status' => 'publish',
@@ -816,25 +807,26 @@
816 807 endwhile;
817 808 wp_reset_postdata();
818 809 $html .= '</ul>';
819 810 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>';
811 + $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 812 }
822 813 }
823 814 $html .= '</div>';
824 815 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
825 - wp_send_json($response);
816 + echo wp_send_json($response);
817 + wp_die();
826 818 }
827 819 //load more
828 820 add_action('wp_ajax_qcld_wb_chatbot_load_more', 'qcld_wb_chatbot_load_more');
829 821 add_action('wp_ajax_nopriv_qcld_wb_chatbot_load_more', 'qcld_wb_chatbot_load_more');
830 822 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');
823 + $offset = stripslashes($_POST['offset']);
824 + $search_type = stripslashes($_POST['search_type']);
825 + $search_term = stripslashes($_POST['search_term']);
826 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
827 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
828 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
837 829 $next_offset = intval($product_per_page + $offset);
838 830 if ($search_type == 'product' && $search_term != 'featured' && $search_term != 'sale' && get_option('qlcd_wp_chatbot_search_option') == 'advanced') {
839 831 //if have multiple ids then explode else have single need to array push
840 832 if (strpos($search_term, ',') !== false) {
@@ -956,15 +948,16 @@
956 948 $html .= '';
957 949 }
958 950 $response = array('html' => $html, 'product_num' => $product_num, 'search_term' => $search_term, 'offset' => $next_offset, 'per_page' => $product_per_page);
959 951 }
960 - wp_send_json($response);
952 + echo wp_send_json($response);
953 + wp_die();
961 954 }
962 955 //product details
963 956 add_action('wp_ajax_qcld_wb_chatbot_product_details', 'qcld_wb_chatbot_product_details');
964 957 add_action('wp_ajax_nopriv_qcld_wb_chatbot_product_details', 'qcld_wb_chatbot_product_details');
965 958 function qcld_wb_chatbot_product_details(){
966 - $product_id = intval( wp_unslash( $_POST['wp_chatbot_pid'] ) );
959 + $product_id = stripslashes($_POST['wp_chatbot_pid']);
967 960 //Tracking product view from chat board
968 961 wp_chatbot_view_track_product_by_id($product_id);
969 962 //wpcommerce product factory
970 963 $wc_pf = new WC_Product_Factory();
@@ -992,9 +985,9 @@
992 985 }
993 986 }
994 987 $product_image .= '</ul></div>';
995 988 $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>';
989 + $product_sku = '<p class="wp-chatbot-product-sku"> ' . __('SKU', 'wpchatbot') . ' : ' . $product->get_sku() . '</p>';
997 990 //if ( $product->is_in_stock() || $product->is_purchasable() )
998 991 //Handle variable product start
999 992 $variations = "";
1000 993 $add_cart_button = "";
@@ -1035,13 +1028,12 @@
1035 1028 } else {
1036 1029 $variations .= '<div class="wp-chatbot-variable-' . sanitize_title($name) . '">';
1037 1030 $variations .= '<label for="' . sanitize_title($name) . '">' . $title . '</label>';
1038 1031 $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>';
1032 + $variations .= '<option value="">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_choose_option'))) . '</option>';
1040 1033 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 ] ) );
1034 + if (isset($_REQUEST['attribute_' . sanitize_title($name)])) {
1035 + $selected_value = $_REQUEST['attribute_' . sanitize_title($name)];
1044 1036 } else {
1045 1037 $selected_value = '';
1046 1038 }
1047 1039 $variations .= '<option value="' . esc_attr(strtolower($value)) . '"' . selected($selected_value, $value, false) . '>' . apply_filters('wpcommerce_variation_option_name', $value) . '</option>';
@@ -1048,29 +1040,30 @@
1048 1040 }
1049 1041 $variations .= '</select></div>';
1050 1042 }
1051 1043 }
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="" />';
1044 + $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 1045 $add_cart_button .= "<input type='hidden' id='wp-chatbot-variation-data' data-product-variation='" . $variations_data . "' />";
1054 1046 } 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')))) . '" />';
1047 + $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 1048 }
1057 1049 //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>
1050 + $product_quantity .= '<label for="">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity'))) . '</label>
1059 1051 <input type="number" id="vPQuantity" value="1" />';
1060 1052 }
1061 1053 //$response=$full_size_image;
1062 1054 $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);
1055 + echo wp_send_json($response);
1056 + wp_die();
1064 1057 }
1065 1058 //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();
1059 +add_action('wp_ajax_variable_add_to_cart', 'qcld_wb_chatbot_variable_add_to_cart');
1060 +add_action('wp_ajax_nopriv_variable_add_to_cart', 'qcld_wb_chatbot_variable_add_to_cart');
1061 +function qcld_wb_chatbot_variable_add_to_cart(){
1062 + $product_id = stripslashes($_POST['p_id']);
1063 + $quantity = stripslashes($_POST['quantity']);
1064 + $variations_id = stripslashes($_POST['variations_id']);
1065 + $attrs = stripslashes($_POST['attributes']);
1073 1066 //echo wp_send_json(array('p_id'=>$product_id,'qnty'=>$quantity,'id'=>$variations_id,'att'=>$attrs));
1074 1067 $attributes = array();
1075 1068 foreach ($attrs as $attr) {
1076 1069 $single = explode("#", $attr);
@@ -1081,68 +1074,60 @@
1081 1074 }
1082 1075 global $wpcommerce;
1083 1076 $result = $wpcommerce->cart->add_to_cart($product_id, $quantity, $variations_id, $attributes, null);
1084 1077 if ($result != false) {
1085 - wp_send_json('variable');
1078 + echo wp_send_json('variable');
1086 1079 } else {
1087 - wp_send_json('error');
1080 + echo wp_send_json('error');
1088 1081 }
1082 + wp_die();
1089 1083 }
1090 1084 //Add to cart for simple product.
1091 1085 add_action('wp_ajax_qcld_wb_chatbot_add_to_cart', 'qcld_wb_chatbot_add_to_cart');
1092 1086 add_action('wp_ajax_nopriv_qcld_wb_chatbot_add_to_cart', 'qcld_wb_chatbot_add_to_cart');
1093 1087 function qcld_wb_chatbot_add_to_cart(){
1094 - $product_id = intval( wp_unslash( $_POST['product_id'] ) );
1095 - $product_quantity = intval( wp_unslash( $_POST['quantity'] ) );
1088 + $product_id = stripslashes($_POST['product_id']);
1089 + $product_quantity = stripslashes($_POST['quantity']);
1096 1090 global $wpcommerce;
1097 1091 $result = $wpcommerce->cart->add_to_cart($product_id, $product_quantity);
1098 1092 if ($result != false) {
1099 - wp_send_json('simple');
1093 + echo wp_send_json('simple');
1100 1094 } else {
1101 - wp_send_json('error');
1095 + echo wp_send_json('error');
1102 1096 }
1097 + wp_die();
1103 1098 }
1104 1099 //Support part
1105 1100 add_action('wp_ajax_qcld_wb_chatbot_support_email', 'qcld_wb_chatbot_support_email');
1106 1101 add_action('wp_ajax_nopriv_qcld_wb_chatbot_support_email', 'qcld_wb_chatbot_support_email');
1107 1102 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');
1103 + $name = trim(sanitize_text_field($_POST['name']));
1104 + $email = sanitize_email($_POST['email']);
1105 + $message = sanitize_text_field($_POST['message']);
1106 + $subject = get_option('qlcd_wp_chatbot_email_sub') != '' ? get_option('qlcd_wp_chatbot_email_sub') : 'Support Email from wpWBot by Client';
1116 1107 //Extract Domain
1117 1108 $url = get_site_url();
1118 - $url = wp_parse_url($url);
1109 + $url = parse_url($url);
1119 1110 $domain = $url['host'];
1120 1111 //$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);
1123 -
1124 -
1125 - if(get_option('qlcd_wp_chatbot_from_email') && get_option('qlcd_wp_chatbot_from_email')!=''){
1126 - $fromEmail = get_option('qlcd_wp_chatbot_from_email');
1127 - }else{
1128 - $fromEmail = "wordpress@" . $domain;
1129 - }
1112 + $admin_email = get_option('admin_email');
1113 + $toEmail = get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email;
1114 + $fromEmail = "wordpress@" . $domain;
1130 1115 //Starting messaging and status.
1131 1116 $response['status'] = 'fail';
1132 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_email_fail')));
1117 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_email_fail'));
1133 1118 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'))));
1119 + $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_invalid_email')));
1135 1120 $response['status'] = 'fail';
1136 1121 } else {
1137 1122 //build email body
1138 1123 $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>';
1124 + $bodyContent .= '<p><strong>' . __('Support Request Details', 'wpchatbot') . ':</strong></p><hr>';
1125 + $bodyContent .= '<p>' . __('Name', 'wpchatbot') . ' : ' . $name . '</p>';
1126 + $bodyContent .= '<p>' . __('Email', 'wpchatbot') . ' : ' . $email . '</p>';
1127 + $bodyContent .= '<p>' . __('Subject', 'wpchatbot') . ' : ' . $subject . '</p>';
1128 + $bodyContent .= '<p>' . __('Message', 'wpchatbot') . ' : ' . $message . '</p>';
1129 + $bodyContent .= '<p>' . __('Mail Generated on', 'wpchatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1145 1130 $to = $toEmail;
1146 1131 $body = $bodyContent;
1147 1132 $headers = array();
1148 1133 $headers[] = 'Content-Type: text/html; charset=UTF-8';
@@ -1150,13 +1135,13 @@
1150 1135 $headers[] = 'Reply-To: ' . $name . ' <' . $email . '>';
1151 1136 $result = wp_mail($to, $subject, $body, $headers);
1152 1137 if ($result) {
1153 1138 $response['status'] = 'success';
1154 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_email_sent')));
1139 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_email_sent'));
1155 1140 }
1156 -
1157 1141 }
1158 - echo wp_json_encode($response);
1142 + ob_clean();
1143 + echo json_encode($response);
1159 1144 die();
1160 1145 }
1161 1146 //Support Phone
1162 1147 add_action('wp_ajax_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
@@ -1161,37 +1146,30 @@
1161 1146 //Support Phone
1162 1147 add_action('wp_ajax_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
1163 1148 add_action('wp_ajax_nopriv_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
1164 1149 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']));
1150 + $name = trim(sanitize_text_field($_POST['name']));
1151 + $phone =sanitize_text_field($_POST['phone']);
1168 1152 $subject = 'WPBot Support Mail Request for Call Back';
1169 1153 //Extract Domain
1170 1154 $url = get_site_url();
1171 - $url = wp_parse_url($url);
1155 + $url = parse_url($url);
1172 1156 $domain = $url['host'];
1173 1157 //$admin_email = "admin@" . $domain;
1174 1158 $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);
1176 -
1177 -
1178 - 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'));
1180 - }else{
1181 - $fromEmail = "wordpress@" . $domain;
1182 - }
1159 + $toEmail = get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email;
1160 + $fromEmail = "wordpress@" . $domain;
1183 1161 //Starting messaging and status.
1184 1162 $response['status'] = 'fail';
1185 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_phone_fail')));
1163 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_phone_fail'));
1186 1164 //build email body
1187 1165 $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>';
1166 + $bodyContent .= '<p><strong>' . __('Support Request Details', 'wpchatbot') . ':</strong></p><hr>';
1167 + $bodyContent .= '<p>' . __('Name', 'wpchatbot') . ' : ' . $name . '</p>';
1168 + $bodyContent .= '<p>' . __('Phone', 'wpchatbot') . ' : ' . $phone . '</p>';
1169 + $bodyContent .= '<p>' . __('Subject', 'wpchatbot') . ' : ' . $subject . '</p>';
1170 + $bodyContent .= '<p>' . __('Message', 'wpchatbot') . ' : ' . __(' Call me at ', 'wpchatbot'). $phone . '</p>';
1171 + $bodyContent .= '<p>' . __('Mail Generated on', 'wpchatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1194 1172 $to = $toEmail;
1195 1173 $body = $bodyContent;
1196 1174 $headers = array();
1197 1175 $headers[] = 'Content-Type: text/html; charset=UTF-8';
@@ -1199,17 +1177,39 @@
1199 1177 $headers[] = 'Reply-To: ' . $name . ' <' . $fromEmail . '>';
1200 1178 $result = wp_mail($to, $subject, $body, $headers);
1201 1179 if ($result) {
1202 1180 $response['status'] = 'success';
1203 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_phone_sent')));
1181 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_phone_sent'));
1204 1182 }
1205 - echo wp_json_encode($response);
1183 + ob_clean();
1184 + echo json_encode($response);
1206 1185 die();
1207 1186 }
1208 -// Order Status part. removed
1209 -
1187 +// Order Status part.
1188 +add_action('wp_ajax_qcld_wb_chatbot_check_user', 'qcld_wb_chatbot_check_user');
1189 +add_action('wp_ajax_nopriv_qcld_wb_chatbot_check_user', 'qcld_wb_chatbot_check_user');
1190 +function qcld_wb_chatbot_check_user(){
1191 + global $wpcommerce;
1192 + $user_name = trim(sanitize_text_field($_POST['user_name']));
1193 + $response = array();
1194 + $response['message'] = "";
1195 + if (username_exists($user_name)) {
1196 + if (get_option('qlcd_wp_chatbot_order_user') == 'login') {
1197 + $response['status'] = "success";
1198 + $response['message'] .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_thanks')));
1199 + $response['html'] .= '<p>' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_password'))) . '</p>';
1200 + } else if (get_option('qlcd_wp_chatbot_order_user') == 'not_login') {
1201 + $response = get_order_by_username($user_name);
1202 + }
1203 + } else {
1204 + $response['status'] = "fail";
1205 + $response['message'] .= '<strong>' . $user_name . '</strong> ' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_not_exist')));
1206 + }
1207 + echo wp_send_json($response);
1208 + die();
1209 +}
1210 1210 function wpb_randmom_message_handle($items){
1211 - return $items[wp_rand(0, count($items) - 1)];
1211 + return $items[rand(0, count($items) - 1)];
1212 1212 }
1213 1213 function qcld_wb_chatbot_func_str_replace($messages = array()){
1214 1214 $refined_mesgses = array();
1215 1215 foreach ($messages as $message) {
@@ -1224,21 +1224,22 @@
1224 1224 // First check the nonce, if it fails the function will break
1225 1225 check_ajax_referer('wpwbot-order-nonce', 'security');
1226 1226 // Nonce is checked, get the POST data and sign user on
1227 1227 $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'])));
1228 + $info['user_login'] = trim(sanitize_text_field($_POST['user_name']));
1229 + $info['user_password'] = trim(sanitize_text_field($_POST['user_pass']));
1230 1230 $info['remember'] = true;
1231 1231 $user_signon = wp_signon($info, false);
1232 1232 $response = array();
1233 1233 if (is_wp_error($user_signon)) {
1234 1234 $response['status'] = "fail";
1235 - $response['message'] = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect'))));
1235 + $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect')));
1236 1236 } else {
1237 1237 $response = get_order_by_username($info['user_login']);
1238 1238 $response['status'] = "success";
1239 1239 }
1240 - wp_send_json($response);
1240 + echo wp_send_json($response);
1241 + die();
1241 1242 }
1242 1243 add_action('wp_ajax_qcld_wb_chatbot_loged_in_user_orders', 'qcld_wb_chatbot_loged_in_user_orders');
1243 1244 add_action('wp_ajax_nopriv_qcld_wb_chatbot_loged_in_user_orders', 'qcld_wb_chatbot_loged_in_user_orders');
1244 1245 function qcld_wb_chatbot_loged_in_user_orders(){
@@ -1244,9 +1245,10 @@
1244 1245 function qcld_wb_chatbot_loged_in_user_orders(){
1245 1246 $current_user = wp_get_current_user();
1246 1247 $user_name = $current_user->user_login;
1247 1248 $response = get_order_by_username($user_name);
1248 - wp_send_json($response);
1249 + echo wp_send_json($response);
1250 + die();
1249 1251 }
1250 1252 function get_order_by_username($user_name){
1251 1253 global $post;
1252 1254 $response = array();
@@ -1264,28 +1266,28 @@
1264 1266 ));
1265 1267 $response['order_num'] = count($customer_orders);
1266 1268 $order_html = '';
1267 1269 if ($response['order_num'] > 0) {
1268 - $response['message'] .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_found'))));
1270 + $response['message'] .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_found')));
1269 1271 $order_html .= '<div class="wp-chatbot-orders-container">
1270 1272 <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>
1273 + <div class="order-id">' . __('ID', 'wpchatbot') . '</div>
1274 + <div class="order-date">' . __('Date', 'wpchatbot') . ' </div>
1275 + <div class="order-items">' . __('Items', 'wpchatbot') . '</div>
1276 + <div class="order-status">' . __('Status', 'wpchatbot') . '</div>
1275 1277 </div>';
1276 1278 foreach ($customer_orders as $order) {
1277 1279 //Formatting order summery
1278 1280 if (isset($_COOKIE['from_app']) && $_COOKIE['from_app'] == 'yes') {
1279 - $thanks_page_id = sanitize_text_field(get_option('wp_chatbot_app_order_thankyou'));
1281 + $thanks_page_id = get_option('wp_chatbot_app_order_thankyou');
1280 1282 $thanks_parmanlink = esc_url(get_permalink($thanks_page_id));
1281 1283 $order_url = '<a href="' . $thanks_parmanlink . '?order_id=' . $order->ID . '" >' . $order->ID . '</a>';
1282 1284 } 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>';
1285 + $order_url = '<a href="' . get_permalink(get_option('wpcommerce_myaccount_page_id')) . '/view-order/' . $order->ID . '" target="_blank" >' . $order->ID . '</a>';
1284 1286 }
1285 1287 $order_html .= '<div class="wp-chatbot-orders-single">
1286 1288 <div class="order-id"> ' . $order_url . '</div>
1287 - <div class="order-date"> <p>' . gmdate("m/d/Y", strtotime($order->post_date)) . '</p> </div>
1289 + <div class="order-date"> <p>' . date("m/d/Y", strtotime($order->post_date)) . '</p> </div>
1288 1290 <div class="order-items">';
1289 1291 $singleOrder = new WC_Order($order->ID);
1290 1292 $items = $singleOrder->get_items();
1291 1293 foreach ($items as $item) {
@@ -1298,9 +1300,9 @@
1298 1300 }
1299 1301 $order_html .= '</div>';
1300 1302 } else {
1301 1303 $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>';
1304 + $order_html .= '<p>' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_not_found'))) . '</p>';
1303 1305 }
1304 1306 $response['html'] = $order_html;
1305 1307 return $response;
1306 1308 }
@@ -1336,10 +1338,10 @@
1336 1338 function qcld_wb_chatbot_recently_viewed_products(){
1337 1339 // Get wpCommerce Global
1338 1340 $_pf = new WC_Product_Factory();
1339 1341 //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'))));
1342 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
1343 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1342 1344 // Get recently viewed product cookies data
1343 1345 $viewed_products = !empty($_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) ? (array)explode('|', $_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) : array();
1344 1346 $viewed_products = array_filter(array_map('absint', $viewed_products));
1345 1347 //get featured products if has.
@@ -1345,9 +1347,9 @@
1345 1347 //get featured products if has.
1346 1348 $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 1349 //Getting recently vieew products.
1348 1350 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'))));
1351 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome')));
1350 1352 $product_query = new WP_Query(array(
1351 1353 'posts_per_page' => $product_per_page,
1352 1354 'no_found_rows' => 1,
1353 1355 'post_status' => 'publish',
@@ -1355,15 +1357,16 @@
1355 1357 'post__in' => $viewed_products,
1356 1358 ));
1357 1359 //Getting featured products
1358 1360 } 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'))));
1361 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome')));
1360 1362 $product_query = $featured_products;
1361 1363 } else {
1362 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1364 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1363 1365 //Getting recent products
1364 1366 $product_query = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC'));
1365 1367 }
1368 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))).'</div>';
1366 1369 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1367 1370 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1368 1371 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1369 1372 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1370,10 +1373,10 @@
1370 1373 } else {
1371 1374 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1372 1375 }
1373 1376 $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>
1377 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1378 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1376 1379 <div class="wp-chatbot-bubble">' . $wp_chatbot_product_title . '</div>
1377 1380 </div>';
1378 1381 if ($product_query->post_count > 0) {
1379 1382 $html .= '<div class="wp-chatbot-products-area">';
@@ -1385,9 +1388,9 @@
1385 1388 $html .= get_the_post_thumbnail(get_the_ID(), 'shop_catalog') . '
1386 1389 <div class="wp-chatbot-product-summary">
1387 1390 <div class="wp-chatbot-product-table">
1388 1391 <div class="wp-chatbot-product-table-cell">
1389 - <h3 class="wp-chatbot-product-title">' . esc_html($product->post->post_title) . '</h3>
1392 + <h3 class="wp-chatbot-product-title">' . $product->post->post_title . '</h3>
1390 1393 <div class="price">' . $product->get_price_html() . '</div>';
1391 1394 $html .= ' </div>
1392 1395 </div>
1393 1396 </div></a>
@@ -1400,9 +1403,10 @@
1400 1403 $html .= '<div class="wp-chatbot-products-area">';
1401 1404 $html .= '<p style="text-align: center">You have no products !';
1402 1405 $html .= '</div>';
1403 1406 }
1404 - wp_send_json($html);
1407 + echo wp_send_json($html);
1408 + die();
1405 1409 }
1406 1410 //Recently viewed product shortcode
1407 1411 add_shortcode('wpwbot_products', 'qcld_wb_chatbot_recently_viewed_shortcode');
1408 1412 function qcld_wb_chatbot_recently_viewed_shortcode(){
@@ -1407,10 +1411,10 @@
1407 1411 add_shortcode('wpwbot_products', 'qcld_wb_chatbot_recently_viewed_shortcode');
1408 1412 function qcld_wb_chatbot_recently_viewed_shortcode(){
1409 1413 // Get wpCommerce Global
1410 1414 $_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'))));
1415 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
1416 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1413 1417 // Get recently viewed product cookies data
1414 1418 $viewed_products = !empty($_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) ? (array)explode('|', $_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) : array();
1415 1419 $viewed_products = array_filter(array_map('absint', $viewed_products));
1416 1420 //get featured products if has.
@@ -1416,9 +1420,9 @@
1416 1420 //get featured products if has.
1417 1421 $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 1422 //Getting recently vieew products.
1419 1423 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'))));
1424 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome')));
1421 1425 $product_query = new WP_Query(array(
1422 1426 'posts_per_page' => $product_per_page,
1423 1427 'no_found_rows' => 1,
1424 1428 'post_status' => 'publish',
@@ -1426,15 +1430,16 @@
1426 1430 'post__in' => $viewed_products,
1427 1431 ));
1428 1432 //implementing featured products
1429 1433 } 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'))));
1434 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome')));
1431 1435 $product_query = $featured_products;
1432 1436 } else {
1433 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1437 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1434 1438 //Getting recent products
1435 1439 $product_query = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC'));
1436 1440 }
1441 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))).'</div>';
1437 1442 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1438 1443 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1439 1444 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1440 1445 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1441,11 +1446,11 @@
1441 1446 } else {
1442 1447 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1443 1448 }
1444 1449 $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>
1450 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1451 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1452 + <div class="wp-chatbot-bubble">' . $wp_chatbot_product_title . '</div>
1448 1453 </div>';
1449 1454 if ($product_query->post_count > 0) {
1450 1455 $html .= '<div class="wp-chatbot-products-area">';
1451 1456 $html .= '<ul class="wp-chatbot-products">';
@@ -1456,9 +1461,9 @@
1456 1461 $html .= get_the_post_thumbnail(get_the_ID(), 'shop_catalog') . '
1457 1462 <div class="wp-chatbot-product-summary">
1458 1463 <div class="wp-chatbot-product-table">
1459 1464 <div class="wp-chatbot-product-table-cell">
1460 - <h3 class="wp-chatbot-product-title">' . esc_html($product->post->post_title) . '</h3>
1465 + <h3 class="wp-chatbot-product-title">' . $product->post->post_title . '</h3>
1461 1466 <div class="price">' . $product->get_price_html() . '</div>';
1462 1467 $html .= ' </div>
1463 1468 </div>
1464 1469 </div></a>
@@ -1468,9 +1473,9 @@
1468 1473 wp_reset_postdata();
1469 1474 $html .= '</ul></div>';
1470 1475 } else {
1471 1476 $html .= '<div class="wp-chatbot-products-area">';
1472 - $html .= '<p style="text-align: center">' . __('You have no products', 'chatbot') . ' !';
1477 + $html .= '<p style="text-align: center">' . __('You have no products', 'wpchatbot') . ' !';
1473 1478 $html .= '</div>';
1474 1479 }
1475 1480 return $html;
1476 1481 }
@@ -1484,10 +1489,11 @@
1484 1489 $checkout_url = wc_get_checkout_url();
1485 1490 //$checkout_url = $wpcommerce->cart->get_checkout_url();
1486 1491 $items = $wpcommerce->cart->get_cart();
1487 1492 $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'))));
1493 + $cart_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart')));
1494 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1495 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))).'</div>';
1490 1496 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1491 1497 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1492 1498 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1493 1499 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1494,15 +1500,15 @@
1494 1500 } else {
1495 1501 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1496 1502 }
1497 1503 $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>
1504 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1505 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1506 + <div class="wp-chatbot-bubble">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))) . '</div>
1501 1507 </div>';
1502 1508 if ($itemCount >= 1) {
1503 1509 $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>';
1510 + $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 1511 $html .= '<div class ="wp-chatbot-cart-body">';
1506 1512 foreach ($items as $item => $values) {
1507 1513 $cart_item= apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1508 1514 //product image
@@ -1520,9 +1526,9 @@
1520 1526 <div class="qcld-wp-chatbot-cell"></div>
1521 1527 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1522 1528 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1523 1529 </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>';
1530 + $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 1531 $html .= ' </div>';
1526 1532 } else {
1527 1533 $html .= '<div class="wp-chatbot-cart-container">';
1528 1534 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
@@ -1528,9 +1534,10 @@
1528 1534 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
1529 1535 $html .= '</div>';
1530 1536 }
1531 1537 $response = array('html' => $html, 'items' => $itemCount);
1532 - wp_send_json($response);
1538 + echo wp_send_json($response);
1539 + wp_die();
1533 1540 }
1534 1541 //cart onley for wp chatbot
1535 1542 add_action('wp_ajax_qcld_wb_chatbot_only_cart', 'qcld_wb_chatbot_only_cart');
1536 1543 add_action('wp_ajax_nopriv_qcld_wb_chatbot_only_cart', 'qcld_wb_chatbot_only_cart');
@@ -1541,14 +1548,14 @@
1541 1548 $checkout_url = wc_get_checkout_url();
1542 1549 //$checkout_url = $wpcommerce->cart->get_checkout_url();
1543 1550 $items = $wpcommerce->cart->get_cart();
1544 1551 $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'))));
1552 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1546 1553
1547 1554 $html = '';
1548 1555 if ($itemCount >= 1) {
1549 1556 $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>';
1557 + $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 1558 $html .= '<div class ="wp-chatbot-cart-body">';
1552 1559 foreach ($items as $item => $values) {
1553 1560 $cart_item= apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1554 1561 //product image
@@ -1566,17 +1573,18 @@
1566 1573 <div class="qcld-wp-chatbot-cell"></div>
1567 1574 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1568 1575 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1569 1576 </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>';
1577 + $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 1578 $html .= ' </div>';
1572 1579 } else {
1573 1580 $html .= '<div class="wp-chatbot-cart-container">';
1574 - $html .= '<div><p style="text-align:center">' . esc_html($no_cart_item_msg) . '</p></div>';
1581 + $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
1575 1582 $html .= '</div>';
1576 1583 }
1577 1584 $response = array('html' => $html, 'items' => $itemCount);
1578 - wp_send_json($response);
1585 + echo wp_send_json($response);
1586 + wp_die();
1579 1587 }
1580 1588 //Cart show Shortcode
1581 1589 add_shortcode('wpwbot_cart', 'qcld_wb_chatbot_cart_shortcode');
1582 1590 function qcld_wb_chatbot_cart_shortcode(){
@@ -1582,10 +1590,11 @@
1582 1590 function qcld_wb_chatbot_cart_shortcode(){
1583 1591 global $wpcommerce;
1584 1592 $items = $wpcommerce->cart->get_cart();
1585 1593 $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'))));
1594 + $cart_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart')));
1595 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1596 + // $html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))).'</div>';
1588 1597 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1589 1598 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1590 1599 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1591 1600 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1592,15 +1601,15 @@
1592 1601 } else {
1593 1602 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1594 1603 }
1595 1604 $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>
1605 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1606 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1607 + <div class="wp-chatbot-bubble">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))) . '</div>
1599 1608 </div>';
1600 1609 if ($itemCount >= 1) {
1601 1610 $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>';
1611 + $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 1612 $html .= '<div class ="wp-chatbot-cart-body">';
1604 1613 foreach ($items as $item => $values) {
1605 1614 $cart_item = apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1606 1615 //product image
@@ -1618,9 +1627,9 @@
1618 1627 <div class="qcld-wp-chatbot-cell"></div>
1619 1628 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1620 1629 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1621 1630 </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>';
1631 + $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 1632 $html .= ' </div>';
1624 1633 } else {
1625 1634 $html .= '<div class="wp-chatbot-cart-container">';
1626 1635 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
@@ -1632,26 +1641,26 @@
1632 1641 //Updating the cart items.
1633 1642 add_action('wp_ajax_qcld_wb_chatbot_update_cart_item_number', 'qcld_wb_chatbot_update_cart_item_number');
1634 1643 add_action('wp_ajax_nopriv_qcld_wb_chatbot_update_cart_item_number', 'qcld_wb_chatbot_update_cart_item_number');
1635 1644 function qcld_wb_chatbot_update_cart_item_number(){
1636 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1637 1645 //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']));
1646 + $cart_item_key = sanitize_text_field($_POST['cart_item_key']);
1647 + $qnty = sanitize_text_field($_POST['qnty']);
1640 1648 global $wpcommerce;
1641 1649 $result = $wpcommerce->cart->set_quantity($cart_item_key, $qnty);
1642 - wp_send_json($result);
1650 + echo wp_send_json($result);
1651 + wp_die();
1643 1652 }
1644 1653 //Show item after removing from cart page.
1645 1654 add_action('wp_ajax_qcld_wb_chatbot_cart_item_remove', 'qcld_wb_chatbot_cart_item_remove');
1646 1655 add_action('wp_ajax_nopriv_qcld_wb_chatbot_cart_item_remove', 'qcld_wb_chatbot_cart_item_remove');
1647 1656 function qcld_wb_chatbot_cart_item_remove(){
1648 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1649 1657 //getting cart items n
1650 - $cart_item_key = sanitize_text_field(wp_unslash($_POST['cart_item']));
1658 + $cart_item_key = sanitize_text_field($_POST['cart_item']);
1651 1659 global $wpcommerce;
1652 1660 $result = $wpcommerce->cart->remove_cart_item($cart_item_key);
1653 - wp_send_json($result);
1661 + echo wp_send_json($result);
1662 + wp_die();
1654 1663 }
1655 1664 //Show cart page by shortcode.
1656 1665 add_action('wp_ajax_qcld_wb_chatbot_cart_page', 'qcld_wb_chatbot_cart_page');
1657 1666 add_action('wp_ajax_nopriv_qcld_wb_chatbot_cart_page', 'qcld_wb_chatbot_cart_page');
@@ -1659,13 +1668,14 @@
1659 1668 global $wpcommerce;
1660 1669 $itemCount = $wpcommerce->cart->cart_contents_count;
1661 1670 $html = "";
1662 1671 if ($itemCount < 0) {
1663 - $html .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1672 + $html .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1664 1673 } else {
1665 1674 $html .= do_shortcode("[wpcommerce_cart]");
1666 1675 }
1667 - wp_send_json($html);
1676 + echo wp_send_json($html);
1677 + wp_die();
1668 1678 }
1669 1679 //Show checkout page by shortcode.
1670 1680 add_action('wp_ajax_qcld_wb_chatbot_checkout_page', 'qcld_wb_chatbot_checkout_page');
1671 1681 add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_page', 'qcld_wb_chatbot_checkout_page');
@@ -1674,9 +1684,9 @@
1674 1684 $itemCount = $wpcommerce->cart->cart_contents_count;
1675 1685 $html = "";
1676 1686 if ($itemCount < 0) {
1677 1687 $status = 'no';
1678 - $html .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1688 + $html .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1679 1689 } else {
1680 1690 $status = 'yes';
1681 1691 $checkout_page_id = get_option('wp_chatbot_app_checkout');
1682 1692 $checkout_parmanlink = esc_url(get_permalink($checkout_page_id));
@@ -1682,71 +1692,34 @@
1682 1692 $checkout_parmanlink = esc_url(get_permalink($checkout_page_id));
1683 1693 $html .= $checkout_parmanlink;
1684 1694 }
1685 1695 $response = array('status' => $status, 'html' => $html);
1686 - wp_send_json($response);
1696 + echo wp_send_json($response);
1697 + wp_die();
1687 1698 }
1688 -//_dynamic_intent
1689 -function qcld_dynamic_intent(){
1690 - global $wpdb;
1691 - $intents = array();
1692 -
1693 - $ai_df = get_option('enable_wp_chatbot_dailogflow');
1694 - $custom_intent_labels = maybe_unserialize( get_option('qlcd_wp_custon_intent_label'));
1695 - if($ai_df==1 && isset($custom_intent_labels[0]) && trim($custom_intent_labels[0])!=''):
1696 -
1697 - foreach($custom_intent_labels as $custom_intent_label):
1698 - $intents[] = $custom_intent_label;
1699 - endforeach;
1700 -
1701 - endif;
1702 -
1703 -
1704 -
1705 - if(class_exists('Qcformbuilder_Forms_Admin')){
1706 -
1707 -
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 -
1710 - if(!empty($results)){
1711 -
1712 - foreach($results as $result){
1713 - $form = maybe_unserialize($result->config);
1714 - $intents[] = $form['name'];
1715 - }
1716 -
1717 - }
1699 +//User login on Checkout page.
1700 +add_action('wp_ajax_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1701 +add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1702 +function qcld_wb_chatbot_checkout_user_login(){
1703 + // Nonce is checked, get the POST data and sign user on
1704 + $info = array();
1705 + //$info['nonce'] = $_POST['nonce_val'];
1706 + $info['user_login'] = trim(sanitize_text_field($_POST['user_name']));
1707 + $info['user_password'] = trim(sanitize_text_field($_POST['user_pass']));
1708 + $info['remember'] = true;
1709 + $user_signon = wp_signon($info, false);
1710 + // $response=$info;
1711 + $response = array();
1712 + if (is_wp_error($user_signon)) {
1713 + // $response['status'] = "fail";
1714 + // $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect')));
1715 + $response = "no";
1716 + } else {
1717 + $response = "yes";
1718 1718 }
1719 -
1720 - if(!empty($intents)){
1721 - return implode(", ", $intents);
1722 - }else{
1723 - return '';
1724 - }
1725 -
1719 + echo wp_send_json($response);
1720 + die();
1726 1721 }
1727 -
1728 -//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 -// }
1749 1722 // Load template for App Order Thank You page url
1750 1723 function wp_chatbot_load_app_template($template){
1751 1724 if (is_page('wpwbot-mobile-app')) {
1752 1725 return dirname(__FILE__) . '/templates/app-templates/app.php';
@@ -1775,16 +1748,15 @@
1775 1748 add_action('init', 'wp_chatbot_create_app_checkout_thankyou_page');
1776 1749 function wp_chatbot_create_app_checkout_thankyou_page(){
1777 1750 if (get_option('wp_chatbot_app_pages') == 1) {
1778 1751 //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() ) {
1752 + if (get_page_by_title('wpwBot Mobile App') == NULL) {
1781 1753 //post status and options
1782 1754 $app_page = array(
1783 1755 'comment_status' => 'closed',
1784 1756 'ping_status' => 'closed',
1785 1757 'post_author' => get_current_user_id(),
1786 - 'post_date' => gmdate('Y-m-d H:i:s'),
1758 + 'post_date' => date('Y-m-d H:i:s'),
1787 1759 'post_status' => 'publish',
1788 1760 'post_title' => 'wpwBot Mobile App',
1789 1761 'post_name' => 'wpwbot-mobile-app',
1790 1762 'post_type' => 'page',
@@ -1794,16 +1766,15 @@
1794 1766 //save the id in the database
1795 1767 update_option('wp_chatbot_app_checkout', $wpwbot_app);
1796 1768 }
1797 1769 //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() ) {
1770 + if (get_page_by_title('wpwBot App Checkout') == NULL) {
1800 1771 //post status and options
1801 1772 $checkout_page = array(
1802 1773 'comment_status' => 'closed',
1803 1774 'ping_status' => 'closed',
1804 1775 'post_author' => get_current_user_id(),
1805 - 'post_date' => gmdate('Y-m-d H:i:s'),
1776 + 'post_date' => date('Y-m-d H:i:s'),
1806 1777 'post_status' => 'publish',
1807 1778 'post_title' => 'wpwBot App Checkout',
1808 1779 'post_name' => 'wpwbot-app-checkout',
1809 1780 'post_type' => 'page',
@@ -1813,16 +1784,15 @@
1813 1784 //save the id in the database
1814 1785 update_option('wp_chatbot_app_checkout', $app_checkout);
1815 1786 }
1816 1787 //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() ) {
1788 + if (get_page_by_title('wpwBot App Order Thank You') == NULL) {
1819 1789 //post status and options
1820 1790 $thankyou_page = array(
1821 1791 'comment_status' => 'closed',
1822 1792 'ping_status' => 'closed',
1823 1793 'post_author' => get_current_user_id(),
1824 - 'post_date' => gmdate('Y-m-d H:i:s'),
1794 + 'post_date' => date('Y-m-d H:i:s'),
1825 1795 'post_status' => 'publish',
1826 1796 'post_title' => 'wpwBot App Order Thank You',
1827 1797 'post_name' => 'wpwbot-app-order-thankyou',
1828 1798 'post_type' => 'page',
@@ -1833,9 +1803,9 @@
1833 1803 update_option('wp_chatbot_app_order_thankyou', $app_order_thankyou);
1834 1804 }
1835 1805 }
1836 1806 //Keep tracking from App by cookies
1837 - if ( isset( $_GET['from'] ) && sanitize_text_field( wp_unslash( $_GET['from'] ) ) === 'app' ) { // phpcs:ignore WordPress.Security.NonceVerification
1807 + if (isset($_GET['from']) && $_GET['from'] == 'app') {
1838 1808 if (!isset($_COOKIE['from_app'])) {
1839 1809 setcookie('from_app', 'yes', (time() + 3600), '/');
1840 1810 }
1841 1811 }
@@ -1849,9 +1819,9 @@
1849 1819 global $wp;
1850 1820 if (is_checkout() && !empty($wp->query_vars['order-received'])) {
1851 1821 $thanks_page_id = get_option('wp_chatbot_app_order_thankyou');
1852 1822 $thanks_parmanlink = esc_url(get_permalink($thanks_page_id));
1853 - wp_safe_redirect($thanks_parmanlink . '?order_id=' . $order_get_id);
1823 + wp_redirect($thanks_parmanlink . '?order_id=' . $order_get_id);
1854 1824 exit;
1855 1825 }
1856 1826 } else {
1857 1827 remove_action('wpcommerce_thankyou', 'qcld_wb_chatbot__redirect_after_purchase');
@@ -1859,12 +1829,9 @@
1859 1829 }
1860 1830 }
1861 1831
1862 1832 function qcld_choose_random($array){
1863 - if (is_array($array) && !empty($array)) {
1864 - return $array[array_rand($array)];
1865 - }
1866 - return $array;
1833 + return $array[array_rand($array)];
1867 1834 }
1868 1835
1869 1836 //User session count
1870 1837 add_action('wp_ajax_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
@@ -1870,9 +1837,8 @@
1870 1837 add_action('wp_ajax_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
1871 1838 add_action('wp_ajax_nopriv_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
1872 1839 function qcld_wb_chatbot_session_count(){
1873 1840 // Nonce is checked, get the POST data and sign user on
1874 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1875 1841 global $wpdb;
1876 1842 $wpdb->show_errors = true;
1877 1843 $tableuser = $wpdb->prefix.'wpbot_sessions';
1878 1844 $response = array();
@@ -1877,12 +1843,11 @@
1877 1843 $tableuser = $wpdb->prefix.'wpbot_sessions';
1878 1844 $response = array();
1879 1845
1880 1846
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 -
1847 + $session_exists = $wpdb->get_row("select * from $tableuser where 1 and id = '1'");
1883 1848 if(empty($session_exists)){
1884 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1849 + $wpdb->insert(
1885 1850 $tableuser,
1886 1851 array(
1887 1852 'session' => 1,
1888 1853 )
@@ -1889,10 +1854,9 @@
1889 1854 );
1890 1855 }else{
1891 1856
1892 1857 $session_id = $session_exists->id;
1893 -
1894 - $wpdb->update( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
1858 + $wpdb->update(
1895 1859 $tableuser,
1896 1860 array(
1897 1861 'session'=>($session_exists->session+1),
1898 1862 ),
@@ -1901,107 +1865,9 @@
1901 1865 '%d',
1902 1866 ),
1903 1867 array('%d')
1904 1868 );
1905 -
1906 1869 }
1907 1870
1908 - wp_send_json($response);
1909 -}
1910 -
1911 -/* WPBot Chat History Addon check */
1912 -function qcld_wpbot_is_active_chat_history(){
1913 -
1914 - if(function_exists('qcwp_chat_session_menu_fnc') || function_exists('qcwp_chat_session_menu_fnc_free') || function_exists( 'qcpdcs_chat_session_menu_fnc' ) ){
1915 - return 1;
1916 - }else{
1917 - return 0;
1918 - }
1919 -
1920 -}
1921 -
1922 -function qcld_wpbot_input_validation( $data ) {
1923 - $data = html_entity_decode($data);
1924 - $data = trim($data);
1925 - $data = stripslashes($data);
1926 - $data = htmlspecialchars($data);
1927 - return $data;
1928 -}
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 - }
1934 - global $wpdb;
1935 -
1936 - $table = $wpdb->prefix.'wpbot_response';
1937 -
1938 - $csvFile = file(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . 'small_talk.csv');
1939 -
1940 - foreach ($csvFile as $line) {
1941 - $line = str_getcsv($line, ',', '"');
1942 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1943 - $table, array(
1944 - 'query' => $line[0],
1945 - 'keyword' => $line[1],
1946 - 'response' => $line[2],
1947 - 'category'=> $line[3],
1948 - 'intent'=> '',
1949 - //'lang'=> 'en_US',
1950 - ));
1951 - }
1952 -
1953 - $table2 = $wpdb->prefix.'wpbot_response_category';
1954 -
1955 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1956 - $table2, array(
1957 - 'name' => 'smalltalk',
1958 - ));
1959 -
1960 - update_option( 'qcld_small_talk_imported', 'yes' );
1961 -
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 -}
1871 + echo wp_send_json($response);
1872 + die();
1873 +}