PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 3.8.2
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v3.8.2
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 +455 -465 8.6.73.8.2 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;
@@ -250,17 +185,17 @@
250 185
251 186
252 187 if (get_option('wp_chatbot_show_pages') == 'off') {
253 188 $wp_chatbot_select_pages = unserialize(get_option('wp_chatbot_show_pages_list'));
189 +
254 190 if (is_page() && !empty($wp_chatbot_select_pages)) {
255 -
191 +
256 192 if (in_array(get_the_ID(), $wp_chatbot_select_pages) == true) {
257 -
193 +
258 194 $wp_chatbot_load = true;
259 195 } else {
260 196 $wp_chatbot_load = false;
261 197 }
262 -
263 198 }
264 199
265 200 if(function_exists('is_shop')){
266 201 if (is_shop() || is_cart() || is_checkout() || 'product' == get_post_type()) {
@@ -280,13 +215,9 @@
280 215 $wp_chatbot_load = false;
281 216 }
282 217 }
283 218
284 - $post_list = maybe_unserialize(get_option('wp_chatbot_exclude_post_list'));
285 -
286 - if( is_array( $post_list ) && in_array(get_post_type(), $post_list)){
287 - $wp_chatbot_load = false;
288 - }
219 +
289 220 if (wp_chatbot_is_mobile() && get_option('disable_wp_chatbot_on_mobile') == 1) {
290 221 $wp_chatbot_load = false;
291 222 }
292 223
@@ -300,13 +231,14 @@
300 231
301 232 if(is_admin()){
302 233 $wp_chatbot_load = false;
303 234 }
235 +
304 236 return $wp_chatbot_load;
305 237 }
306 238 //checking Devices
307 239 function wp_chatbot_is_mobile(){
308 - $useragent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : '';
240 + $useragent = $_SERVER['HTTP_USER_AGENT'];
309 241 if (preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i', $useragent) || preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i', substr($useragent, 0, 4))) {
310 242 return true;
311 243 } else {
312 244 return false;
@@ -313,13 +245,13 @@
313 245 }
314 246 }
315 247 //Checking wpwbot opening hour
316 248 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')));
249 + $curent_day=strtolower(date('l',strtotime(current_time( 'mysql' ))));
250 + $current_time=date('H:i',strtotime(current_time( 'mysql')));
319 251 $is_wpwbot_open =false;
320 252 if(get_option('wpwbot_hours')) {
321 - $wpwbot_times = wp_kses_post(unserialize(get_option('wpwbot_hours')));
253 + $wpwbot_times = unserialize(get_option('wpwbot_hours'));
322 254 if (isset($wpwbot_times[$curent_day])) {
323 255 $day_times = $wpwbot_times[$curent_day];
324 256 if (!empty($day_times)) {
325 257 foreach ($day_times as $day_time) {
@@ -331,8 +263,183 @@
331 263 }
332 264 }
333 265 return $is_wpwbot_open;
334 266 }
267 +//wpwBot shortcode.
268 +add_shortcode('wpwbot', 'wp_chatbot_short_code');
269 +function wp_chatbot_short_code($atts = []){
270 + ob_start();
271 + wp_chatbot_shortcode_dom($atts);
272 + $content = ob_get_clean();
273 + return $content;
274 +}
275 +function wp_chatbot_shortcode_dom($atts){
276 + //Defaults & Set Parameters for shortcode
277 + extract(shortcode_atts(
278 + array(
279 + 'template' => '01',
280 + ), $atts
281 + ));
282 + ?>
283 + <style>
284 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
285 + </style>
286 + <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
287 + if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
288 + $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
289 + } else {
290 + $qcld_wb_chatbot_board_bg_path = QCLD_wpCHATBOT_IMG_URL . 'background/background.png';
291 + }
292 + ?>
293 + <style>
294 + .wp-chatbot-container {
295 + background: url(<?php echo $qcld_wb_chatbot_board_bg_path ;?>) no-repeat top right !important;
296 + }
297 + </style>
298 +<?php }
299 + $wp_chatbot_enable_rtl = "";
300 + if (get_option('enable_wp_chatbot_rtl')) {
301 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
302 + }
303 + ?>
304 + <div id="wp-chatbot-chat-container" class="<?php echo $wp_chatbot_enable_rtl; ?>">
305 + <?php
306 + //Get wpcommerce cart
307 +
308 + $qcld_wb_chatbot_theme = 'template-' . $template;
309 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/style.css')) {
310 + wp_register_style('qcld-wp-chatbot-style', plugins_url(basename(plugin_dir_path(__FILE__)) . '/templates/' . $qcld_wb_chatbot_theme . '/style.css', basename(__FILE__)), '', QCLD_wpCHATBOT_VERSION, 'screen');
311 + wp_enqueue_style('qcld-wp-chatbot-style');
312 + }
313 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
314 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
315 + } else {
316 + echo "<h2>" . __('No wpWBot Theme Found!', 'wpchatbot') . "</h2>";
317 + }
318 + ?>
319 + <?php if (get_option('disable_wp_chatbot') != 1): ?>
320 + <div id="wp-chatbot-notification-container" class="wp-chatbot-notification-container">
321 + <div class="wp-chatbot-notification-controller"> <span class="wp-chatbot-notification-close">X</span> </div>
322 + <?php
323 + if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
324 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
325 + } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
326 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
327 + } else {
328 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
329 + }
330 + ?>
331 + <div class="wp-chatbot-notification-agent-profile">
332 + <div class="wp-chatbot-notification-widget-avatar"><img
333 + src="<?php echo $wp_chatbot_custom_icon_path; ?>" alt=""></div>
334 + <div class="wp-chatbot-notification-welcome"><?php echo wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_welcome'))) . ' <strong>' . get_option('qlcd_wp_chatbot_host') . '</strong>'; ?></div>
335 + </div>
336 + <div class="wp-chatbot-notification-message"><?php echo wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_notifications'))); ?></div>
337 + </div>
338 + <!--wp-chatbot-board-container-->
339 + <div id="wp-chatbot-ball" class="">
340 + <div class="wp-chatbot-ball">
341 + <div class="wp-chatbot-ball-animator wp-chatbot-ball-animation-switch"></div>
342 + <?php
343 + if (get_option('wp_chatbot_custom_icon_path') != "" && get_option('wp_chatbot_icon') == "custom.png") {
344 + $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_icon_path');
345 + } else if (get_option('wp_chatbot_custom_icon_path') != "" && get_option('wp_chatbot_icon') != "custom.png") {
346 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_icon');
347 + } else {
348 + $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom.png';
349 + }
350 + ?>
351 + <img src="<?php echo $wp_chatbot_custom_icon_path; ?>"
352 + alt="wpChatIcon"> <!--<span class="wp-chatbot-ball-cart-items"><?php echo $cart_items_number; ?></span>--> </div>
353 + </div>
354 + <!-- wp-chatbot-board-container-->
355 + <?php endif; ?>
356 + <!--container-->
357 + <!--wp-chatbot-ball-wrapper-->
358 + </div>
359 +<?php } ?>
360 +<?php
361 +//Create shortcode for wpwBot for pages.
362 +add_shortcode('wpbot-page', 'wp_chatbot_page_short_code');
363 +function wp_chatbot_page_short_code(){
364 + ob_start();
365 + wp_chatbot_page_dom();
366 + $content = ob_get_clean();
367 + return $content;
368 +}
369 +function wp_chatbot_page_dom(){ ?>
370 + <style>
371 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
372 + </style>
373 + <?php
374 + //Get wpcommerce cart
375 +
376 + $qcld_wb_chatbot_theme = get_option('qcld_wb_chatbot_theme');
377 + $wp_chatbot_enable_rtl = "";
378 + if (get_option('enable_wp_chatbot_rtl') == 1) {
379 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
380 + }
381 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/shortcode.php')) {
382 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/shortcode.php');
383 + } else {
384 + echo "<h2>" . __('No WPBot ShortCode Theme Found!', 'wpchatbot') . "</h2>";
385 + }
386 +}
387 +//shortcode for wpWBot mobile app
388 +add_shortcode('wpwbot_app', 'wp_chatbot_mobile_app_short_code');
389 +function wp_chatbot_mobile_app_short_code(){ ?>
390 + <style>
391 + <?php if(get_option('wp_chatbot_custom_css')!=""){echo get_option('wp_chatbot_custom_css'); } ?>
392 + </style>
393 + <?php if (get_option('qcld_wb_chatbot_change_bg') == 1) {
394 + if (get_option('qcld_wb_chatbot_board_bg_path') != "") {
395 + $qcld_wb_chatbot_board_bg_path = get_option('qcld_wb_chatbot_board_bg_path');
396 + } else {
397 + $qcld_wb_chatbot_board_bg_path = QCLD_wpCHATBOT_IMG_URL . 'background/background.png';
398 + }
399 + ?>
400 + <style>
401 + .wp-chatbot-container {
402 + background: url(<?php echo $qcld_wb_chatbot_board_bg_path ;?>) no-repeat top right !important;
403 + }
404 + </style>
405 +<?php }
406 + $wp_chatbot_enable_rtl = "";
407 + if (get_option('enable_wp_chatbot_rtl')) {
408 + $wp_chatbot_enable_rtl .= "wp-chatbot-rtl";
409 + }
410 + ?>
411 + <div id="wp-chatbot-chat-app-shortcode-container" class="<?php echo $wp_chatbot_enable_rtl; ?>">
412 + <?php
413 + // keep traking app template.
414 + $template_app = 'yes';
415 + //Get wpcommerce cart
416 +
417 + //Handling shortcode enqeue and remove features part.
418 + define('wpCOMMERCE', true);
419 + wp_enqueue_script('jquery');
420 +
421 +
422 + wp_enqueue_script('wc-address-i18n');
423 + wp_enqueue_script('wc-country-select');
424 +
425 +
426 + // add the action
427 + if (isset($_GET['from']) && $_GET['from'] == 'app') {
428 + if (!isset($_COOKIE['from_app'])) {
429 + setcookie('from_app', 'yes', time() + 3600);
430 + }
431 + }
432 + $qcld_wb_chatbot_theme = get_option('qcld_wb_chatbot_theme');
433 + if (file_exists(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php')) {
434 + require_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . '/templates/' . $qcld_wb_chatbot_theme . '/template.php');
435 + } else {
436 + echo "<h2>" . __('No WPBot Theme Found!', 'wpchatbot') . "</h2>";
437 + }
438 + ?>
439 + </div>
440 + <?php
441 +}
335 442
336 443 /**
337 444 * wpwBot Search keyword product
338 445 */
@@ -338,20 +445,13 @@
338 445 */
339 446 add_action('wp_ajax_qcld_wb_chatbot_keyword', 'qcld_wb_chatbot_keyword');
340 447 add_action('wp_ajax_nopriv_qcld_wb_chatbot_keyword', 'qcld_wb_chatbot_keyword');
341 448 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']));
449 + $keyword = sanitize_text_field($_POST['keyword']);
350 450 $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
351 451 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');
452 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
453 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
354 454 //Merging all query together.
355 455 $argu_params = array(
356 456 'post_type' => 'product',
357 457 'post_status' => 'publish',
@@ -393,9 +493,9 @@
393 493 endwhile;
394 494 wp_reset_postdata();
395 495 $html .= '</ul>';
396 496 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>';
497 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="' . $keyword . '" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
398 498 }
399 499 }
400 500 $html .= '</div>';
401 501 } else if (get_option('qlcd_wp_chatbot_search_option') == 'advanced') {
@@ -423,16 +523,16 @@
423 523 }
424 524 }
425 525 $html .= '</ul>';
426 526 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>';
527 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="' . $more_product_ids . '" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
428 528 }
429 529 }
430 530 $html .= '</div>';
431 531 }
432 532 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
433 - wp_send_json($response);
434 -
533 + echo wp_send_json($response);
534 + wp_die();
435 535 }
436 536 /**
437 537 * wpwBot Categories
438 538 */
@@ -440,22 +540,23 @@
440 540 add_action('wp_ajax_nopriv_qcld_wb_chatbot_category', 'qcld_wb_chatbot_category');
441 541 function qcld_wb_chatbot_category(){
442 542 $category_type="common";
443 543 if (get_option('wp_chatbot_show_parent_category') != "") {
444 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'parent' => 0, 'hide_empty' => true, 'fields' => 'all' ) );
544 + $terms = get_terms('product_cat', array('parent' => 0, 'hide_empty' => true, 'fields' => 'all'));
545 +
445 546 } else {
446 - $terms = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => true, 'fields' => 'all' ) );
547 + $terms = get_terms('product_cat', array('hide_empty' => true, 'fields' => 'all'));
447 548 }
448 549 $html = "";
449 550 foreach ($terms as $term) {
450 - $child_terms=get_terms( array( 'taxonomy' => 'product_cat', 'parent' => $term->term_id, 'hide_empty' => true, 'fields' => 'all' ) );
551 + $child_terms=get_terms('product_cat', array('parent' => $term->term_id, 'hide_empty' => true, 'fields' => 'all'));
451 552 if(get_option('wp_chatbot_show_sub_category')==1 && count($child_terms) >0){
452 553 $category_type="hasChilds";
453 554 }
454 555 $html .= '<span class="qcld-chatbot-product-category" data-category-type="' . $category_type . '" data-category-slug="' . $term->slug . '" data-category-id="' . $term->term_id . '">' . $term->name . '</span>';
455 556 }
456 - wp_send_json($html);
457 -
557 + echo wp_send_json($html);
558 + wp_die();
458 559 }
459 560 /**
460 561 * wpwBot Sub categories
461 562 */
@@ -461,16 +562,16 @@
461 562 */
462 563 add_action('wp_ajax_qcld_wb_chatbot_sub_category', 'qcld_wb_chatbot_sub_category');
463 564 add_action('wp_ajax_nopriv_qcld_wb_chatbot_sub_category', 'qcld_wb_chatbot_sub_category');
464 565 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' ) );
566 + $parent_id = stripslashes($_POST['parent_id']);
567 + $terms = get_terms('product_cat', array('parent' => $parent_id, 'hide_empty' => true, 'fields' => 'all'));
467 568 $html = "";
468 569 foreach ($terms as $term) {
469 570 $html .= '<span class="qcld-chatbot-product-category" data-category-type="common" data-category-slug="' . $term->slug . '" data-category-id="' . $term->term_id . '">' . $term->name . '</span>';
470 571 }
471 - wp_send_json($html);
472 -
572 + echo wp_send_json($html);
573 + wp_die();
473 574 }
474 575 /**
475 576 * wpwBot category product
476 577 */
@@ -476,12 +577,12 @@
476 577 */
477 578 add_action('wp_ajax_qcld_wb_chatbot_category_products', 'qcld_wb_chatbot_category_products');
478 579 add_action('wp_ajax_nopriv_qcld_wb_chatbot_category_products', 'qcld_wb_chatbot_category_products');
479 580 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');
581 + $category_id = stripslashes($_POST['category']);
582 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
583 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
584 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
484 585 //Merging all query together.
485 586 $argu_params = array(
486 587 'post_type' => 'product',
487 588 'post_status' => 'publish',
@@ -543,9 +644,9 @@
543 644 endwhile;
544 645 wp_reset_postdata();
545 646 $html .= '</ul>';
546 647 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>';
648 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="category" data-search-term="' . $category_id . '" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
548 649 }
549 650 $html .= '</div>';
550 651 } else {
551 652 $html = '';
@@ -550,9 +651,10 @@
550 651 } else {
551 652 $html = '';
552 653 }
553 654 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
554 - wp_send_json($response);
655 + echo wp_send_json($response);
656 + wp_die();
555 657 }
556 658 /**
557 659 * wpwBot latest, featured, recent product
558 660 */
@@ -558,11 +660,11 @@
558 660 */
559 661 add_action('wp_ajax_qcld_wb_chatbot_featured_products', 'qcld_wb_chatbot_featured_products');
560 662 add_action('wp_ajax_nopriv_qcld_wb_chatbot_featured_products', 'qcld_wb_chatbot_featured_products');
561 663 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');
664 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
665 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
666 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
565 667 //get featured products query.
566 668 $argu_params = array('post_status' => 'publish',
567 669 'posts_per_page' => $product_per_page,
568 670 'post_type' => 'product',
@@ -606,14 +708,15 @@
606 708 endwhile;
607 709 wp_reset_postdata();
608 710 $html .= '</ul>';
609 711 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>';
712 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="featured" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
611 713 }
612 714 }
613 715 $html .= '</div>';
614 716 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
615 - wp_send_json($response);
717 + echo wp_send_json($response);
718 + wp_die();
616 719 }
617 720 //Product display controll
618 721 function wp_chatbot_product_controlling($product_id){
619 722 $display_product = true;
@@ -628,11 +731,11 @@
628 731 //Get Sale products
629 732 add_action('wp_ajax_qcld_wb_chatbot_sale_products', 'qcld_wb_chatbot_sale_products');
630 733 add_action('wp_ajax_nopriv_qcld_wb_chatbot_sale_products', 'qcld_wb_chatbot_sale_products');
631 734 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');
735 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
736 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
737 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
635 738 //get sale products query.
636 739 $argu_params = array(
637 740 'post_type' => 'product',
638 741 'post_status' => 'publish',
@@ -704,25 +807,26 @@
704 807 endwhile;
705 808 wp_reset_postdata();
706 809 $html .= '</ul>';
707 810 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>';
811 + $html .= '<p style="text-align: center"><button type="button" id="wp-chatbot-loadmore" data-offset="' . $product_per_page . '" data-search-type="product" data-search-term="sale" >' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_load_more'))) . ' <span id="wp-chatbot-loadmore-loader"></span></button> </p>';
709 812 }
710 813 }
711 814 $html .= '</div>';
712 815 $response = array('html' => $html, 'product_num' => $total_product_num, 'per_page' => $product_per_page);
713 - wp_send_json($response);
816 + echo wp_send_json($response);
817 + wp_die();
714 818 }
715 819 //load more
716 820 add_action('wp_ajax_qcld_wb_chatbot_load_more', 'qcld_wb_chatbot_load_more');
717 821 add_action('wp_ajax_nopriv_qcld_wb_chatbot_load_more', 'qcld_wb_chatbot_load_more');
718 822 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');
823 + $offset = stripslashes($_POST['offset']);
824 + $search_type = stripslashes($_POST['search_type']);
825 + $search_term = stripslashes($_POST['search_term']);
826 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
827 + $product_orderby = get_option('qlcd_wp_chatbot_product_orderby') != '' ? get_option('qlcd_wp_chatbot_product_orderby') : 'title';
828 + $product_order = get_option('qlcd_wp_chatbot_product_order') != '' ? get_option('qlcd_wp_chatbot_product_order') : 'ASC';
725 829 $next_offset = intval($product_per_page + $offset);
726 830 if ($search_type == 'product' && $search_term != 'featured' && $search_term != 'sale' && get_option('qlcd_wp_chatbot_search_option') == 'advanced') {
727 831 //if have multiple ids then explode else have single need to array push
728 832 if (strpos($search_term, ',') !== false) {
@@ -844,15 +948,16 @@
844 948 $html .= '';
845 949 }
846 950 $response = array('html' => $html, 'product_num' => $product_num, 'search_term' => $search_term, 'offset' => $next_offset, 'per_page' => $product_per_page);
847 951 }
848 - wp_send_json($response);
952 + echo wp_send_json($response);
953 + wp_die();
849 954 }
850 955 //product details
851 956 add_action('wp_ajax_qcld_wb_chatbot_product_details', 'qcld_wb_chatbot_product_details');
852 957 add_action('wp_ajax_nopriv_qcld_wb_chatbot_product_details', 'qcld_wb_chatbot_product_details');
853 958 function qcld_wb_chatbot_product_details(){
854 - $product_id = intval( wp_unslash( $_POST['wp_chatbot_pid'] ) );
959 + $product_id = stripslashes($_POST['wp_chatbot_pid']);
855 960 //Tracking product view from chat board
856 961 wp_chatbot_view_track_product_by_id($product_id);
857 962 //wpcommerce product factory
858 963 $wc_pf = new WC_Product_Factory();
@@ -880,9 +985,9 @@
880 985 }
881 986 }
882 987 $product_image .= '</ul></div>';
883 988 $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>';
989 + $product_sku = '<p class="wp-chatbot-product-sku"> ' . __('SKU', 'wpchatbot') . ' : ' . $product->get_sku() . '</p>';
885 990 //if ( $product->is_in_stock() || $product->is_purchasable() )
886 991 //Handle variable product start
887 992 $variations = "";
888 993 $add_cart_button = "";
@@ -923,13 +1028,12 @@
923 1028 } else {
924 1029 $variations .= '<div class="wp-chatbot-variable-' . sanitize_title($name) . '">';
925 1030 $variations .= '<label for="' . sanitize_title($name) . '">' . $title . '</label>';
926 1031 $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>';
1032 + $variations .= '<option value="">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_choose_option'))) . '</option>';
928 1033 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 ] ) );
1034 + if (isset($_REQUEST['attribute_' . sanitize_title($name)])) {
1035 + $selected_value = $_REQUEST['attribute_' . sanitize_title($name)];
932 1036 } else {
933 1037 $selected_value = '';
934 1038 }
935 1039 $variations .= '<option value="' . esc_attr(strtolower($value)) . '"' . selected($selected_value, $value, false) . '>' . apply_filters('wpcommerce_variation_option_name', $value) . '</option>';
@@ -936,29 +1040,30 @@
936 1040 }
937 1041 $variations .= '</select></div>';
938 1042 }
939 1043 }
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="" />';
1044 + $add_cart_button .= '<input type="button" id="wp-chatbot-variation-add-to-cart" wp-chatbot-product-id="' . $product_id . '" value="' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_add_to_cart'))) . '" variation_id="" />';
941 1045 $add_cart_button .= "<input type='hidden' id='wp-chatbot-variation-data' data-product-variation='" . $variations_data . "' />";
942 1046 } 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')))) . '" />';
1047 + $add_cart_button .= '<input type="button" id="wp-chatbot-add-cart-button" wp-chatbot-product-id="' . $product_id . '" value="' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_add_to_cart'))) . '" />';
944 1048 }
945 1049 //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>
1050 + $product_quantity .= '<label for="">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_quantity'))) . '</label>
947 1051 <input type="number" id="vPQuantity" value="1" />';
948 1052 }
949 1053 //$response=$full_size_image;
950 1054 $response = array('title' => $product_title, 'description' => $product_desc, 'image' => $product_image, 'price' => $product_price, 'sku' => $product_sku, 'quantity' => $product_quantity, 'buttton' => $add_cart_button, 'variation' => $variations, 'type' => $product_type, 'debug' => $debug);
951 - wp_send_json($response);
1055 + echo wp_send_json($response);
1056 + wp_die();
952 1057 }
953 1058 //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();
1059 +add_action('wp_ajax_variable_add_to_cart', 'qcld_wb_chatbot_variable_add_to_cart');
1060 +add_action('wp_ajax_nopriv_variable_add_to_cart', 'qcld_wb_chatbot_variable_add_to_cart');
1061 +function qcld_wb_chatbot_variable_add_to_cart(){
1062 + $product_id = stripslashes($_POST['p_id']);
1063 + $quantity = stripslashes($_POST['quantity']);
1064 + $variations_id = stripslashes($_POST['variations_id']);
1065 + $attrs = stripslashes($_POST['attributes']);
961 1066 //echo wp_send_json(array('p_id'=>$product_id,'qnty'=>$quantity,'id'=>$variations_id,'att'=>$attrs));
962 1067 $attributes = array();
963 1068 foreach ($attrs as $attr) {
964 1069 $single = explode("#", $attr);
@@ -969,46 +1074,44 @@
969 1074 }
970 1075 global $wpcommerce;
971 1076 $result = $wpcommerce->cart->add_to_cart($product_id, $quantity, $variations_id, $attributes, null);
972 1077 if ($result != false) {
973 - wp_send_json('variable');
1078 + echo wp_send_json('variable');
974 1079 } else {
975 - wp_send_json('error');
1080 + echo wp_send_json('error');
976 1081 }
1082 + wp_die();
977 1083 }
978 1084 //Add to cart for simple product.
979 1085 add_action('wp_ajax_qcld_wb_chatbot_add_to_cart', 'qcld_wb_chatbot_add_to_cart');
980 1086 add_action('wp_ajax_nopriv_qcld_wb_chatbot_add_to_cart', 'qcld_wb_chatbot_add_to_cart');
981 1087 function qcld_wb_chatbot_add_to_cart(){
982 - $product_id = intval( wp_unslash( $_POST['product_id'] ) );
983 - $product_quantity = intval( wp_unslash( $_POST['quantity'] ) );
1088 + $product_id = stripslashes($_POST['product_id']);
1089 + $product_quantity = stripslashes($_POST['quantity']);
984 1090 global $wpcommerce;
985 1091 $result = $wpcommerce->cart->add_to_cart($product_id, $product_quantity);
986 1092 if ($result != false) {
987 - wp_send_json('simple');
1093 + echo wp_send_json('simple');
988 1094 } else {
989 - wp_send_json('error');
1095 + echo wp_send_json('error');
990 1096 }
1097 + wp_die();
991 1098 }
992 1099 //Support part
993 1100 add_action('wp_ajax_qcld_wb_chatbot_support_email', 'qcld_wb_chatbot_support_email');
994 1101 add_action('wp_ajax_nopriv_qcld_wb_chatbot_support_email', 'qcld_wb_chatbot_support_email');
995 1102 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');
1103 + $name = trim(sanitize_text_field($_POST['name']));
1104 + $email = sanitize_email($_POST['email']);
1105 + $message = sanitize_text_field($_POST['message']);
1106 + $subject = get_option('qlcd_wp_chatbot_email_sub') != '' ? get_option('qlcd_wp_chatbot_email_sub') : 'Support Email from wpWBot by Client';
1004 1107 //Extract Domain
1005 1108 $url = get_site_url();
1006 - $url = wp_parse_url($url);
1109 + $url = parse_url($url);
1007 1110 $domain = $url['host'];
1008 1111 //$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);
1112 + $admin_email = get_option('admin_email');
1113 + $toEmail = get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email;
1011 1114
1012 1115
1013 1116 if(get_option('qlcd_wp_chatbot_from_email') && get_option('qlcd_wp_chatbot_from_email')!=''){
1014 1117 $fromEmail = get_option('qlcd_wp_chatbot_from_email');
@@ -1014,23 +1117,24 @@
1014 1117 $fromEmail = get_option('qlcd_wp_chatbot_from_email');
1015 1118 }else{
1016 1119 $fromEmail = "wordpress@" . $domain;
1017 1120 }
1121 +
1018 1122 //Starting messaging and status.
1019 1123 $response['status'] = 'fail';
1020 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_email_fail')));
1124 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_email_fail'));
1021 1125 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'))));
1126 + $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_invalid_email')));
1023 1127 $response['status'] = 'fail';
1024 1128 } else {
1025 1129 //build email body
1026 1130 $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>';
1131 + $bodyContent .= '<p><strong>' . __('Support Request Details', 'wpchatbot') . ':</strong></p><hr>';
1132 + $bodyContent .= '<p>' . __('Name', 'wpchatbot') . ' : ' . $name . '</p>';
1133 + $bodyContent .= '<p>' . __('Email', 'wpchatbot') . ' : ' . $email . '</p>';
1134 + $bodyContent .= '<p>' . __('Subject', 'wpchatbot') . ' : ' . $subject . '</p>';
1135 + $bodyContent .= '<p>' . __('Message', 'wpchatbot') . ' : ' . $message . '</p>';
1136 + $bodyContent .= '<p>' . __('Mail Generated on', 'wpchatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1033 1137 $to = $toEmail;
1034 1138 $body = $bodyContent;
1035 1139 $headers = array();
1036 1140 $headers[] = 'Content-Type: text/html; charset=UTF-8';
@@ -1038,13 +1142,13 @@
1038 1142 $headers[] = 'Reply-To: ' . $name . ' <' . $email . '>';
1039 1143 $result = wp_mail($to, $subject, $body, $headers);
1040 1144 if ($result) {
1041 1145 $response['status'] = 'success';
1042 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_email_sent')));
1146 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_email_sent'));
1043 1147 }
1044 1148
1045 1149 }
1046 - echo wp_json_encode($response);
1150 + echo json_encode($response);
1047 1151 die();
1048 1152 }
1049 1153 //Support Phone
1050 1154 add_action('wp_ajax_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
@@ -1049,37 +1153,36 @@
1049 1153 //Support Phone
1050 1154 add_action('wp_ajax_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
1051 1155 add_action('wp_ajax_nopriv_qcld_wb_chatbot_support_phone', 'qcld_wb_chatbot_support_phone');
1052 1156 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']));
1157 + $name = trim(sanitize_text_field($_POST['name']));
1158 + $phone =sanitize_text_field($_POST['phone']);
1056 1159 $subject = 'WPBot Support Mail Request for Call Back';
1057 1160 //Extract Domain
1058 1161 $url = get_site_url();
1059 - $url = wp_parse_url($url);
1162 + $url = parse_url($url);
1060 1163 $domain = $url['host'];
1061 1164 //$admin_email = "admin@" . $domain;
1062 1165 $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);
1166 + $toEmail = get_option('qlcd_wp_chatbot_admin_email') != '' ? get_option('qlcd_wp_chatbot_admin_email') : $admin_email;
1064 1167
1065 1168
1066 1169 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'));
1170 + $fromEmail = get_option('qlcd_wp_chatbot_from_email');
1068 1171 }else{
1069 1172 $fromEmail = "wordpress@" . $domain;
1070 1173 }
1071 1174 //Starting messaging and status.
1072 1175 $response['status'] = 'fail';
1073 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_phone_fail')));
1176 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_phone_fail'));
1074 1177 //build email body
1075 1178 $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>';
1179 + $bodyContent .= '<p><strong>' . __('Support Request Details', 'wpchatbot') . ':</strong></p><hr>';
1180 + $bodyContent .= '<p>' . __('Name', 'wpchatbot') . ' : ' . $name . '</p>';
1181 + $bodyContent .= '<p>' . __('Phone', 'wpchatbot') . ' : ' . $phone . '</p>';
1182 + $bodyContent .= '<p>' . __('Subject', 'wpchatbot') . ' : ' . $subject . '</p>';
1183 + $bodyContent .= '<p>' . __('Message', 'wpchatbot') . ' : ' . __(' Call me at ', 'wpchatbot'). $phone . '</p>';
1184 + $bodyContent .= '<p>' . __('Mail Generated on', 'wpchatbot') . ': ' . current_time('F j, Y, g:i a') . '</p>';
1082 1185 $to = $toEmail;
1083 1186 $body = $bodyContent;
1084 1187 $headers = array();
1085 1188 $headers[] = 'Content-Type: text/html; charset=UTF-8';
@@ -1087,17 +1190,38 @@
1087 1190 $headers[] = 'Reply-To: ' . $name . ' <' . $fromEmail . '>';
1088 1191 $result = wp_mail($to, $subject, $body, $headers);
1089 1192 if ($result) {
1090 1193 $response['status'] = 'success';
1091 - $response['message'] = str_replace('\\', '',wp_kses_post(get_option('qlcd_wp_chatbot_phone_sent')));
1194 + $response['message'] = str_replace('\\', '',get_option('qlcd_wp_chatbot_phone_sent'));
1092 1195 }
1093 - echo wp_json_encode($response);
1196 + echo json_encode($response);
1094 1197 die();
1095 1198 }
1096 -// Order Status part. removed
1097 -
1199 +// Order Status part.
1200 +add_action('wp_ajax_qcld_wb_chatbot_check_user', 'qcld_wb_chatbot_check_user');
1201 +add_action('wp_ajax_nopriv_qcld_wb_chatbot_check_user', 'qcld_wb_chatbot_check_user');
1202 +function qcld_wb_chatbot_check_user(){
1203 + global $wpcommerce;
1204 + $user_name = trim(sanitize_text_field($_POST['user_name']));
1205 + $response = array();
1206 + $response['message'] = "";
1207 + if (username_exists($user_name)) {
1208 + if (get_option('qlcd_wp_chatbot_order_user') == 'login') {
1209 + $response['status'] = "success";
1210 + $response['message'] .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_thanks')));
1211 + $response['html'] .= '<p>' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_password'))) . '</p>';
1212 + } else if (get_option('qlcd_wp_chatbot_order_user') == 'not_login') {
1213 + $response = get_order_by_username($user_name);
1214 + }
1215 + } else {
1216 + $response['status'] = "fail";
1217 + $response['message'] .= '<strong>' . $user_name . '</strong> ' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_username_not_exist')));
1218 + }
1219 + echo wp_send_json($response);
1220 + die();
1221 +}
1098 1222 function wpb_randmom_message_handle($items){
1099 - return $items[wp_rand(0, count($items) - 1)];
1223 + return $items[rand(0, count($items) - 1)];
1100 1224 }
1101 1225 function qcld_wb_chatbot_func_str_replace($messages = array()){
1102 1226 $refined_mesgses = array();
1103 1227 foreach ($messages as $message) {
@@ -1112,21 +1236,22 @@
1112 1236 // First check the nonce, if it fails the function will break
1113 1237 check_ajax_referer('wpwbot-order-nonce', 'security');
1114 1238 // Nonce is checked, get the POST data and sign user on
1115 1239 $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'])));
1240 + $info['user_login'] = trim(sanitize_text_field($_POST['user_name']));
1241 + $info['user_password'] = trim(sanitize_text_field($_POST['user_pass']));
1118 1242 $info['remember'] = true;
1119 1243 $user_signon = wp_signon($info, false);
1120 1244 $response = array();
1121 1245 if (is_wp_error($user_signon)) {
1122 1246 $response['status'] = "fail";
1123 - $response['message'] = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect'))));
1247 + $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect')));
1124 1248 } else {
1125 1249 $response = get_order_by_username($info['user_login']);
1126 1250 $response['status'] = "success";
1127 1251 }
1128 - wp_send_json($response);
1252 + echo wp_send_json($response);
1253 + die();
1129 1254 }
1130 1255 add_action('wp_ajax_qcld_wb_chatbot_loged_in_user_orders', 'qcld_wb_chatbot_loged_in_user_orders');
1131 1256 add_action('wp_ajax_nopriv_qcld_wb_chatbot_loged_in_user_orders', 'qcld_wb_chatbot_loged_in_user_orders');
1132 1257 function qcld_wb_chatbot_loged_in_user_orders(){
@@ -1132,9 +1257,10 @@
1132 1257 function qcld_wb_chatbot_loged_in_user_orders(){
1133 1258 $current_user = wp_get_current_user();
1134 1259 $user_name = $current_user->user_login;
1135 1260 $response = get_order_by_username($user_name);
1136 - wp_send_json($response);
1261 + echo wp_send_json($response);
1262 + die();
1137 1263 }
1138 1264 function get_order_by_username($user_name){
1139 1265 global $post;
1140 1266 $response = array();
@@ -1152,28 +1278,28 @@
1152 1278 ));
1153 1279 $response['order_num'] = count($customer_orders);
1154 1280 $order_html = '';
1155 1281 if ($response['order_num'] > 0) {
1156 - $response['message'] .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_found'))));
1282 + $response['message'] .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_found')));
1157 1283 $order_html .= '<div class="wp-chatbot-orders-container">
1158 1284 <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>
1285 + <div class="order-id">' . __('ID', 'wpchatbot') . '</div>
1286 + <div class="order-date">' . __('Date', 'wpchatbot') . ' </div>
1287 + <div class="order-items">' . __('Items', 'wpchatbot') . '</div>
1288 + <div class="order-status">' . __('Status', 'wpchatbot') . '</div>
1163 1289 </div>';
1164 1290 foreach ($customer_orders as $order) {
1165 1291 //Formatting order summery
1166 1292 if (isset($_COOKIE['from_app']) && $_COOKIE['from_app'] == 'yes') {
1167 - $thanks_page_id = sanitize_text_field(get_option('wp_chatbot_app_order_thankyou'));
1293 + $thanks_page_id = get_option('wp_chatbot_app_order_thankyou');
1168 1294 $thanks_parmanlink = esc_url(get_permalink($thanks_page_id));
1169 1295 $order_url = '<a href="' . $thanks_parmanlink . '?order_id=' . $order->ID . '" >' . $order->ID . '</a>';
1170 1296 } 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>';
1297 + $order_url = '<a href="' . get_permalink(get_option('wpcommerce_myaccount_page_id')) . '/view-order/' . $order->ID . '" target="_blank" >' . $order->ID . '</a>';
1172 1298 }
1173 1299 $order_html .= '<div class="wp-chatbot-orders-single">
1174 1300 <div class="order-id"> ' . $order_url . '</div>
1175 - <div class="order-date"> <p>' . gmdate("m/d/Y", strtotime($order->post_date)) . '</p> </div>
1301 + <div class="order-date"> <p>' . date("m/d/Y", strtotime($order->post_date)) . '</p> </div>
1176 1302 <div class="order-items">';
1177 1303 $singleOrder = new WC_Order($order->ID);
1178 1304 $items = $singleOrder->get_items();
1179 1305 foreach ($items as $item) {
@@ -1186,9 +1312,9 @@
1186 1312 }
1187 1313 $order_html .= '</div>';
1188 1314 } else {
1189 1315 $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>';
1316 + $order_html .= '<p>' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_not_found'))) . '</p>';
1191 1317 }
1192 1318 $response['html'] = $order_html;
1193 1319 return $response;
1194 1320 }
@@ -1224,10 +1350,10 @@
1224 1350 function qcld_wb_chatbot_recently_viewed_products(){
1225 1351 // Get wpCommerce Global
1226 1352 $_pf = new WC_Product_Factory();
1227 1353 //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'))));
1354 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
1355 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1230 1356 // Get recently viewed product cookies data
1231 1357 $viewed_products = !empty($_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) ? (array)explode('|', $_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) : array();
1232 1358 $viewed_products = array_filter(array_map('absint', $viewed_products));
1233 1359 //get featured products if has.
@@ -1233,9 +1359,9 @@
1233 1359 //get featured products if has.
1234 1360 $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 1361 //Getting recently vieew products.
1236 1362 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'))));
1363 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome')));
1238 1364 $product_query = new WP_Query(array(
1239 1365 'posts_per_page' => $product_per_page,
1240 1366 'no_found_rows' => 1,
1241 1367 'post_status' => 'publish',
@@ -1243,15 +1369,16 @@
1243 1369 'post__in' => $viewed_products,
1244 1370 ));
1245 1371 //Getting featured products
1246 1372 } 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'))));
1373 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome')));
1248 1374 $product_query = $featured_products;
1249 1375 } else {
1250 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1376 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1251 1377 //Getting recent products
1252 1378 $product_query = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC'));
1253 1379 }
1380 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))).'</div>';
1254 1381 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1255 1382 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1256 1383 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1257 1384 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1258,10 +1385,10 @@
1258 1385 } else {
1259 1386 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1260 1387 }
1261 1388 $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>
1389 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1390 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1264 1391 <div class="wp-chatbot-bubble">' . $wp_chatbot_product_title . '</div>
1265 1392 </div>';
1266 1393 if ($product_query->post_count > 0) {
1267 1394 $html .= '<div class="wp-chatbot-products-area">';
@@ -1273,9 +1400,9 @@
1273 1400 $html .= get_the_post_thumbnail(get_the_ID(), 'shop_catalog') . '
1274 1401 <div class="wp-chatbot-product-summary">
1275 1402 <div class="wp-chatbot-product-table">
1276 1403 <div class="wp-chatbot-product-table-cell">
1277 - <h3 class="wp-chatbot-product-title">' . esc_html($product->post->post_title) . '</h3>
1404 + <h3 class="wp-chatbot-product-title">' . $product->post->post_title . '</h3>
1278 1405 <div class="price">' . $product->get_price_html() . '</div>';
1279 1406 $html .= ' </div>
1280 1407 </div>
1281 1408 </div></a>
@@ -1288,9 +1415,10 @@
1288 1415 $html .= '<div class="wp-chatbot-products-area">';
1289 1416 $html .= '<p style="text-align: center">You have no products !';
1290 1417 $html .= '</div>';
1291 1418 }
1292 - wp_send_json($html);
1419 + echo wp_send_json($html);
1420 + die();
1293 1421 }
1294 1422 //Recently viewed product shortcode
1295 1423 add_shortcode('wpwbot_products', 'qcld_wb_chatbot_recently_viewed_shortcode');
1296 1424 function qcld_wb_chatbot_recently_viewed_shortcode(){
@@ -1295,10 +1423,10 @@
1295 1423 add_shortcode('wpwbot_products', 'qcld_wb_chatbot_recently_viewed_shortcode');
1296 1424 function qcld_wb_chatbot_recently_viewed_shortcode(){
1297 1425 // Get wpCommerce Global
1298 1426 $_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'))));
1427 + $product_per_page = get_option('qlcd_wp_chatbot_ppp') != '' ? get_option('qlcd_wp_chatbot_ppp') : 10;
1428 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1301 1429 // Get recently viewed product cookies data
1302 1430 $viewed_products = !empty($_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) ? (array)explode('|', $_COOKIE['wp_chatbot_wpcommerce_recently_viewed']) : array();
1303 1431 $viewed_products = array_filter(array_map('absint', $viewed_products));
1304 1432 //get featured products if has.
@@ -1304,9 +1432,9 @@
1304 1432 //get featured products if has.
1305 1433 $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 1434 //Getting recently vieew products.
1307 1435 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'))));
1436 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome')));
1309 1437 $product_query = new WP_Query(array(
1310 1438 'posts_per_page' => $product_per_page,
1311 1439 'no_found_rows' => 1,
1312 1440 'post_status' => 'publish',
@@ -1314,15 +1442,16 @@
1314 1442 'post__in' => $viewed_products,
1315 1443 ));
1316 1444 //implementing featured products
1317 1445 } 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'))));
1446 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_featured_product_welcome')));
1319 1447 $product_query = $featured_products;
1320 1448 } else {
1321 - $wp_chatbot_product_title = wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome'))));
1449 + $wp_chatbot_product_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_latest_product_welcome')));
1322 1450 //Getting recent products
1323 1451 $product_query = new WP_Query(array('post_status' => 'publish', 'posts_per_page' => $product_per_page, 'post_type' => 'product', 'orderby' => 'date', 'order' => 'DESC'));
1324 1452 }
1453 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_viewed_product_welcome'))).'</div>';
1325 1454 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1326 1455 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1327 1456 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1328 1457 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1329,11 +1458,11 @@
1329 1458 } else {
1330 1459 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1331 1460 }
1332 1461 $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>
1462 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1463 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1464 + <div class="wp-chatbot-bubble">' . $wp_chatbot_product_title . '</div>
1336 1465 </div>';
1337 1466 if ($product_query->post_count > 0) {
1338 1467 $html .= '<div class="wp-chatbot-products-area">';
1339 1468 $html .= '<ul class="wp-chatbot-products">';
@@ -1344,9 +1473,9 @@
1344 1473 $html .= get_the_post_thumbnail(get_the_ID(), 'shop_catalog') . '
1345 1474 <div class="wp-chatbot-product-summary">
1346 1475 <div class="wp-chatbot-product-table">
1347 1476 <div class="wp-chatbot-product-table-cell">
1348 - <h3 class="wp-chatbot-product-title">' . esc_html($product->post->post_title) . '</h3>
1477 + <h3 class="wp-chatbot-product-title">' . $product->post->post_title . '</h3>
1349 1478 <div class="price">' . $product->get_price_html() . '</div>';
1350 1479 $html .= ' </div>
1351 1480 </div>
1352 1481 </div></a>
@@ -1356,9 +1485,9 @@
1356 1485 wp_reset_postdata();
1357 1486 $html .= '</ul></div>';
1358 1487 } else {
1359 1488 $html .= '<div class="wp-chatbot-products-area">';
1360 - $html .= '<p style="text-align: center">' . __('You have no products', 'chatbot') . ' !';
1489 + $html .= '<p style="text-align: center">' . __('You have no products', 'wpchatbot') . ' !';
1361 1490 $html .= '</div>';
1362 1491 }
1363 1492 return $html;
1364 1493 }
@@ -1372,10 +1501,11 @@
1372 1501 $checkout_url = wc_get_checkout_url();
1373 1502 //$checkout_url = $wpcommerce->cart->get_checkout_url();
1374 1503 $items = $wpcommerce->cart->get_cart();
1375 1504 $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'))));
1505 + $cart_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart')));
1506 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1507 + //$html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))).'</div>';
1378 1508 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1379 1509 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1380 1510 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1381 1511 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1382,15 +1512,15 @@
1382 1512 } else {
1383 1513 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1384 1514 }
1385 1515 $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>
1516 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1517 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1518 + <div class="wp-chatbot-bubble">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))) . '</div>
1389 1519 </div>';
1390 1520 if ($itemCount >= 1) {
1391 1521 $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>';
1522 + $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 1523 $html .= '<div class ="wp-chatbot-cart-body">';
1394 1524 foreach ($items as $item => $values) {
1395 1525 $cart_item= apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1396 1526 //product image
@@ -1408,9 +1538,9 @@
1408 1538 <div class="qcld-wp-chatbot-cell"></div>
1409 1539 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1410 1540 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1411 1541 </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>';
1542 + $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 1543 $html .= ' </div>';
1414 1544 } else {
1415 1545 $html .= '<div class="wp-chatbot-cart-container">';
1416 1546 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
@@ -1416,9 +1546,10 @@
1416 1546 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
1417 1547 $html .= '</div>';
1418 1548 }
1419 1549 $response = array('html' => $html, 'items' => $itemCount);
1420 - wp_send_json($response);
1550 + echo wp_send_json($response);
1551 + wp_die();
1421 1552 }
1422 1553 //cart onley for wp chatbot
1423 1554 add_action('wp_ajax_qcld_wb_chatbot_only_cart', 'qcld_wb_chatbot_only_cart');
1424 1555 add_action('wp_ajax_nopriv_qcld_wb_chatbot_only_cart', 'qcld_wb_chatbot_only_cart');
@@ -1429,14 +1560,14 @@
1429 1560 $checkout_url = wc_get_checkout_url();
1430 1561 //$checkout_url = $wpcommerce->cart->get_checkout_url();
1431 1562 $items = $wpcommerce->cart->get_cart();
1432 1563 $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'))));
1564 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1434 1565
1435 1566 $html = '';
1436 1567 if ($itemCount >= 1) {
1437 1568 $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>';
1569 + $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 1570 $html .= '<div class ="wp-chatbot-cart-body">';
1440 1571 foreach ($items as $item => $values) {
1441 1572 $cart_item= apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1442 1573 //product image
@@ -1454,17 +1585,18 @@
1454 1585 <div class="qcld-wp-chatbot-cell"></div>
1455 1586 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1456 1587 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1457 1588 </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>';
1589 + $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 1590 $html .= ' </div>';
1460 1591 } else {
1461 1592 $html .= '<div class="wp-chatbot-cart-container">';
1462 - $html .= '<div><p style="text-align:center">' . esc_html($no_cart_item_msg) . '</p></div>';
1593 + $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
1463 1594 $html .= '</div>';
1464 1595 }
1465 1596 $response = array('html' => $html, 'items' => $itemCount);
1466 - wp_send_json($response);
1597 + echo wp_send_json($response);
1598 + wp_die();
1467 1599 }
1468 1600 //Cart show Shortcode
1469 1601 add_shortcode('wpwbot_cart', 'qcld_wb_chatbot_cart_shortcode');
1470 1602 function qcld_wb_chatbot_cart_shortcode(){
@@ -1470,10 +1602,11 @@
1470 1602 function qcld_wb_chatbot_cart_shortcode(){
1471 1603 global $wpcommerce;
1472 1604 $items = $wpcommerce->cart->get_cart();
1473 1605 $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'))));
1606 + $cart_title = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_shopping_cart')));
1607 + $no_cart_item_msg = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1608 + // $html = '<div class="wp-chatbot-widget-bubble">'.wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))).'</div>';
1476 1609 if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') == "custom-agent.png") {
1477 1610 $wp_chatbot_custom_icon_path = get_option('wp_chatbot_custom_agent_path');
1478 1611 } else if (get_option('wp_chatbot_custom_agent_path') != "" && get_option('wp_chatbot_agent_image') != "custom-agent.png") {
1479 1612 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . get_option('wp_chatbot_agent_image');
@@ -1480,15 +1613,15 @@
1480 1613 } else {
1481 1614 $wp_chatbot_custom_icon_path = QCLD_wpCHATBOT_IMG_URL . 'custom-agent.png';
1482 1615 }
1483 1616 $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>
1617 + <div class="wp-chatbot-widget-avatar"><img src="' . $wp_chatbot_custom_icon_path . '" alt=""></div>
1618 + <div class="wp-chatbot-widget-agent">' . get_option('qlcd_wp_chatbot_agent') . '</div>
1619 + <div class="wp-chatbot-bubble">' . wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_cart_welcome'))) . '</div>
1487 1620 </div>';
1488 1621 if ($itemCount >= 1) {
1489 1622 $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>';
1623 + $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 1624 $html .= '<div class ="wp-chatbot-cart-body">';
1492 1625 foreach ($items as $item => $values) {
1493 1626 $cart_item = apply_filters('wpcommerce_cart_item_product', $values['data'], $values, $item);
1494 1627 //product image
@@ -1506,9 +1639,9 @@
1506 1639 <div class="qcld-wp-chatbot-cell"></div>
1507 1640 <div class="qcld-wp-chatbot-cell"><strong>Total</strong></div>
1508 1641 <div class="qcld-wp-chatbot-cell"><strong>' . $wpcommerce->cart->get_cart_total() . '</strong></div>
1509 1642 </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>';
1643 + $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 1644 $html .= ' </div>';
1512 1645 } else {
1513 1646 $html .= '<div class="wp-chatbot-cart-container">';
1514 1647 $html .= '<div><p style="text-align:center">' . $no_cart_item_msg . '</p></div>';
@@ -1520,26 +1653,26 @@
1520 1653 //Updating the cart items.
1521 1654 add_action('wp_ajax_qcld_wb_chatbot_update_cart_item_number', 'qcld_wb_chatbot_update_cart_item_number');
1522 1655 add_action('wp_ajax_nopriv_qcld_wb_chatbot_update_cart_item_number', 'qcld_wb_chatbot_update_cart_item_number');
1523 1656 function qcld_wb_chatbot_update_cart_item_number(){
1524 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1525 1657 //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']));
1658 + $cart_item_key = sanitize_text_field($_POST['cart_item_key']);
1659 + $qnty = sanitize_text_field($_POST['qnty']);
1528 1660 global $wpcommerce;
1529 1661 $result = $wpcommerce->cart->set_quantity($cart_item_key, $qnty);
1530 - wp_send_json($result);
1662 + echo wp_send_json($result);
1663 + wp_die();
1531 1664 }
1532 1665 //Show item after removing from cart page.
1533 1666 add_action('wp_ajax_qcld_wb_chatbot_cart_item_remove', 'qcld_wb_chatbot_cart_item_remove');
1534 1667 add_action('wp_ajax_nopriv_qcld_wb_chatbot_cart_item_remove', 'qcld_wb_chatbot_cart_item_remove');
1535 1668 function qcld_wb_chatbot_cart_item_remove(){
1536 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1537 1669 //getting cart items n
1538 - $cart_item_key = sanitize_text_field(wp_unslash($_POST['cart_item']));
1670 + $cart_item_key = sanitize_text_field($_POST['cart_item']);
1539 1671 global $wpcommerce;
1540 1672 $result = $wpcommerce->cart->remove_cart_item($cart_item_key);
1541 - wp_send_json($result);
1673 + echo wp_send_json($result);
1674 + wp_die();
1542 1675 }
1543 1676 //Show cart page by shortcode.
1544 1677 add_action('wp_ajax_qcld_wb_chatbot_cart_page', 'qcld_wb_chatbot_cart_page');
1545 1678 add_action('wp_ajax_nopriv_qcld_wb_chatbot_cart_page', 'qcld_wb_chatbot_cart_page');
@@ -1547,13 +1680,14 @@
1547 1680 global $wpcommerce;
1548 1681 $itemCount = $wpcommerce->cart->cart_contents_count;
1549 1682 $html = "";
1550 1683 if ($itemCount < 0) {
1551 - $html .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1684 + $html .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1552 1685 } else {
1553 1686 $html .= do_shortcode("[wpcommerce_cart]");
1554 1687 }
1555 - wp_send_json($html);
1688 + echo wp_send_json($html);
1689 + wp_die();
1556 1690 }
1557 1691 //Show checkout page by shortcode.
1558 1692 add_action('wp_ajax_qcld_wb_chatbot_checkout_page', 'qcld_wb_chatbot_checkout_page');
1559 1693 add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_page', 'qcld_wb_chatbot_checkout_page');
@@ -1562,9 +1696,9 @@
1562 1696 $itemCount = $wpcommerce->cart->cart_contents_count;
1563 1697 $html = "";
1564 1698 if ($itemCount < 0) {
1565 1699 $status = 'no';
1566 - $html .= wp_kses_post(wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items'))));
1700 + $html .= wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_no_cart_items')));
1567 1701 } else {
1568 1702 $status = 'yes';
1569 1703 $checkout_page_id = get_option('wp_chatbot_app_checkout');
1570 1704 $checkout_parmanlink = esc_url(get_permalink($checkout_page_id));
@@ -1570,71 +1704,34 @@
1570 1704 $checkout_parmanlink = esc_url(get_permalink($checkout_page_id));
1571 1705 $html .= $checkout_parmanlink;
1572 1706 }
1573 1707 $response = array('status' => $status, 'html' => $html);
1574 - wp_send_json($response);
1708 + echo wp_send_json($response);
1709 + wp_die();
1575 1710 }
1576 -//_dynamic_intent
1577 -function qcld_dynamic_intent(){
1578 - global $wpdb;
1579 - $intents = array();
1580 -
1581 - $ai_df = get_option('enable_wp_chatbot_dailogflow');
1582 - $custom_intent_labels = maybe_unserialize( get_option('qlcd_wp_custon_intent_label'));
1583 - if($ai_df==1 && isset($custom_intent_labels[0]) && trim($custom_intent_labels[0])!=''):
1584 -
1585 - foreach($custom_intent_labels as $custom_intent_label):
1586 - $intents[] = $custom_intent_label;
1587 - endforeach;
1588 -
1589 - endif;
1590 -
1591 -
1592 -
1593 - if(class_exists('Qcformbuilder_Forms_Admin')){
1594 -
1595 -
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 -
1598 - if(!empty($results)){
1599 -
1600 - foreach($results as $result){
1601 - $form = maybe_unserialize($result->config);
1602 - $intents[] = $form['name'];
1603 - }
1604 -
1605 - }
1711 +//User login on Checkout page.
1712 +add_action('wp_ajax_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1713 +add_action('wp_ajax_nopriv_qcld_wb_chatbot_checkout_user_login', 'qcld_wb_chatbot_checkout_user_login');
1714 +function qcld_wb_chatbot_checkout_user_login(){
1715 + // Nonce is checked, get the POST data and sign user on
1716 + $info = array();
1717 + //$info['nonce'] = $_POST['nonce_val'];
1718 + $info['user_login'] = trim(sanitize_text_field($_POST['user_name']));
1719 + $info['user_password'] = trim(sanitize_text_field($_POST['user_pass']));
1720 + $info['remember'] = true;
1721 + $user_signon = wp_signon($info, false);
1722 + // $response=$info;
1723 + $response = array();
1724 + if (is_wp_error($user_signon)) {
1725 + // $response['status'] = "fail";
1726 + // $response['message'] = wpb_randmom_message_handle(unserialize(get_option('qlcd_wp_chatbot_order_password_incorrect')));
1727 + $response = "no";
1728 + } else {
1729 + $response = "yes";
1606 1730 }
1607 -
1608 - if(!empty($intents)){
1609 - return implode(", ", $intents);
1610 - }else{
1611 - return '';
1612 - }
1613 -
1731 + echo wp_send_json($response);
1732 + die();
1614 1733 }
1615 -
1616 -//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 -// }
1637 1734 // Load template for App Order Thank You page url
1638 1735 function wp_chatbot_load_app_template($template){
1639 1736 if (is_page('wpwbot-mobile-app')) {
1640 1737 return dirname(__FILE__) . '/templates/app-templates/app.php';
@@ -1663,16 +1760,15 @@
1663 1760 add_action('init', 'wp_chatbot_create_app_checkout_thankyou_page');
1664 1761 function wp_chatbot_create_app_checkout_thankyou_page(){
1665 1762 if (get_option('wp_chatbot_app_pages') == 1) {
1666 1763 //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() ) {
1764 + if (get_page_by_title('wpwBot Mobile App') == NULL) {
1669 1765 //post status and options
1670 1766 $app_page = array(
1671 1767 'comment_status' => 'closed',
1672 1768 'ping_status' => 'closed',
1673 1769 'post_author' => get_current_user_id(),
1674 - 'post_date' => gmdate('Y-m-d H:i:s'),
1770 + 'post_date' => date('Y-m-d H:i:s'),
1675 1771 'post_status' => 'publish',
1676 1772 'post_title' => 'wpwBot Mobile App',
1677 1773 'post_name' => 'wpwbot-mobile-app',
1678 1774 'post_type' => 'page',
@@ -1682,16 +1778,15 @@
1682 1778 //save the id in the database
1683 1779 update_option('wp_chatbot_app_checkout', $wpwbot_app);
1684 1780 }
1685 1781 //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() ) {
1782 + if (get_page_by_title('wpwBot App Checkout') == NULL) {
1688 1783 //post status and options
1689 1784 $checkout_page = array(
1690 1785 'comment_status' => 'closed',
1691 1786 'ping_status' => 'closed',
1692 1787 'post_author' => get_current_user_id(),
1693 - 'post_date' => gmdate('Y-m-d H:i:s'),
1788 + 'post_date' => date('Y-m-d H:i:s'),
1694 1789 'post_status' => 'publish',
1695 1790 'post_title' => 'wpwBot App Checkout',
1696 1791 'post_name' => 'wpwbot-app-checkout',
1697 1792 'post_type' => 'page',
@@ -1701,16 +1796,15 @@
1701 1796 //save the id in the database
1702 1797 update_option('wp_chatbot_app_checkout', $app_checkout);
1703 1798 }
1704 1799 //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() ) {
1800 + if (get_page_by_title('wpwBot App Order Thank You') == NULL) {
1707 1801 //post status and options
1708 1802 $thankyou_page = array(
1709 1803 'comment_status' => 'closed',
1710 1804 'ping_status' => 'closed',
1711 1805 'post_author' => get_current_user_id(),
1712 - 'post_date' => gmdate('Y-m-d H:i:s'),
1806 + 'post_date' => date('Y-m-d H:i:s'),
1713 1807 'post_status' => 'publish',
1714 1808 'post_title' => 'wpwBot App Order Thank You',
1715 1809 'post_name' => 'wpwbot-app-order-thankyou',
1716 1810 'post_type' => 'page',
@@ -1721,9 +1815,9 @@
1721 1815 update_option('wp_chatbot_app_order_thankyou', $app_order_thankyou);
1722 1816 }
1723 1817 }
1724 1818 //Keep tracking from App by cookies
1725 - if ( isset( $_GET['from'] ) && sanitize_text_field( wp_unslash( $_GET['from'] ) ) === 'app' ) { // phpcs:ignore WordPress.Security.NonceVerification
1819 + if (isset($_GET['from']) && $_GET['from'] == 'app') {
1726 1820 if (!isset($_COOKIE['from_app'])) {
1727 1821 setcookie('from_app', 'yes', (time() + 3600), '/');
1728 1822 }
1729 1823 }
@@ -1737,9 +1831,9 @@
1737 1831 global $wp;
1738 1832 if (is_checkout() && !empty($wp->query_vars['order-received'])) {
1739 1833 $thanks_page_id = get_option('wp_chatbot_app_order_thankyou');
1740 1834 $thanks_parmanlink = esc_url(get_permalink($thanks_page_id));
1741 - wp_safe_redirect($thanks_parmanlink . '?order_id=' . $order_get_id);
1835 + wp_redirect($thanks_parmanlink . '?order_id=' . $order_get_id);
1742 1836 exit;
1743 1837 }
1744 1838 } else {
1745 1839 remove_action('wpcommerce_thankyou', 'qcld_wb_chatbot__redirect_after_purchase');
@@ -1747,12 +1841,9 @@
1747 1841 }
1748 1842 }
1749 1843
1750 1844 function qcld_choose_random($array){
1751 - if (is_array($array) && !empty($array)) {
1752 - return $array[array_rand($array)];
1753 - }
1754 - return $array;
1845 + return $array[array_rand($array)];
1755 1846 }
1756 1847
1757 1848 //User session count
1758 1849 add_action('wp_ajax_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
@@ -1758,9 +1849,8 @@
1758 1849 add_action('wp_ajax_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
1759 1850 add_action('wp_ajax_nopriv_qcld_wb_chatbot_session_count', 'qcld_wb_chatbot_session_count');
1760 1851 function qcld_wb_chatbot_session_count(){
1761 1852 // Nonce is checked, get the POST data and sign user on
1762 - check_ajax_referer( 'wp_chatbot', 'nonce' );
1763 1853 global $wpdb;
1764 1854 $wpdb->show_errors = true;
1765 1855 $tableuser = $wpdb->prefix.'wpbot_sessions';
1766 1856 $response = array();
@@ -1765,12 +1855,11 @@
1765 1855 $tableuser = $wpdb->prefix.'wpbot_sessions';
1766 1856 $response = array();
1767 1857
1768 1858
1769 - $session_exists = $wpdb->get_row($wpdb->prepare("select * from {$tableuser} where 1 and id = %d",1)); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, PluginCheck.Security.DirectDB.UnescapedDBParameter
1770 -
1859 + $session_exists = $wpdb->get_row("select * from $tableuser where 1 and id = '1'");
1771 1860 if(empty($session_exists)){
1772 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1861 + $wpdb->insert(
1773 1862 $tableuser,
1774 1863 array(
1775 1864 'session' => 1,
1776 1865 )
@@ -1777,10 +1866,9 @@
1777 1866 );
1778 1867 }else{
1779 1868
1780 1869 $session_id = $session_exists->id;
1781 -
1782 - $wpdb->update( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
1870 + $wpdb->update(
1783 1871 $tableuser,
1784 1872 array(
1785 1873 'session'=>($session_exists->session+1),
1786 1874 ),
@@ -1789,107 +1877,9 @@
1789 1877 '%d',
1790 1878 ),
1791 1879 array('%d')
1792 1880 );
1793 -
1794 1881 }
1795 1882
1796 - wp_send_json($response);
1797 -}
1798 -
1799 -/* WPBot Chat History Addon check */
1800 -function qcld_wpbot_is_active_chat_history(){
1801 -
1802 - if(function_exists('qcwp_chat_session_menu_fnc') || function_exists('qcwp_chat_session_menu_fnc_free') || function_exists( 'qcpdcs_chat_session_menu_fnc' ) ){
1803 - return 1;
1804 - }else{
1805 - return 0;
1806 - }
1807 -
1808 -}
1809 -
1810 -function qcld_wpbot_input_validation( $data ) {
1811 - $data = html_entity_decode($data);
1812 - $data = trim($data);
1813 - $data = stripslashes($data);
1814 - $data = htmlspecialchars($data);
1815 - return $data;
1816 -}
1817 -add_action('wp_ajax_qcld_small_talk_import', 'qcld_small_talk_import');
1818 -function qcld_small_talk_import(){
1819 - if ( ! current_user_can( 'manage_options' ) ) {
1820 - wp_die();
1821 - }
1822 - global $wpdb;
1823 -
1824 - $table = $wpdb->prefix.'wpbot_response';
1825 -
1826 - $csvFile = file(QCLD_wpCHATBOT_PLUGIN_DIR_PATH . 'small_talk.csv');
1827 -
1828 - foreach ($csvFile as $line) {
1829 - $line = str_getcsv($line, ',', '"');
1830 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1831 - $table, array(
1832 - 'query' => $line[0],
1833 - 'keyword' => $line[1],
1834 - 'response' => $line[2],
1835 - 'category'=> $line[3],
1836 - 'intent'=> '',
1837 - //'lang'=> 'en_US',
1838 - ));
1839 - }
1840 -
1841 - $table2 = $wpdb->prefix.'wpbot_response_category';
1842 -
1843 - $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
1844 - $table2, array(
1845 - 'name' => 'smalltalk',
1846 - ));
1847 -
1848 - update_option( 'qcld_small_talk_imported', 'yes' );
1849 -
1850 -}
1851 -function sanitize_array( &$array ) {
1852 - if (!empty($array)) {
1853 - foreach ($array as &$value) {
1854 - if( !is_array($value) )
1855 - // sanitize if value is not an array
1856 - $value = sanitize_text_field( esc_html($value) );
1857 - else
1858 - // go inside this function again
1859 - sanitize_array(esc_html($value));
1860 - }
1861 - }
1862 - return $array;
1863 -}
1864 -function qcld_wpbot_meta_tags() {
1865 - echo '<!-- "This site uses ChatBot for WordPress - WPBot from https://www.wpbot.pro/" -->';
1866 -}
1867 -add_action('wp_footer', 'qcld_wpbot_meta_tags', 100);
1868 -
1869 -if ( ! function_exists( 'qcld_change_language_from_center' ) ) {
1870 - add_action( 'wp_ajax_qcld_change_language_from_center', 'qcld_change_language_from_center' );
1871 - add_action( 'wp_ajax_nopriv_qcld_change_language_from_center', 'qcld_change_language_from_center' );
1872 - function qcld_change_language_from_center() {
1873 - if ( ! current_user_can( 'manage_options' ) ) {
1874 - wp_send_json_error( array( 'message' => 'Unauthorized.' ) );
1875 - }
1876 - $nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : '';
1877 - if ( ! wp_verify_nonce( $nonce, 'wp_chatbot' ) ) {
1878 - wp_send_json_error( array( 'message' => 'Invalid nonce.' ) );
1879 - }
1880 - $plugin_path = plugin_dir_path( __FILE__ );
1881 - include $plugin_path . 'includes/admin/settings-fields.php';
1882 - $json_file_path = $plugin_path . 'includes/language-center.json';
1883 -
1884 - $json_string = file_get_contents( $json_file_path );
1885 - if ( isset( $_POST['language'] ) ) {
1886 - $language = sanitize_text_field( wp_unslash( $_POST['language'] ) );
1887 - $language_array= json_decode($json_string)->$language;
1888 - update_option( 'wp_chatbot_language_center_language', $language );
1889 - wp_send_json_success( array( 'message' => true, 'data' => $language_array, 'language' => $language ) );
1890 - } else {
1891 - wp_send_json_error( array( 'message' => 'Language not specified.' ) );
1892 -
1893 - }
1894 - }
1895 -}
1883 + echo wp_send_json($response);
1884 + die();
1885 +}