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