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