PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 4.4.5
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v4.4.5
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 +460 -472 8.7.04.4.5 View file →
@@ -3,48 +3,11 @@
3 3 * @param $type
4 4 * Display wpwBot Icon ball
5 5 */
6 6 if (!defined('ABSPATH')) exit; // Exit if accessed directly
7 -
8 -
9 -function qcld_custom_search_form( $form ) {
10 - // Add a hidden input to limit search to 'product' post type
11 - if (get_option('wp_chatbot_agent_image') == "custom-agent.png") {
12 - $wp_chatbot_custom_agent_path = get_option('wp_chatbot_custom_agent_path');
13 - } else if (get_option('wp_chatbot_agent_image') != "custom-agent.png") {
14 - $wp_chatbot_custom_agent_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
15 - } else {
16 - $wp_chatbot_custom_agent_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
17 - }
18 - $hidden_field = '<a class="wp-chatbot qc_wpbot_chat_link" id="wp-chatbot-search-btn" data-search-type="product" data-search-term="" style="max-height: 50px; margin-left: 10px;padding: 0 !important;position: absolute;top: -9px;right: -60px;"><img src="'. esc_url($wp_chatbot_custom_agent_path) .'" alt=""></a>';
19 - $block_content = str_replace( '</form>', $hidden_field . '</form>', $form );
20 - return $block_content;
21 -}
22 -if(get_option('wpbot_enable_on_search') == 1 && (get_option('disable_floating_button') != '1') && get_option('disable_wp_chatbot') != 1 ){
23 - add_filter( 'get_search_form', 'qcld_custom_search_form' );
24 - add_filter( 'render_block_core/search', 'qcld_modify_gutenberg_search_block', 10, 2 );
25 -}
26 -
27 -
28 -function qcld_modify_gutenberg_search_block( $block_content, $block ) {
29 - // Add a hidden input to limit search to 'product' post type
30 - if (get_option('wp_chatbot_agent_image') == "custom-agent.png") {
31 - $wp_chatbot_custom_agent_path = get_option('wp_chatbot_custom_agent_path');
32 - } else if (get_option('wp_chatbot_agent_image') != "custom-agent.png") {
33 - $wp_chatbot_custom_agent_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
34 - } else {
35 - $wp_chatbot_custom_agent_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
36 - }
37 - $hidden_field = '<button type="button" class="wp-chatbot qc_wpbot_chat_link" id="wp-chatbot-search-btn" data-search-type="product" data-search-term="" style="max-height: 50px; margin-left: 10px;padding: 0 !important"><img src="'. esc_url($wp_chatbot_custom_agent_path) .'" alt=""></button>';
38 - // Inject the hidden field before the closing </form> tag
39 - $block_content = str_replace( '</div></form>', $hidden_field . '</div></form>', $block_content );
40 - return $block_content;
41 -}
42 -if(get_option('disable_floating_button') != '1'){
43 - add_action('wp_footer', 'wp_chatbot_load_footer_html');
44 -}
45 -add_action( 'admin_footer', 'qcld_style_for_hide_iframe');
46 -function qcld_style_for_hide_iframe(){
7 +add_action('wp_footer', 'wp_chatbot_load_footer_html');
8 +add_action( 'admin_footer', 'qc_style_for_hide_iframe');
9 +function qc_style_for_hide_iframe(){
47 10 ?>
48 11 <script>
49 12 jQuery( document ).ready(function() {
50 13 setInterval(function(){
@@ -58,62 +21,8 @@
58 21 });
59 22 </script>
60 23 <?php
61 24 }
62 -/**
63 - * Extract a YouTube video ID from common URL formats.
64 - *
65 - * @param string $url YouTube watch, embed, short, or youtu.be URL.
66 - * @return string Video ID or empty string.
67 - */
68 -if ( ! function_exists( 'qcld_wpbot_extract_youtube_id' ) ) {
69 - function qcld_wpbot_extract_youtube_id( $url ) {
70 - $url = trim( (string) $url );
71 - if ( $url === '' ) {
72 - return '';
73 - }
74 -
75 - if ( preg_match( '/(?:youtube\.com\/(?:embed\/|shorts\/|live\/|watch\?(?:.*&)?v=)|youtu\.be\/)([A-Za-z0-9_-]{11})/', $url, $matches ) ) {
76 - return $matches[1];
77 - }
78 -
79 - $path = (string) wp_parse_url( $url, PHP_URL_PATH );
80 - $base = basename( $path );
81 - if ( preg_match( '/^[A-Za-z0-9_-]{11}$/', $base ) ) {
82 - return $base;
83 - }
84 -
85 - return '';
86 - }
87 -}
88 -if ( ! function_exists( 'qcld_wpbot_youtube_icon_embed_src' ) ) {
89 - function qcld_wpbot_youtube_icon_embed_src( $url ) {
90 - $video_id = qcld_wpbot_extract_youtube_id( $url );
91 - if ( $video_id === '' ) {
92 - return '';
93 - }
94 -
95 - return add_query_arg(
96 - array(
97 - 'autoplay' => '1',
98 - 'mute' => '1',
99 - 'loop' => '1',
100 - 'playlist' => $video_id,
101 - 'controls' => '0',
102 - 'showinfo' => '0',
103 - 'rel' => '0',
104 - 'fs' => '0',
105 - 'iv_load_policy' => '3',
106 - 'cc_load_policy' => '0',
107 - 'disablekb' => '1',
108 - 'playsinline' => '1',
109 - 'modestbranding' => '1',
110 - 'color' => 'white',
111 - ),
112 - 'https://www.youtube.com/embed/' . rawurlencode( $video_id )
113 - );
114 - }
115 -}
116 25 function wp_chatbot_load_footer_html(){
117 26 if ( get_option('disable_wp_chatbot') != 1 && wp_chatbot_load_controlling() === true) {
118 27
119 28 ?>
@@ -118,10 +27,9 @@
118 27
119 28 ?>
120 29 <style>
121 30 <?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
31 + echo get_option('wp_chatbot_custom_css');
124 32 }
125 33 ?>
126 34 </style>
127 35
@@ -133,46 +41,46 @@
133 41 }
134 42 ?>
135 43 <style>
136 44 .wp-chatbot-container {
137 - background-image: url(<?php echo esc_url($qcld_wb_chatbot_board_bg_path); ?>) !important;
45 + background-image: url(<?php echo $qcld_wb_chatbot_board_bg_path; ?>) !important;
138 46 }
139 47 </style>
140 48 <?php }
141 49 $wp_chatbot_enable_rtl = "";
142 - if (get_option('enable_wp_chatbot_rtl') == '1') {
50 + if (get_option('enable_wp_chatbot_rtl')) {
143 51 $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
144 52 }
145 53 $wp_chatbot_enable_mobile_screen = "";
146 - // if (get_option('enable_wp_chatbot_mobile_full_screen')==1) {
54 + if (get_option('enable_wp_chatbot_mobile_full_screen')==1) {
147 55 $wp_chatbot_enable_mobile_screen .= "wp-chatbot-mobile-full-screen";
148 - // }
56 + }
149 57 ?>
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';} ?>">
58 + <div id="wp-chatbot-chat-container" class="<?php echo $wp_chatbot_enable_rtl .' '.$wp_chatbot_enable_mobile_screen; ?>">
151 59 <div id="wp-chatbot-integration-container">
152 60 <div class="wp-chatbot-integration-button-container">
153 61 <?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>
62 + <a href="skype:<?php echo get_option('enable_wp_chatbot_skype_id'); ?>?chat"><span
63 + class="inetegration-skype-btn" title="<?php esc_html_e('Skype', 'wpchatbot'); ?>"> </span></a>
156 64 <?php } ?>
157 65 <?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')); ?>"
66 + <a href="<?php echo 'https://api.whatsapp.com/send?phone=' . get_option('qlcd_wp_chatbot_whats_num'); ?>"
159 67 target="_blank"><span class="intergration-whats"
160 - title="<?php esc_html_e('WhatsApp', 'chatbot'); ?>"></span></a>
68 + title="<?php esc_html_e('WhatsApp', 'wpchatbot'); ?>"></span></a>
161 69 <?php } ?>
162 70 <?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')); ?>"
71 + <a href="<?php echo 'https://live.viber.com/#/' . get_option('qlcd_wp_chatbot_viber_acc'); ?>"
164 72 target="_blank"><span class="intergration-viber"
165 - title="<?php esc_html_e('Viber', 'chatbot'); ?>"></span></a>
73 + title="<?php esc_html_e('Viber', 'wpchatbot'); ?>"></span></a>
166 74 <?php } ?>
167 75 <?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
76 + <a href="tel:<?php echo get_option('qlcd_wp_chatbot_phone'); ?>"><span
169 77 class="intergration-phone"
170 - title="<?php esc_html_e('Phone', 'chatbot'); ?>"> </span></a>
78 + title="<?php esc_html_e('Phone', 'wpchatbot'); ?>"> </span></a>
171 79 <?php } ?>
172 80 <?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>
81 + <a href="<?php echo get_option('qlcd_wp_chatbot_weblink'); ?>" target="_blank"><span
82 + class="intergration-weblink" title="<?php esc_html_e('Web Link', 'wpchatbot'); ?>"></span></a>
175 83 <?php } ?>
176 84 </div>
177 85 </div>
178 86 <?php
@@ -185,9 +93,9 @@
185 93 }
186 94 if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
187 95 require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
188 96 } else {
189 - echo "<h2>" . esc_html__('No wpWBot Theme Found!', 'chatbot') . "</h2>";
97 + echo "<h2>" . __('No wpWBot Theme Found!', 'wpchatbot') . "</h2>";
190 98 }
191 99 ?>
192 100 <?php
193 101 if (get_option('disable_wp_chatbot_notification') != 1) {
@@ -194,9 +102,9 @@
194 102 ?>
195 103 <div id="wp-chatbot-notification-container" class="wp-chatbot-notification-container">
196 104 <div class="wp-chatbot-notification-controller">
197 105 <span class="wp-chatbot-notification-close">
198 - <?php esc_html_e('X', 'chatbot'); ?>
106 + <?php esc_html_e('X', 'wpchatbot'); ?>
199 107 </span>
200 108 </div>
201 109 <?php
202 110 $testingTip="";
@@ -209,18 +117,18 @@
209 117 }
210 118 ?>
211 119 <div class="wp-chatbot-notification-agent-profile">
212 120 <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>
121 + src="<?php echo $wp_chatbot_custom_agent_path; ?>" alt=""></div>
122 + <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 123 </div>
216 124 <?php
217 125 //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'))));
126 + $notifications = qcld_wb_chatbot_func_str_replace(unserialize(get_option('qlcd_wp_chatbot_notifications')));
219 127
220 128 ?>
221 129
222 - <div class="wp-chatbot-notification-message"><?php echo esc_html($notifications[0]); ?></div>
130 + <div class="wp-chatbot-notification-message"><?php echo $notifications[0]; ?></div>
223 131 </div>
224 132 <?php } ?>
225 133 <!--wp-chatbot-board-container-->
226 134 <div id="wp-chatbot-ball" class="">
@@ -227,79 +135,20 @@
227 135 <div class="wp-chatbot-ball">
228 136 <div class="wp-chatbot-ball-animator wp-chatbot-ball-animation-switch"></div>
229 137 <?php
230 138 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 -
139 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_icon_path');
233 140 } else if (get_option('wp_chatbot_icon') != "custom.png") {
234 141 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_icon');
235 142 } else {
236 143 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom.png';
237 144 }
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 145 ?>
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; ?>
146 + <img src="<?php echo $wp_chatbot_custom_icon_path; ?>"
147 + alt="wpChatIcon" qcld_agent="<?php echo esc_url($wp_chatbot_custom_icon_path); ?>" >
148 +
258 149 </div>
259 -
260 150 </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 151 <?php
303 152 $fb_app_id = get_option('qlcd_wp_chatbot_fb_app_id');
304 153 $fb_page_id = get_option('qlcd_wp_chatbot_fb_page_id');
305 154 $fb_mgs_color = get_option('qlcd_wp_chatbot_fb_color') != '' ? get_option('qlcd_wp_chatbot_fb_color') : '#0084ff';
@@ -311,9 +160,9 @@
311 160 <script>
312 161
313 162 window.fbAsyncInit = function () {
314 163 FB.init({
315 - appId: '<?php echo esc_js($fb_app_id); ?>',
164 + appId: '<?php echo $fb_app_id;?>',
316 165 autoLogAppEvents: true,
317 166 xfbml: true,
318 167 version: 'v2.12'
319 168 });
@@ -328,13 +177,13 @@
328 177 fjs.parentNode.insertBefore(js, fjs);
329 178 }(document, 'script', 'facebook-jssdk'));
330 179 </script>
331 180 <div class="fb-customerchat"
332 - page_id="<?php echo esc_attr($fb_page_id); ?>"
181 + page_id="<?php echo $fb_page_id; ?>"
333 182 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>
183 + theme_color="<?php echo $fb_mgs_color; ?>"
184 + logged_in_greeting="<?php echo $fb_mgs_in; ?>"
185 + logged_out_greeting="<?php echo $fb_mgs_out; ?>"></div>
337 186 <?php
338 187 }
339 188 ?>
340 189 <!--container-->
@@ -342,11 +191,11 @@
342 191 </div>
343 192
344 193 <?php
345 194
346 - if ( get_transient( 'qcld_bot_clear_cache' ) ) {
195 + if ( get_transient( 'bot_clear_cache' ) ) {
347 196 echo '<script type="text/javascript">var wpbot_clear_cache = 1 </script>';
348 - delete_transient( 'qcld_bot_clear_cache' );
197 + delete_transient( 'bot_clear_cache' );
349 198 }
350 199
351 200 }else{
352 201 ?>
@@ -416,9 +265,9 @@
416 265 return $wp_chatbot_load;
417 266 }
418 267 //checking Devices
419 268 function wp_chatbot_is_mobile(){
420 - $useragent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : '';
269 + $useragent = $_SERVER['HTTP_USER_AGENT'];
421 270 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 271 return true;
423 272 } else {
424 273 return false;
@@ -425,13 +274,13 @@
425 274 }
426 275 }
427 276 //Checking wpwbot opening hour
428 277 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')));
278 + $curent_day=strtolower(date('l',strtotime(current_time( 'mysql' ))));
279 + $current_time=date('H:i',strtotime(current_time( 'mysql')));
431 280 $is_wpwbot_open =false;
432 281 if(get_option('wpwbot_hours')) {
433 - $wpwbot_times = wp_kses_post(unserialize(get_option('wpwbot_hours')));
282 + $wpwbot_times = unserialize(get_option('wpwbot_hours'));
434 283 if (isset($wpwbot_times[$curent_day])) {
435 284 $day_times = $wpwbot_times[$curent_day];
436 285 if (!empty($day_times)) {
437 286 foreach ($day_times as $day_time) {
@@ -443,8 +292,183 @@
443 292 }
444 293 }
445 294 return $is_wpwbot_open;
446 295 }
296 +//wpwBot shortcode.
297 +add_shortcode('wpwbot', 'wp_chatbot_short_code');
298 +function wp_chatbot_short_code($atts = []){
299 + ob_start();
300 + wp_chatbot_shortcode_dom($atts);
301 + $content = ob_get_clean();
302 + return $content;
303 +}
304 +function wp_chatbot_shortcode_dom($atts){
305 + //Defaults & Set Parameters for shortcode
306 + extract(shortcode_atts(
307 + array(
308 + 'template' => '01',
309 + ), $atts
310 + ));
311 + ?>
312 + <style>
313 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
314 + </style>
315 + <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
316 + if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
317 + $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
318 + } else {
319 + $qcld_wb_chatbot_board_bg_path = QCLD_wpCHATBOT_IMG_URL . 'background/background.png';
320 + }
321 + ?>
322 + <style>
323 + .wp-chatbot-container {
324 + background: url(<?php echo $qcld_wb_chatbot_board_bg_path ;?>) no-repeat top right !important;
325 + }
326 + </style>
327 +<?php }
328 + $wp_chatbot_enable_rtl = "";
329 + if (get_option('enable_wp_chatbot_rtl')) {
330 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
331 + }
332 + ?>
333 + <div id="wp-chatbot-chat-container" class="<?php echo $wp_chatbot_enable_rtl; ?>">
334 + <?php
335 + //Get wpcommerce cart
336 +
337 + $qcld_wb_chatbot_theme = 'template-' . $template;
338 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/style.css')) {
339 + 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');
340 + wp_enqueue_style('qcld-wp-chatbot-style');
341 + }
342 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
343 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
344 + } else {
345 + echo "<h2>" . __('No wpWBot Theme Found!', 'wpchatbot') . "</h2>";
346 + }
347 + ?>
348 + <?php if (get_option('disable_wp_chatbot') != 1): ?>
349 + <div id="wp-chatbot-notification-container" class="wp-chatbot-notification-container">
350 + <div class="wp-chatbot-notification-controller"> <span class="wp-chatbot-notification-close">X</span> </div>
351 + <?php
352 + if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
353 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
354 + } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
355 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
356 + } else {
357 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
358 + }
359 + ?>
360 + <div class="wp-chatbot-notification-agent-profile">
361 + <div class="wp-chatbot-notification-widget-avatar"><img
362 + src="<?php echo $wp_chatbot_custom_icon_path; ?>" alt=""></div>
363 + <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>
364 + </div>
365 + <div class="wp-chatbot-notification-message"><?php echo wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_notifications'))); ?></div>
366 + </div>
367 + <!--wp-chatbot-board-container-->
368 + <div id="wp-chatbot-ball" class="">
369 + <div class="wp-chatbot-ball">
370 + <div class="wp-chatbot-ball-animator wp-chatbot-ball-animation-switch"></div>
371 + <?php
372 + if (get_option('wp_chatbot_custom_icon_path') != "" && get_option('wp_chatbot_icon') == "custom.png") {
373 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_icon_path');
374 + } else if (get_option('wp_chatbot_custom_icon_path') != "" && get_option('wp_chatbot_icon') != "custom.png") {
375 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_icon');
376 + } else {
377 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom.png';
378 + }
379 + ?>
380 + <img src="<?php echo $wp_chatbot_custom_icon_path; ?>"
381 + alt="wpChatIcon"> <!--<span class="wp-chatbot-ball-cart-items"><?php echo $cart_items_number; ?></span>--> </div>
382 + </div>
383 + <!-- wp-chatbot-board-container-->
384 + <?php endif; ?>
385 + <!--container-->
386 + <!--wp-chatbot-ball-wrapper-->
387 + </div>
388 +<?php } ?>
389 +<?php
390 +//Create shortcode for wpwBot for pages.
391 +add_shortcode('wpbot-page', 'wp_chatbot_page_short_code');
392 +function wp_chatbot_page_short_code(){
393 + ob_start();
394 + wp_chatbot_page_dom();
395 + $content = ob_get_clean();
396 + return $content;
397 +}
398 +function wp_chatbot_page_dom(){ ?>
399 + <style>
400 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
401 + </style>
402 + <?php
403 + //Get wpcommerce cart
404 +
405 + $qcld_wb_chatbot_theme = get_option('qcld_wb_chatbot_theme');
406 + $wp_chatbot_enable_rtl = "";
407 + if (get_option('enable_wp_chatbot_rtl') == 1) {
408 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
409 + }
410 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/shortcode.php')) {
411 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/shortcode.php');
412 + } else {
413 + echo "<h2>" . __('No WPBot ShortCode Theme Found!', 'wpchatbot') . "</h2>";
414 + }
415 +}
416 +//shortcode for wpWBot mobile app
417 +add_shortcode('wpwbot_app', 'wp_chatbot_mobile_app_short_code');
418 +function wp_chatbot_mobile_app_short_code(){ ?>
419 + <style>
420 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
421 + </style>
422 + <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
423 + if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
424 + $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
425 + } else {
426 + $qcld_wb_chatbot_board_bg_path = QCLD_wpCHATBOT_IMG_URL . 'background/background.png';
427 + }
428 + ?>
429 + <style>
430 + .wp-chatbot-container {
431 + background: url(<?php echo $qcld_wb_chatbot_board_bg_path ;?>) no-repeat top right !important;
432 + }
433 + </style>
434 +<?php }
435 + $wp_chatbot_enable_rtl = "";
436 + if (get_option('enable_wp_chatbot_rtl')) {
437 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
438 + }
439 + ?>
440 + <div id="wp-chatbot-chat-app-shortcode-container" class="<?php echo $wp_chatbot_enable_rtl; ?>">
441 + <?php
442 + // keep traking app template.
443 + $template_app = 'yes';
444 + //Get wpcommerce cart
445 +
446 + //Handling shortcode enqeue and remove features part.
447 + define('wpCOMMERCE', true);
448 + wp_enqueue_script('jquery');
449 +
450 +
451 + wp_enqueue_script('wc-address-i18n');
452 + wp_enqueue_script('wc-country-select');
453 +
454 +
455 + // add the action
456 + if (isset($_GET['from']) && $_GET['from'] == 'app') {
457 + if (!isset($_COOKIE['from_app'])) {
458 + setcookie('from_app', 'yes', time() + 3600);
459 + }
460 + }
461 + $qcld_wb_chatbot_theme = get_option('qcld_wb_chatbot_theme');
462 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
463 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
464 + } else {
465 + echo "<h2>" . __('No WPBot Theme Found!', 'wpchatbot') . "</h2>";
466 + }
467 + ?>
468 + </div>
469 + <?php
470 +}
447 471
448 472 /**
449 473 * wpwBot Search keyword product
450 474 */
@@ -450,20 +474,13 @@
450 474 */
451 475 add_action('wp_ajax_qcld_wb_chatbot_keyword', 'qcld_wb_chatbot_keyword');
452 476 add_action('wp_ajax_nopriv_qcld_wb_chatbot_keyword', 'qcld_wb_chatbot_keyword');
453 477 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']));
478 + $keyword = sanitize_text_field($_POST['keyword']);
462 479 $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
463 480 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');
481 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
482 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
466 483 //Merging all query together.
467 484 $argu_params = array(
468 485 'post_type' => 'product',
469 486 'post_status' => 'publish',
@@ -505,9 +522,9 @@
505 522 endwhile;
506 523 wp_reset_postdata();
507 524 $html .= '</ul>';
508 525 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>';
526 + $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 527 }
511 528 }
512 529 $html .= '</div>';
513 530 } else if (get_option('qlcd_wp_chatbot_search_option') == 'advanced') {
@@ -535,16 +552,16 @@
535 552 }
536 553 }
537 554 $html .= '</ul>';
538 555 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>';
556 + $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 557 }
541 558 }
542 559 $html .= '</div>';
543 560 }
544 561 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
545 - wp_send_json($response);
546 -
562 + echo wp_send_json($response);
563 + wp_die();
547 564 }
548 565 /**
549 566 * wpwBot Categories
550 567 */
@@ -552,22 +569,23 @@
552 569 add_action('wp_ajax_nopriv_qcld_wb_chatbot_category', 'qcld_wb_chatbot_category');
553 570 function qcld_wb_chatbot_category(){
554 571 $category_type="common";
555 572 if (get_option('wp_chatbot_show_parent_category') != "") {
556 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'parent' => 0, 'hide_empty' => true, 'fields' => 'all' ) );
573 + $terms = get_terms('product_cat', array('parent' => 0, 'hide_empty' => true, 'fields' => 'all'));
574 +
557 575 } else {
558 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => true, 'fields' => 'all' ) );
576 + $terms = get_terms('product_cat', array('hide_empty' => true, 'fields' => 'all'));
559 577 }
560 578 $html = "";
561 579 foreach ($terms as $term) {
562 - $child_terms=get_terms( array( 'taxonomy' => 'product_cat', 'parent' => $term->term_id, 'hide_empty' => true, 'fields' => 'all' ) );
580 + $child_terms=get_terms('product_cat', array('parent' => $term->term_id, 'hide_empty' => true, 'fields' => 'all'));
563 581 if(get_option('wp_chatbot_show_sub_category')==1 && count($child_terms) >0){
564 582 $category_type="hasChilds";
565 583 }
566 584 $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 585 }
568 - wp_send_json($html);
569 -
586 + echo wp_send_json($html);
587 + wp_die();
570 588 }
571 589 /**
572 590 * wpwBot Sub categories
573 591 */
@@ -573,16 +591,16 @@
573 591 */
574 592 add_action('wp_ajax_qcld_wb_chatbot_sub_category', 'qcld_wb_chatbot_sub_category');
575 593 add_action('wp_ajax_nopriv_qcld_wb_chatbot_sub_category', 'qcld_wb_chatbot_sub_category');
576 594 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' ) );
595 + $parent_id = stripslashes($_POST['parent_id']);
596 + $terms = get_terms('product_cat', array('parent' => $parent_id, 'hide_empty' => true, 'fields' => 'all'));
579 597 $html = "";
580 598 foreach ($terms as $term) {
581 599 $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 600 }
583 - wp_send_json($html);
584 -
601 + echo wp_send_json($html);
602 + wp_die();
585 603 }
586 604 /**
587 605 * wpwBot category product
588 606 */
@@ -588,12 +606,12 @@
588 606 */
589 607 add_action('wp_ajax_qcld_wb_chatbot_category_products', 'qcld_wb_chatbot_category_products');
590 608 add_action('wp_ajax_nopriv_qcld_wb_chatbot_category_products', 'qcld_wb_chatbot_category_products');
591 609 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');
610 + $category_id = stripslashes($_POST['category']);
611 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
612 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
613 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
596 614 //Merging all query together.
597 615 $argu_params = array(
598 616 'post_type' => 'product',
599 617 'post_status' => 'publish',
@@ -655,9 +673,9 @@
655 673 endwhile;
656 674 wp_reset_postdata();
657 675 $html .= '</ul>';
658 676 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>';
677 + $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 678 }
661 679 $html .= '</div>';
662 680 } else {
663 681 $html = '';
@@ -662,9 +680,10 @@
662 680 } else {
663 681 $html = '';
664 682 }
665 683 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
666 - wp_send_json($response);
684 + echo wp_send_json($response);
685 + wp_die();
667 686 }
668 687 /**
669 688 * wpwBot latest, featured, recent product
670 689 */
@@ -670,11 +689,11 @@
670 689 */
671 690 add_action('wp_ajax_qcld_wb_chatbot_featured_products', 'qcld_wb_chatbot_featured_products');
672 691 add_action('wp_ajax_nopriv_qcld_wb_chatbot_featured_products', 'qcld_wb_chatbot_featured_products');
673 692 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');
693 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
694 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
695 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
677 696 //get featured products query.
678 697 $argu_params = array('post_status' => 'publish',
679 698 'posts_per_page' => $product_per_page,
680 699 'post_type' => 'product',
@@ -718,14 +737,15 @@
718 737 endwhile;
719 738 wp_reset_postdata();
720 739 $html .= '</ul>';
721 740 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>';
741 + $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 742 }
724 743 }
725 744 $html .= '</div>';
726 745 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
727 - wp_send_json($response);
746 + echo wp_send_json($response);
747 + wp_die();
728 748 }
729 749 //Product display controll
730 750 function wp_chatbot_product_controlling($product_id){
731 751 $display_product = true;
@@ -740,11 +760,11 @@
740 760 //Get Sale products
741 761 add_action('wp_ajax_qcld_wb_chatbot_sale_products', 'qcld_wb_chatbot_sale_products');
742 762 add_action('wp_ajax_nopriv_qcld_wb_chatbot_sale_products', 'qcld_wb_chatbot_sale_products');
743 763 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');
764 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
765 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
766 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
747 767 //get sale products query.
748 768 $argu_params = array(
749 769 'post_type' => 'product',
750 770 'post_status' => 'publish',
@@ -816,25 +836,26 @@
816 836 endwhile;
817 837 wp_reset_postdata();
818 838 $html .= '</ul>';
819 839 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>';
840 + $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 841 }
822 842 }
823 843 $html .= '</div>';
824 844 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
825 - wp_send_json($response);
845 + echo wp_send_json($response);
846 + wp_die();
826 847 }
827 848 //load more
828 849 add_action('wp_ajax_qcld_wb_chatbot_load_more', 'qcld_wb_chatbot_load_more');
829 850 add_action('wp_ajax_nopriv_qcld_wb_chatbot_load_more', 'qcld_wb_chatbot_load_more');
830 851 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');
852 + $offset = stripslashes($_POST['offset']);
853 + $search_type = stripslashes($_POST['search_type']);
854 + $search_term = stripslashes($_POST['search_term']);
855 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
856 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
857 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
837 858 $next_offset = intval($product_per_page + $offset);
838 859 if ($search_type == 'product' && $search_term != 'featured' && $search_term != 'sale' && get_option('qlcd_wp_chatbot_search_option') == 'advanced') {
839 860 //if have multiple ids then explode else have single need to array push
840 861 if (strpos($search_term, ',') !== false) {
@@ -956,15 +977,16 @@
956 977 $html .= '';
957 978 }
958 979 $response = array('html' => $html, 'product_num' => $product_num, 'search_term' => $search_term, 'offset' => $next_offset, 'per_page' => $product_per_page);
959 980 }
960 - wp_send_json($response);
981 + echo wp_send_json($response);
982 + wp_die();
961 983 }
962 984 //product details
963 985 add_action('wp_ajax_qcld_wb_chatbot_product_details', 'qcld_wb_chatbot_product_details');
964 986 add_action('wp_ajax_nopriv_qcld_wb_chatbot_product_details', 'qcld_wb_chatbot_product_details');
965 987 function qcld_wb_chatbot_product_details(){
966 - $product_id = intval( wp_unslash( $_POST['wp_chatbot_pid'] ) );
988 + $product_id = stripslashes($_POST['wp_chatbot_pid']);
967 989 //Tracking product view from chat board
968 990 wp_chatbot_view_track_product_by_id($product_id);
969 991 //wpcommerce product factory
970 992 $wc_pf = new WC_Product_Factory();
@@ -992,9 +1014,9 @@
992 1014 }
993 1015 }
994 1016 $product_image .= '</ul></div>';
995 1017 $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>';
1018 + $product_sku = '<p class="wp-chatbot-product-sku"> ' . __('SKU', 'wpchatbot') . ' : ' . $product->get_sku() . '</p>';
997 1019 //if ( $product->is_in_stock() || $product->is_purchasable() )
998 1020 //Handle variable product start
999 1021 $variations = "";
1000 1022 $add_cart_button = "";
@@ -1035,13 +1057,12 @@
1035 1057 } else {
1036 1058 $variations .= '<div class="wp-chatbot-variable-' . sanitize_title($name) . '">';
1037 1059 $variations .= '<label for="' . sanitize_title($name) . '">' . $title . '</label>';
1038 1060 $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>';
1061 + $variations .= '<option value="">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_choose_option'))) . '</option>';
1040 1062 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 ] ) );
1063 + if (isset($_REQUEST['attribute_' . sanitize_title($name)])) {
1064 + $selected_value = $_REQUEST['attribute_' . sanitize_title($name)];
1044 1065 } else {
1045 1066 $selected_value = '';
1046 1067 }
1047 1068 $variations .= '<option value="' . esc_attr(strtolower($value)) . '"' . selected($selected_value, $value, false) . '>' . apply_filters('wpcommerce_variation_option_name', $value) . '</option>';
@@ -1048,29 +1069,30 @@
1048 1069 }
1049 1070 $variations .= '</select></div>';
1050 1071 }
1051 1072 }
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="" />';
1073 + $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 1074 $add_cart_button .= "<input type='hidden' id='wp-chatbot-variation-data' data-product-variation='" . $variations_data . "' />";
1054 1075 } 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')))) . '" />';
1076 + $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 1077 }
1057 1078 //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>
1079 + $product_quantity .= '<label for="">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity'))) . '</label>
1059 1080 <input type="number" id="vPQuantity" value="1" />';
1060 1081 }
1061 1082 //$response=$full_size_image;
1062 1083 $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);
1084 + echo wp_send_json($response);
1085 + wp_die();
1064 1086 }
1065 1087 //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();
1088 +add_action('wp_ajax_variable_add_to_cart', 'qcld_wb_chatbot_variable_add_to_cart');
1089 +add_action('wp_ajax_nopriv_variable_add_to_cart', 'qcld_wb_chatbot_variable_add_to_cart');
1090 +function qcld_wb_chatbot_variable_add_to_cart(){
1091 + $product_id = stripslashes($_POST['p_id']);
1092 + $quantity = stripslashes($_POST['quantity']);
1093 + $variations_id = stripslashes($_POST['variations_id']);
1094 + $attrs = stripslashes($_POST['attributes']);
1073 1095 //echo wp_send_json(array('p_id'=>$product_id,'qnty'=>$quantity,'id'=>$variations_id,'att'=>$attrs));
1074 1096 $attributes = array();
1075 1097 foreach ($attrs as $attr) {
1076 1098 $single = explode("#", $attr);
@@ -1081,46 +1103,44 @@
1081 1103 }
1082 1104 global $wpcommerce;
1083 1105 $result = $wpcommerce->cart->add_to_cart($product_id, $quantity, $variations_id, $attributes, null);
1084 1106 if ($result != false) {
1085 - wp_send_json('variable');
1107 + echo wp_send_json('variable');
1086 1108 } else {
1087 - wp_send_json('error');
1109 + echo wp_send_json('error');
1088 1110 }
1111 + wp_die();
1089 1112 }
1090 1113 //Add to cart for simple product.
1091 1114 add_action('wp_ajax_qcld_wb_chatbot_add_to_cart', 'qcld_wb_chatbot_add_to_cart');
1092 1115 add_action('wp_ajax_nopriv_qcld_wb_chatbot_add_to_cart', 'qcld_wb_chatbot_add_to_cart');
1093 1116 function qcld_wb_chatbot_add_to_cart(){
1094 - $product_id = intval( wp_unslash( $_POST['product_id'] ) );
1095 - $product_quantity = intval( wp_unslash( $_POST['quantity'] ) );
1117 + $product_id = stripslashes($_POST['product_id']);
1118 + $product_quantity = stripslashes($_POST['quantity']);
1096 1119 global $wpcommerce;
1097 1120 $result = $wpcommerce->cart->add_to_cart($product_id, $product_quantity);
1098 1121 if ($result != false) {
1099 - wp_send_json('simple');
1122 + echo wp_send_json('simple');
1100 1123 } else {
1101 - wp_send_json('error');
1124 + echo wp_send_json('error');
1102 1125 }
1126 + wp_die();
1103 1127 }
1104 1128 //Support part
1105 1129 add_action('wp_ajax_qcld_wb_chatbot_support_email', 'qcld_wb_chatbot_support_email');
1106 1130 add_action('wp_ajax_nopriv_qcld_wb_chatbot_support_email', 'qcld_wb_chatbot_support_email');
1107 1131 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');
1132 + $name = trim(sanitize_text_field($_POST['name']));
1133 + $email = sanitize_email($_POST['email']);
1134 + $message = sanitize_text_field($_POST['message']);
1135 + $subject = get_option('qlcd_wp_chatbot_email_sub') != '' ? get_option('qlcd_wp_chatbot_email_sub') : 'Support Email from wpWBot by Client';
1116 1136 //Extract Domain
1117 1137 $url = get_site_url();
1118 - $url = wp_parse_url($url);
1138 + $url = parse_url($url);
1119 1139 $domain = $url['host'];
1120 1140 //$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);
1141 + $admin_email = get_option('admin_email');
1142 + $toEmail = get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email;
1123 1143
1124 1144
1125 1145 if(get_option('qlcd_wp_chatbot_from_email') && get_option('qlcd_wp_chatbot_from_email')!=''){
1126 1146 $fromEmail = get_option('qlcd_wp_chatbot_from_email');
@@ -1126,23 +1146,24 @@
1126 1146 $fromEmail = get_option('qlcd_wp_chatbot_from_email');
1127 1147 }else{
1128 1148 $fromEmail = "wordpress@" . $domain;
1129 1149 }
1150 +
1130 1151 //Starting messaging and status.
1131 1152 $response['status'] = 'fail';
1132 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_email_fail')));
1153 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_email_fail'));
1133 1154 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'))));
1155 + $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_invalid_email')));
1135 1156 $response['status'] = 'fail';
1136 1157 } else {
1137 1158 //build email body
1138 1159 $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>';
1160 + $bodyContent .= '<p><strong>' . __('Support Request Details', 'wpchatbot') . ':</strong></p><hr>';
1161 + $bodyContent .= '<p>' . __('Name', 'wpchatbot') . ' : ' . $name . '</p>';
1162 + $bodyContent .= '<p>' . __('Email', 'wpchatbot') . ' : ' . $email . '</p>';
1163 + $bodyContent .= '<p>' . __('Subject', 'wpchatbot') . ' : ' . $subject . '</p>';
1164 + $bodyContent .= '<p>' . __('Message', 'wpchatbot') . ' : ' . $message . '</p>';
1165 + $bodyContent .= '<p>' . __('Mail Generated on', 'wpchatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1145 1166 $to = $toEmail;
1146 1167 $body = $bodyContent;
1147 1168 $headers = array();
1148 1169 $headers[] = 'Content-Type: text/html; charset=UTF-8';
@@ -1150,13 +1171,13 @@
1150 1171 $headers[] = 'Reply-To: ' . $name . ' <' . $email . '>';
1151 1172 $result = wp_mail($to, $subject, $body, $headers);
1152 1173 if ($result) {
1153 1174 $response['status'] = 'success';
1154 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_email_sent')));
1175 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_email_sent'));
1155 1176 }
1156 1177
1157 1178 }
1158 - echo wp_json_encode($response);
1179 + echo json_encode($response);
1159 1180 die();
1160 1181 }
1161 1182 //Support Phone
1162 1183 add_action('wp_ajax_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
@@ -1161,37 +1182,36 @@
1161 1182 //Support Phone
1162 1183 add_action('wp_ajax_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
1163 1184 add_action('wp_ajax_nopriv_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
1164 1185 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']));
1186 + $name = trim(sanitize_text_field($_POST['name']));
1187 + $phone =sanitize_text_field($_POST['phone']);
1168 1188 $subject = 'WPBot Support Mail Request for Call Back';
1169 1189 //Extract Domain
1170 1190 $url = get_site_url();
1171 - $url = wp_parse_url($url);
1191 + $url = parse_url($url);
1172 1192 $domain = $url['host'];
1173 1193 //$admin_email = "admin@" . $domain;
1174 1194 $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);
1195 + $toEmail = get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email;
1176 1196
1177 1197
1178 1198 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'));
1199 + $fromEmail = get_option('qlcd_wp_chatbot_from_email');
1180 1200 }else{
1181 1201 $fromEmail = "wordpress@" . $domain;
1182 1202 }
1183 1203 //Starting messaging and status.
1184 1204 $response['status'] = 'fail';
1185 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_phone_fail')));
1205 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_phone_fail'));
1186 1206 //build email body
1187 1207 $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>';
1208 + $bodyContent .= '<p><strong>' . __('Support Request Details', 'wpchatbot') . ':</strong></p><hr>';
1209 + $bodyContent .= '<p>' . __('Name', 'wpchatbot') . ' : ' . $name . '</p>';
1210 + $bodyContent .= '<p>' . __('Phone', 'wpchatbot') . ' : ' . $phone . '</p>';
1211 + $bodyContent .= '<p>' . __('Subject', 'wpchatbot') . ' : ' . $subject . '</p>';
1212 + $bodyContent .= '<p>' . __('Message', 'wpchatbot') . ' : ' . __(' Call me at ', 'wpchatbot'). $phone . '</p>';
1213 + $bodyContent .= '<p>' . __('Mail Generated on', 'wpchatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1194 1214 $to = $toEmail;
1195 1215 $body = $bodyContent;
1196 1216 $headers = array();
1197 1217 $headers[] = 'Content-Type: text/html; charset=UTF-8';
@@ -1199,17 +1219,38 @@
1199 1219 $headers[] = 'Reply-To: ' . $name . ' <' . $fromEmail . '>';
1200 1220 $result = wp_mail($to, $subject, $body, $headers);
1201 1221 if ($result) {
1202 1222 $response['status'] = 'success';
1203 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_phone_sent')));
1223 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_phone_sent'));
1204 1224 }
1205 - echo wp_json_encode($response);
1225 + echo json_encode($response);
1206 1226 die();
1207 1227 }
1208 -// Order Status part. removed
1209 -
1228 +// Order Status part.
1229 +add_action('wp_ajax_qcld_wb_chatbot_check_user', 'qcld_wb_chatbot_check_user');
1230 +add_action('wp_ajax_nopriv_qcld_wb_chatbot_check_user', 'qcld_wb_chatbot_check_user');
1231 +function qcld_wb_chatbot_check_user(){
1232 + global $wpcommerce;
1233 + $user_name = trim(sanitize_text_field($_POST['user_name']));
1234 + $response = array();
1235 + $response['message'] = "";
1236 + if (username_exists($user_name)) {
1237 + if (get_option('qlcd_wp_chatbot_order_user') == 'login') {
1238 + $response['status'] = "success";
1239 + $response['message'] .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_thanks')));
1240 + $response['html'] .= '<p>' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_password'))) . '</p>';
1241 + } else if (get_option('qlcd_wp_chatbot_order_user') == 'not_login') {
1242 + $response = get_order_by_username($user_name);
1243 + }
1244 + } else {
1245 + $response['status'] = "fail";
1246 + $response['message'] .= '<strong>' . $user_name . '</strong> ' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_not_exist')));
1247 + }
1248 + echo wp_send_json($response);
1249 + die();
1250 +}
1210 1251 function wpb_randmom_message_handle($items){
1211 - return $items[wp_rand(0, count($items) - 1)];
1252 + return $items[rand(0, count($items) - 1)];
1212 1253 }
1213 1254 function qcld_wb_chatbot_func_str_replace($messages = array()){
1214 1255 $refined_mesgses = array();
1215 1256 foreach ($messages as $message) {
@@ -1224,21 +1265,22 @@
1224 1265 // First check the nonce, if it fails the function will break
1225 1266 check_ajax_referer('wpwbot-order-nonce', 'security');
1226 1267 // Nonce is checked, get the POST data and sign user on
1227 1268 $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'])));
1269 + $info['user_login'] = trim(sanitize_text_field($_POST['user_name']));
1270 + $info['user_password'] = trim(sanitize_text_field($_POST['user_pass']));
1230 1271 $info['remember'] = true;
1231 1272 $user_signon = wp_signon($info, false);
1232 1273 $response = array();
1233 1274 if (is_wp_error($user_signon)) {
1234 1275 $response['status'] = "fail";
1235 - $response['message'] = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect'))));
1276 + $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect')));
1236 1277 } else {
1237 1278 $response = get_order_by_username($info['user_login']);
1238 1279 $response['status'] = "success";
1239 1280 }
1240 - wp_send_json($response);
1281 + echo wp_send_json($response);
1282 + die();
1241 1283 }
1242 1284 add_action('wp_ajax_qcld_wb_chatbot_loged_in_user_orders', 'qcld_wb_chatbot_loged_in_user_orders');
1243 1285 add_action('wp_ajax_nopriv_qcld_wb_chatbot_loged_in_user_orders', 'qcld_wb_chatbot_loged_in_user_orders');
1244 1286 function qcld_wb_chatbot_loged_in_user_orders(){
@@ -1244,9 +1286,10 @@
1244 1286 function qcld_wb_chatbot_loged_in_user_orders(){
1245 1287 $current_user = wp_get_current_user();
1246 1288 $user_name = $current_user->user_login;
1247 1289 $response = get_order_by_username($user_name);
1248 - wp_send_json($response);
1290 + echo wp_send_json($response);
1291 + die();
1249 1292 }
1250 1293 function get_order_by_username($user_name){
1251 1294 global $post;
1252 1295 $response = array();
@@ -1264,28 +1307,28 @@
1264 1307 ));
1265 1308 $response['order_num'] = count($customer_orders);
1266 1309 $order_html = '';
1267 1310 if ($response['order_num'] > 0) {
1268 - $response['message'] .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_found'))));
1311 + $response['message'] .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_found')));
1269 1312 $order_html .= '<div class="wp-chatbot-orders-container">
1270 1313 <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>
1314 + <div class="order-id">' . __('ID', 'wpchatbot') . '</div>
1315 + <div class="order-date">' . __('Date', 'wpchatbot') . ' </div>
1316 + <div class="order-items">' . __('Items', 'wpchatbot') . '</div>
1317 + <div class="order-status">' . __('Status', 'wpchatbot') . '</div>
1275 1318 </div>';
1276 1319 foreach ($customer_orders as $order) {
1277 1320 //Formatting order summery
1278 1321 if (isset($_COOKIE['from_app']) && $_COOKIE['from_app'] == 'yes') {
1279 - $thanks_page_id = sanitize_text_field(get_option('wp_chatbot_app_order_thankyou'));
1322 + $thanks_page_id = get_option('wp_chatbot_app_order_thankyou');
1280 1323 $thanks_parmanlink = esc_url(get_permalink($thanks_page_id));
1281 1324 $order_url = '<a href="' . $thanks_parmanlink . '?order_id=' . $order->ID . '" >' . $order->ID . '</a>';
1282 1325 } 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>';
1326 + $order_url = '<a href="' . get_permalink(get_option('wpcommerce_myaccount_page_id')) . '/view-order/' . $order->ID . '" target="_blank" >' . $order->ID . '</a>';
1284 1327 }
1285 1328 $order_html .= '<div class="wp-chatbot-orders-single">
1286 1329 <div class="order-id"> ' . $order_url . '</div>
1287 - <div class="order-date"> <p>' . gmdate("m/d/Y", strtotime($order->post_date)) . '</p> </div>
1330 + <div class="order-date"> <p>' . date("m/d/Y", strtotime($order->post_date)) . '</p> </div>
1288 1331 <div class="order-items">';
1289 1332 $singleOrder = new WC_Order($order->ID);
1290 1333 $items = $singleOrder->get_items();
1291 1334 foreach ($items as $item) {
@@ -1298,9 +1341,9 @@
1298 1341 }
1299 1342 $order_html .= '</div>';
1300 1343 } else {
1301 1344 $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>';
1345 + $order_html .= '<p>' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_not_found'))) . '</p>';
1303 1346 }
1304 1347 $response['html'] = $order_html;
1305 1348 return $response;
1306 1349 }
@@ -1336,10 +1379,10 @@
1336 1379 function qcld_wb_chatbot_recently_viewed_products(){
1337 1380 // Get wpCommerce Global
1338 1381 $_pf = new WC_Product_Factory();
1339 1382 //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'))));
1383 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
1384 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1342 1385 // Get recently viewed product cookies data
1343 1386 $viewed_products = !empty($_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) ? (array)explode('|', $_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) : array();
1344 1387 $viewed_products = array_filter(array_map('absint', $viewed_products));
1345 1388 //get featured products if has.
@@ -1345,9 +1388,9 @@
1345 1388 //get featured products if has.
1346 1389 $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 1390 //Getting recently vieew products.
1348 1391 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'))));
1392 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome')));
1350 1393 $product_query = new WP_Query(array(
1351 1394 'posts_per_page' => $product_per_page,
1352 1395 'no_found_rows' => 1,
1353 1396 'post_status' => 'publish',
@@ -1355,15 +1398,16 @@
1355 1398 'post__in' => $viewed_products,
1356 1399 ));
1357 1400 //Getting featured products
1358 1401 } 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'))));
1402 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome')));
1360 1403 $product_query = $featured_products;
1361 1404 } else {
1362 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1405 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1363 1406 //Getting recent products
1364 1407 $product_query = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC'));
1365 1408 }
1409 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))).'</div>';
1366 1410 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1367 1411 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1368 1412 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1369 1413 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1370,10 +1414,10 @@
1370 1414 } else {
1371 1415 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1372 1416 }
1373 1417 $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>
1418 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1419 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1376 1420 <div class="wp-chatbot-bubble">' . $wp_chatbot_product_title . '</div>
1377 1421 </div>';
1378 1422 if ($product_query->post_count > 0) {
1379 1423 $html .= '<div class="wp-chatbot-products-area">';
@@ -1385,9 +1429,9 @@
1385 1429 $html .= get_the_post_thumbnail(get_the_ID(), 'shop_catalog') . '
1386 1430 <div class="wp-chatbot-product-summary">
1387 1431 <div class="wp-chatbot-product-table">
1388 1432 <div class="wp-chatbot-product-table-cell">
1389 - <h3 class="wp-chatbot-product-title">' . esc_html($product->post->post_title) . '</h3>
1433 + <h3 class="wp-chatbot-product-title">' . $product->post->post_title . '</h3>
1390 1434 <div class="price">' . $product->get_price_html() . '</div>';
1391 1435 $html .= ' </div>
1392 1436 </div>
1393 1437 </div></a>
@@ -1400,9 +1444,10 @@
1400 1444 $html .= '<div class="wp-chatbot-products-area">';
1401 1445 $html .= '<p style="text-align: center">You have no products !';
1402 1446 $html .= '</div>';
1403 1447 }
1404 - wp_send_json($html);
1448 + echo wp_send_json($html);
1449 + die();
1405 1450 }
1406 1451 //Recently viewed product shortcode
1407 1452 add_shortcode('wpwbot_products', 'qcld_wb_chatbot_recently_viewed_shortcode');
1408 1453 function qcld_wb_chatbot_recently_viewed_shortcode(){
@@ -1407,10 +1452,10 @@
1407 1452 add_shortcode('wpwbot_products', 'qcld_wb_chatbot_recently_viewed_shortcode');
1408 1453 function qcld_wb_chatbot_recently_viewed_shortcode(){
1409 1454 // Get wpCommerce Global
1410 1455 $_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'))));
1456 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
1457 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1413 1458 // Get recently viewed product cookies data
1414 1459 $viewed_products = !empty($_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) ? (array)explode('|', $_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) : array();
1415 1460 $viewed_products = array_filter(array_map('absint', $viewed_products));
1416 1461 //get featured products if has.
@@ -1416,9 +1461,9 @@
1416 1461 //get featured products if has.
1417 1462 $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 1463 //Getting recently vieew products.
1419 1464 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'))));
1465 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome')));
1421 1466 $product_query = new WP_Query(array(
1422 1467 'posts_per_page' => $product_per_page,
1423 1468 'no_found_rows' => 1,
1424 1469 'post_status' => 'publish',
@@ -1426,15 +1471,16 @@
1426 1471 'post__in' => $viewed_products,
1427 1472 ));
1428 1473 //implementing featured products
1429 1474 } 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'))));
1475 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome')));
1431 1476 $product_query = $featured_products;
1432 1477 } else {
1433 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1478 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1434 1479 //Getting recent products
1435 1480 $product_query = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC'));
1436 1481 }
1482 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))).'</div>';
1437 1483 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1438 1484 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1439 1485 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1440 1486 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1441,11 +1487,11 @@
1441 1487 } else {
1442 1488 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1443 1489 }
1444 1490 $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>
1491 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1492 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1493 + <div class="wp-chatbot-bubble">' . $wp_chatbot_product_title . '</div>
1448 1494 </div>';
1449 1495 if ($product_query->post_count > 0) {
1450 1496 $html .= '<div class="wp-chatbot-products-area">';
1451 1497 $html .= '<ul class="wp-chatbot-products">';
@@ -1456,9 +1502,9 @@
1456 1502 $html .= get_the_post_thumbnail(get_the_ID(), 'shop_catalog') . '
1457 1503 <div class="wp-chatbot-product-summary">
1458 1504 <div class="wp-chatbot-product-table">
1459 1505 <div class="wp-chatbot-product-table-cell">
1460 - <h3 class="wp-chatbot-product-title">' . esc_html($product->post->post_title) . '</h3>
1506 + <h3 class="wp-chatbot-product-title">' . $product->post->post_title . '</h3>
1461 1507 <div class="price">' . $product->get_price_html() . '</div>';
1462 1508 $html .= ' </div>
1463 1509 </div>
1464 1510 </div></a>
@@ -1468,9 +1514,9 @@
1468 1514 wp_reset_postdata();
1469 1515 $html .= '</ul></div>';
1470 1516 } else {
1471 1517 $html .= '<div class="wp-chatbot-products-area">';
1472 - $html .= '<p style="text-align: center">' . __('You have no products', 'chatbot') . ' !';
1518 + $html .= '<p style="text-align: center">' . __('You have no products', 'wpchatbot') . ' !';
1473 1519 $html .= '</div>';
1474 1520 }
1475 1521 return $html;
1476 1522 }
@@ -1484,10 +1530,11 @@
1484 1530 $checkout_url = wc_get_checkout_url();
1485 1531 //$checkout_url = $wpcommerce->cart->get_checkout_url();
1486 1532 $items = $wpcommerce->cart->get_cart();
1487 1533 $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'))));
1534 + $cart_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart')));
1535 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1536 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))).'</div>';
1490 1537 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1491 1538 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1492 1539 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1493 1540 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1494,15 +1541,15 @@
1494 1541 } else {
1495 1542 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1496 1543 }
1497 1544 $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>
1545 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1546 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1547 + <div class="wp-chatbot-bubble">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))) . '</div>
1501 1548 </div>';
1502 1549 if ($itemCount >= 1) {
1503 1550 $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>';
1551 + $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 1552 $html .= '<div class ="wp-chatbot-cart-body">';
1506 1553 foreach ($items as $item => $values) {
1507 1554 $cart_item= apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1508 1555 //product image
@@ -1520,9 +1567,9 @@
1520 1567 <div class="qcld-wp-chatbot-cell"></div>
1521 1568 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1522 1569 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1523 1570 </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>';
1571 + $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 1572 $html .= ' </div>';
1526 1573 } else {
1527 1574 $html .= '<div class="wp-chatbot-cart-container">';
1528 1575 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
@@ -1528,9 +1575,10 @@
1528 1575 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
1529 1576 $html .= '</div>';
1530 1577 }
1531 1578 $response = array('html' => $html, 'items' => $itemCount);
1532 - wp_send_json($response);
1579 + echo wp_send_json($response);
1580 + wp_die();
1533 1581 }
1534 1582 //cart onley for wp chatbot
1535 1583 add_action('wp_ajax_qcld_wb_chatbot_only_cart', 'qcld_wb_chatbot_only_cart');
1536 1584 add_action('wp_ajax_nopriv_qcld_wb_chatbot_only_cart', 'qcld_wb_chatbot_only_cart');
@@ -1541,14 +1589,14 @@
1541 1589 $checkout_url = wc_get_checkout_url();
1542 1590 //$checkout_url = $wpcommerce->cart->get_checkout_url();
1543 1591 $items = $wpcommerce->cart->get_cart();
1544 1592 $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'))));
1593 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1546 1594
1547 1595 $html = '';
1548 1596 if ($itemCount >= 1) {
1549 1597 $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>';
1598 + $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 1599 $html .= '<div class ="wp-chatbot-cart-body">';
1552 1600 foreach ($items as $item => $values) {
1553 1601 $cart_item= apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1554 1602 //product image
@@ -1566,17 +1614,18 @@
1566 1614 <div class="qcld-wp-chatbot-cell"></div>
1567 1615 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1568 1616 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1569 1617 </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>';
1618 + $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 1619 $html .= ' </div>';
1572 1620 } else {
1573 1621 $html .= '<div class="wp-chatbot-cart-container">';
1574 - $html .= '<div><p style="text-align:center">' . esc_html($no_cart_item_msg) . '</p></div>';
1622 + $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
1575 1623 $html .= '</div>';
1576 1624 }
1577 1625 $response = array('html' => $html, 'items' => $itemCount);
1578 - wp_send_json($response);
1626 + echo wp_send_json($response);
1627 + wp_die();
1579 1628 }
1580 1629 //Cart show Shortcode
1581 1630 add_shortcode('wpwbot_cart', 'qcld_wb_chatbot_cart_shortcode');
1582 1631 function qcld_wb_chatbot_cart_shortcode(){
@@ -1582,10 +1631,11 @@
1582 1631 function qcld_wb_chatbot_cart_shortcode(){
1583 1632 global $wpcommerce;
1584 1633 $items = $wpcommerce->cart->get_cart();
1585 1634 $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'))));
1635 + $cart_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart')));
1636 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1637 + // $html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))).'</div>';
1588 1638 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1589 1639 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1590 1640 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1591 1641 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1592,15 +1642,15 @@
1592 1642 } else {
1593 1643 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1594 1644 }
1595 1645 $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>
1646 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1647 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1648 + <div class="wp-chatbot-bubble">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))) . '</div>
1599 1649 </div>';
1600 1650 if ($itemCount >= 1) {
1601 1651 $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>';
1652 + $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 1653 $html .= '<div class ="wp-chatbot-cart-body">';
1604 1654 foreach ($items as $item => $values) {
1605 1655 $cart_item = apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1606 1656 //product image
@@ -1618,9 +1668,9 @@
1618 1668 <div class="qcld-wp-chatbot-cell"></div>
1619 1669 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1620 1670 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1621 1671 </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>';
1672 + $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 1673 $html .= ' </div>';
1624 1674 } else {
1625 1675 $html .= '<div class="wp-chatbot-cart-container">';
1626 1676 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
@@ -1632,26 +1682,26 @@
1632 1682 //Updating the cart items.
1633 1683 add_action('wp_ajax_qcld_wb_chatbot_update_cart_item_number', 'qcld_wb_chatbot_update_cart_item_number');
1634 1684 add_action('wp_ajax_nopriv_qcld_wb_chatbot_update_cart_item_number', 'qcld_wb_chatbot_update_cart_item_number');
1635 1685 function qcld_wb_chatbot_update_cart_item_number(){
1636 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1637 1686 //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']));
1687 + $cart_item_key = sanitize_text_field($_POST['cart_item_key']);
1688 + $qnty = sanitize_text_field($_POST['qnty']);
1640 1689 global $wpcommerce;
1641 1690 $result = $wpcommerce->cart->set_quantity($cart_item_key, $qnty);
1642 - wp_send_json($result);
1691 + echo wp_send_json($result);
1692 + wp_die();
1643 1693 }
1644 1694 //Show item after removing from cart page.
1645 1695 add_action('wp_ajax_qcld_wb_chatbot_cart_item_remove', 'qcld_wb_chatbot_cart_item_remove');
1646 1696 add_action('wp_ajax_nopriv_qcld_wb_chatbot_cart_item_remove', 'qcld_wb_chatbot_cart_item_remove');
1647 1697 function qcld_wb_chatbot_cart_item_remove(){
1648 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1649 1698 //getting cart items n
1650 - $cart_item_key = sanitize_text_field(wp_unslash($_POST['cart_item']));
1699 + $cart_item_key = sanitize_text_field($_POST['cart_item']);
1651 1700 global $wpcommerce;
1652 1701 $result = $wpcommerce->cart->remove_cart_item($cart_item_key);
1653 - wp_send_json($result);
1702 + echo wp_send_json($result);
1703 + wp_die();
1654 1704 }
1655 1705 //Show cart page by shortcode.
1656 1706 add_action('wp_ajax_qcld_wb_chatbot_cart_page', 'qcld_wb_chatbot_cart_page');
1657 1707 add_action('wp_ajax_nopriv_qcld_wb_chatbot_cart_page', 'qcld_wb_chatbot_cart_page');
@@ -1659,13 +1709,14 @@
1659 1709 global $wpcommerce;
1660 1710 $itemCount = $wpcommerce->cart->cart_contents_count;
1661 1711 $html = "";
1662 1712 if ($itemCount < 0) {
1663 - $html .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1713 + $html .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1664 1714 } else {
1665 1715 $html .= do_shortcode("[wpcommerce_cart]");
1666 1716 }
1667 - wp_send_json($html);
1717 + echo wp_send_json($html);
1718 + wp_die();
1668 1719 }
1669 1720 //Show checkout page by shortcode.
1670 1721 add_action('wp_ajax_qcld_wb_chatbot_checkout_page', 'qcld_wb_chatbot_checkout_page');
1671 1722 add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_page', 'qcld_wb_chatbot_checkout_page');
@@ -1674,9 +1725,9 @@
1674 1725 $itemCount = $wpcommerce->cart->cart_contents_count;
1675 1726 $html = "";
1676 1727 if ($itemCount < 0) {
1677 1728 $status = 'no';
1678 - $html .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1729 + $html .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1679 1730 } else {
1680 1731 $status = 'yes';
1681 1732 $checkout_page_id = get_option('wp_chatbot_app_checkout');
1682 1733 $checkout_parmanlink = esc_url(get_permalink($checkout_page_id));
@@ -1682,12 +1733,13 @@
1682 1733 $checkout_parmanlink = esc_url(get_permalink($checkout_page_id));
1683 1734 $html .= $checkout_parmanlink;
1684 1735 }
1685 1736 $response = array('status' => $status, 'html' => $html);
1686 - wp_send_json($response);
1737 + echo wp_send_json($response);
1738 + wp_die();
1687 1739 }
1688 1740 //_dynamic_intent
1689 -function qcld_dynamic_intent(){
1741 +function qc_dynamic_intent(){
1690 1742 global $wpdb;
1691 1743 $intents = array();
1692 1744
1693 1745 $ai_df = get_option('enable_wp_chatbot_dailogflow');
@@ -1704,10 +1756,9 @@
1704 1756
1705 1757 if(class_exists('Qcformbuilder_Forms_Admin')){
1706 1758
1707 1759
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 -
1760 + $results = $wpdb->get_results("SELECT * FROM ". $wpdb->prefix."wfb_forms where 1 and type='primary'");
1710 1761 if(!empty($results)){
1711 1762
1712 1763 foreach($results as $result){
1713 1764 $form = maybe_unserialize($result->config);
@@ -1725,28 +1776,30 @@
1725 1776
1726 1777 }
1727 1778
1728 1779 //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 -// }
1780 +add_action('wp_ajax_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1781 +add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1782 +function qcld_wb_chatbot_checkout_user_login(){
1783 + // Nonce is checked, get the POST data and sign user on
1784 + $info = array();
1785 + //$info['nonce'] = $_POST['nonce_val'];
1786 + $info['user_login'] = trim(sanitize_text_field($_POST['user_name']));
1787 + $info['user_password'] = trim(sanitize_text_field($_POST['user_pass']));
1788 + $info['remember'] = true;
1789 + $user_signon = wp_signon($info, false);
1790 + // $response=$info;
1791 + $response = array();
1792 + if (is_wp_error($user_signon)) {
1793 + // $response['status'] = "fail";
1794 + // $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect')));
1795 + $response = "no";
1796 + } else {
1797 + $response = "yes";
1798 + }
1799 + echo wp_send_json($response);
1800 + die();
1801 +}
1749 1802 // Load template for App Order Thank You page url
1750 1803 function wp_chatbot_load_app_template($template){
1751 1804 if (is_page('wpwbot-mobile-app')) {
1752 1805 return dirname(__FILE__) . '/templates/app-templates/app.php';
@@ -1775,16 +1828,15 @@
1775 1828 add_action('init', 'wp_chatbot_create_app_checkout_thankyou_page');
1776 1829 function wp_chatbot_create_app_checkout_thankyou_page(){
1777 1830 if (get_option('wp_chatbot_app_pages') == 1) {
1778 1831 //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() ) {
1832 + if (get_page_by_title('wpwBot Mobile App') == NULL) {
1781 1833 //post status and options
1782 1834 $app_page = array(
1783 1835 'comment_status' => 'closed',
1784 1836 'ping_status' => 'closed',
1785 1837 'post_author' => get_current_user_id(),
1786 - 'post_date' => gmdate('Y-m-d H:i:s'),
1838 + 'post_date' => date('Y-m-d H:i:s'),
1787 1839 'post_status' => 'publish',
1788 1840 'post_title' => 'wpwBot Mobile App',
1789 1841 'post_name' => 'wpwbot-mobile-app',
1790 1842 'post_type' => 'page',
@@ -1794,16 +1846,15 @@
1794 1846 //save the id in the database
1795 1847 update_option('wp_chatbot_app_checkout', $wpwbot_app);
1796 1848 }
1797 1849 //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() ) {
1850 + if (get_page_by_title('wpwBot App Checkout') == NULL) {
1800 1851 //post status and options
1801 1852 $checkout_page = array(
1802 1853 'comment_status' => 'closed',
1803 1854 'ping_status' => 'closed',
1804 1855 'post_author' => get_current_user_id(),
1805 - 'post_date' => gmdate('Y-m-d H:i:s'),
1856 + 'post_date' => date('Y-m-d H:i:s'),
1806 1857 'post_status' => 'publish',
1807 1858 'post_title' => 'wpwBot App Checkout',
1808 1859 'post_name' => 'wpwbot-app-checkout',
1809 1860 'post_type' => 'page',
@@ -1813,16 +1864,15 @@
1813 1864 //save the id in the database
1814 1865 update_option('wp_chatbot_app_checkout', $app_checkout);
1815 1866 }
1816 1867 //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() ) {
1868 + if (get_page_by_title('wpwBot App Order Thank You') == NULL) {
1819 1869 //post status and options
1820 1870 $thankyou_page = array(
1821 1871 'comment_status' => 'closed',
1822 1872 'ping_status' => 'closed',
1823 1873 'post_author' => get_current_user_id(),
1824 - 'post_date' => gmdate('Y-m-d H:i:s'),
1874 + 'post_date' => date('Y-m-d H:i:s'),
1825 1875 'post_status' => 'publish',
1826 1876 'post_title' => 'wpwBot App Order Thank You',
1827 1877 'post_name' => 'wpwbot-app-order-thankyou',
1828 1878 'post_type' => 'page',
@@ -1833,9 +1883,9 @@
1833 1883 update_option('wp_chatbot_app_order_thankyou', $app_order_thankyou);
1834 1884 }
1835 1885 }
1836 1886 //Keep tracking from App by cookies
1837 - if ( isset( $_GET['from'] ) && sanitize_text_field( wp_unslash( $_GET['from'] ) ) === 'app' ) { // phpcs:ignore WordPress.Security.NonceVerification
1887 + if (isset($_GET['from']) && $_GET['from'] == 'app') {
1838 1888 if (!isset($_COOKIE['from_app'])) {
1839 1889 setcookie('from_app', 'yes', (time() + 3600), '/');
1840 1890 }
1841 1891 }
@@ -1849,9 +1899,9 @@
1849 1899 global $wp;
1850 1900 if (is_checkout() && !empty($wp->query_vars['order-received'])) {
1851 1901 $thanks_page_id = get_option('wp_chatbot_app_order_thankyou');
1852 1902 $thanks_parmanlink = esc_url(get_permalink($thanks_page_id));
1853 - wp_safe_redirect($thanks_parmanlink . '?order_id=' . $order_get_id);
1903 + wp_redirect($thanks_parmanlink . '?order_id=' . $order_get_id);
1854 1904 exit;
1855 1905 }
1856 1906 } else {
1857 1907 remove_action('wpcommerce_thankyou', 'qcld_wb_chatbot__redirect_after_purchase');
@@ -1859,12 +1909,9 @@
1859 1909 }
1860 1910 }
1861 1911
1862 1912 function qcld_choose_random($array){
1863 - if (is_array($array) && !empty($array)) {
1864 - return $array[array_rand($array)];
1865 - }
1866 - return $array;
1913 + return $array[array_rand($array)];
1867 1914 }
1868 1915
1869 1916 //User session count
1870 1917 add_action('wp_ajax_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
@@ -1870,9 +1917,8 @@
1870 1917 add_action('wp_ajax_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
1871 1918 add_action('wp_ajax_nopriv_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
1872 1919 function qcld_wb_chatbot_session_count(){
1873 1920 // Nonce is checked, get the POST data and sign user on
1874 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1875 1921 global $wpdb;
1876 1922 $wpdb->show_errors = true;
1877 1923 $tableuser = $wpdb->prefix.'wpbot_sessions';
1878 1924 $response = array();
@@ -1877,12 +1923,11 @@
1877 1923 $tableuser = $wpdb->prefix.'wpbot_sessions';
1878 1924 $response = array();
1879 1925
1880 1926
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 -
1927 + $session_exists = $wpdb->get_row("select * from $tableuser where 1 and id = '1'");
1883 1928 if(empty($session_exists)){
1884 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1929 + $wpdb->insert(
1885 1930 $tableuser,
1886 1931 array(
1887 1932 'session' => 1,
1888 1933 )
@@ -1889,10 +1934,9 @@
1889 1934 );
1890 1935 }else{
1891 1936
1892 1937 $session_id = $session_exists->id;
1893 -
1894 - $wpdb->update( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
1938 + $wpdb->update(
1895 1939 $tableuser,
1896 1940 array(
1897 1941 'session'=>($session_exists->session+1),
1898 1942 ),
@@ -1901,18 +1945,18 @@
1901 1945 '%d',
1902 1946 ),
1903 1947 array('%d')
1904 1948 );
1905 -
1906 1949 }
1907 1950
1908 - wp_send_json($response);
1951 + echo wp_send_json($response);
1952 + die();
1909 1953 }
1910 1954
1911 1955 /* WPBot Chat History Addon check */
1912 1956 function qcld_wpbot_is_active_chat_history(){
1913 1957
1914 - if(function_exists('qcwp_chat_session_menu_fnc') || function_exists('qcwp_chat_session_menu_fnc_free') || function_exists( 'qcpdcs_chat_session_menu_fnc' ) ){
1958 + if(function_exists('qcwp_chat_session_menu_fnc') || function_exists( 'qcpdcs_chat_session_menu_fnc' ) ){
1915 1959 return 1;
1916 1960 }else{
1917 1961 return 0;
1918 1962 }
@@ -1918,9 +1962,9 @@
1918 1962 }
1919 1963
1920 1964 }
1921 1965
1922 -function qcld_wpbot_input_validation( $data ) {
1966 +function qc_wpbot_input_validation( $data ) {
1923 1967 $data = html_entity_decode($data);
1924 1968 $data = trim($data);
1925 1969 $data = stripslashes($data);
1926 1970 $data = htmlspecialchars($data);
@@ -1925,23 +1969,16 @@
1925 1969 $data = stripslashes($data);
1926 1970 $data = htmlspecialchars($data);
1927 1971 return $data;
1928 1972 }
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 - }
1973 +add_action('wp_ajax_small_talk_import', 'small_talk_import');
1974 +function small_talk_import(){
1934 1975 global $wpdb;
1935 -
1936 1976 $table = $wpdb->prefix.'wpbot_response';
1937 -
1938 1977 $csvFile = file(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . 'small_talk.csv');
1939 -
1940 1978 foreach ($csvFile as $line) {
1941 1979 $line = str_getcsv($line, ',', '"');
1942 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1943 - $table, array(
1980 + $wpdb->insert($table, array(
1944 1981 'query' => $line[0],
1945 1982 'keyword' => $line[1],
1946 1983 'response' => $line[2],
1947 1984 'category'=> $line[3],
@@ -1948,60 +1985,11 @@
1948 1985 'intent'=> '',
1949 1986 //'lang'=> 'en_US',
1950 1987 ));
1951 1988 }
1952 -
1953 1989 $table2 = $wpdb->prefix.'wpbot_response_category';
1954 -
1955 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1956 - $table2, array(
1990 + $wpdb->insert($table2, array(
1957 1991 'name' => 'smalltalk',
1958 1992 ));
1959 -
1960 1993 update_option( 'qcld_small_talk_imported', 'yes' );
1961 1994
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 -}
1995 +}