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