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