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