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