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