PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 4.3.7
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v4.3.7
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
chatbot / includes / simple_text_response.php

simple_text_response.php in WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services 4.3.7, at includes/simple_text_response.php

274 lines 9.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit;
4 }
5 global $wpdb;
6 ?>
7 <style>
8 .wpbot_dashboard_header {
9 margin-right: unset !important;
10 margin-left: unset !important;
11 background: #32373c;
12 color: #fff;
13 text-align: center;
14 border-radius: 5px 5px 0px 0px;
15 }
16 .wpbot_addons_section {
17 margin-right: unset !important;
18 margin-left: unset !important;
19 margin-bottom: 10px;
20 background: #32373c;
21 padding-bottom: 20px;
22 border-radius: 0px 0px 5px 5px;
23 }
24 .wpbot_single_addon_wrapper2 {
25 background: #fff;
26 padding: 20px;
27 }
28 .wp-chatbot-admin-header, .wp-chatbot-admin-footer {
29 padding: 25px;
30 }
31 .wpbot_dashboard_header h1 {
32 font-size: 30px;
33 line-height: 100px;
34 margin: 0px;
35 color: #fff;
36 }
37 .container {
38 width: 1170px;
39 padding-right: 15px;
40 padding-left: 15px;
41 }
42 </style>
43
44
45 <?php
46 if(isset($_GET['opt']) && $_GET['opt']=='add'):
47
48 do_action('qcld_str_add_category');
49
50 elseif(isset($_GET['opt']) && $_GET['opt']=='edit'):
51
52 do_action('qcld_str_edit_category');
53
54 elseif(isset($_GET['page']) && $_GET['page']=='simple-text-response' && isset($_GET['action']) && $_GET['action']=='import'):
55
56 do_action('qcld_str_import');
57
58 elseif(isset($_GET['action']) && $_GET['action']=='manage-categories'):
59
60 include_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH.'/includes/templates/manage-categories.php');
61
62 elseif(isset($_GET['action']) && $_GET['action']=='edit'):
63
64 if(class_exists('Qcld_str_pro')):
65 do_action('qcld_str_pro_stredit');
66 else:
67
68 $hasEdit = false;
69 if(isset($_GET['query']) && $_GET['query']!=''){
70 $hasEdit = true;
71 $id = sanitize_text_field($_GET['query']);
72 $table = $wpdb->prefix.'wpbot_response';
73 $data = $wpdb->get_row("select * from $table where 1 and id = '".$id."'");
74
75 }
76
77
78 ?>
79 <div class="qcwrap">
80 <div class="wp-chatbot-wrap">
81 <div class="wpbot_dashboard_header container"><h1><?php echo ($hasEdit?'Edit':'Add') ?> Response</h1></div>
82 <form method="post" action="">
83 <div class="wpbot_addons_section container">
84 <div class="wpbot_single_addon_wrapper2">
85 <p><b>Please note the following</b></p>
86 <ul>
87 <li>1. The Query, Response and Keywords fields will be searched. Add Keywords for best matches</li>
88 <li>2. Please clear browser Cache and Cookies both before testing new responses</li>
89 </ul>
90 <table class="form-table">
91 <tbody>
92 <tr valign="top">
93 <th scope="row">Query</th>
94 <td>
95 <input type="text" name="qc_bot_str_query" value="<?php echo ($hasEdit?$data->query:''); ?>" style="width: 400px;" required />
96 <br><i>*Required. Add the query here.</i>
97 </td>
98 </tr>
99
100 <tr valign="top">
101 <th scope="row">Response</th>
102 <td>
103 <textarea id="qlcd_wp_chatbot_stop_words" cols="130" rows="10" name="qc_bot_str_response" required><?php echo ($hasEdit?$data->response:''); ?></textarea>
104 <br><i>*Required. Add the response here.</i>
105 </td>
106 </tr>
107 <tr valign="top">
108 <th scope="row">Keyword</th>
109 <td>
110 <input type="text" name="qc_bot_str_keyword" value="<?php echo ($hasEdit?$data->keyword:''); ?>" style="width: 400px;" />
111 <br><i>Optional. Add multiple keyword or phrases as comma(,) seperated value. It will help to find the best match result.</i>
112 </td>
113 </tr>
114
115 <tr valign="top">
116 <th scope="row">Intent</th>
117 <td>
118 <input type="text" name="qc_bot_str_intent" value="<?php echo ($hasEdit?$data->intent:''); ?>" style="width: 400px;" />
119 <br><i>Optional. Single keyword or Phrase. Leave it empty if you do not need to use this response as a intent. This will add as a custom intent in every intent selection field in wpbot settings. Also the intent can be used as system command to trigger the response.</i>
120 <?php if($hasEdit): ?>
121
122 <input type="hidden" name="qc_bot_str_id" value="<?php echo ($data->id); ?>" />
123
124 <?php endif; ?>
125 </td>
126 </tr>
127
128
129 </tbody>
130 </table>
131 </div>
132
133 <footer class="wp-chatbot-admin-footer">
134 <div class="row">
135 <div class="text-left col-sm-3 col-sm-offset-3">
136
137 </div>
138 <div class="text-right col-sm-6">
139 <input type="submit" class="button button-primary" name="submit" id="submit" value="Save Settings">
140 </div>
141 </div>
142 <!-- row-->
143 </footer>
144
145
146 </div></form>
147 </div>
148 </div>
149 <?php endif; ?>
150 <?php else:
151 $small_talk = get_option('qcld_small_talk_imported');
152 ?>
153 <div class="wrap">
154 <h1 class="wp-heading-inline">
155 Simple Text Responses</h1>
156 <a href="<?php echo add_query_arg( 'action', 'edit', admin_url('admin.php?page=simple-text-response') ); ?>" class="page-title-action">Add New</a>
157 <?php if($small_talk != 'yes'){ ?>
158 <a id="small_talk" class="page-title-action">Import Small Talk</a>
159 <?php } ?>
160 <?php if(class_exists('Qcld_str_pro')): ?>
161
162 <a href="<?php echo add_query_arg( 'action', 'manage-categories', admin_url('admin.php?page=simple-text-response') ); ?>" class="page-title-action">Manage Categories</a>
163 <a href="<?php echo admin_url( 'admin-post.php?action=qc_str_export' ); ?>" class="page-title-action">Export</a>
164 <a href="<?php echo add_query_arg( 'action', 'import', admin_url('admin.php?page=simple-text-response') ); ?>" class="page-title-action">Import</a>
165
166 <?php endif; ?>
167
168 <hr class="wp-header-end">
169
170 <p>Create simple text responses and the ChatBot will use advanced search algorithm for natural language phrase matching with user input.</p>
171 <p><b>This is a new feature. If you have any feedback to improve this feature or found a bug please report us <a href="https://www.wpbot.pro/free-support/" target="_blank">here</a>.</b></p>
172 <p><b>NB: Simple Text Responses require mySQL Client version 5.6+</b></p>
173
174 <form method="post" action="">
175 <table class="form-table">
176 <tbody>
177 <tr valign="top">
178 <th scope="row">Phrase matching accuracy</th>
179 <td>
180
181 <input type="text" name="qc_bot_str_weight" value="<?php echo (get_option('qc_bot_str_weight')!=''?get_option('qc_bot_str_weight'):'0.4'); ?>" style="width: 400px;" required />
182 <br><i>Please enter a value between 0 to 1. Higher value means more exact matching of phrases.</i>
183 </td>
184 </tr>
185 <tr valign="top">
186 <th scope="row">Search Fields</th>
187 <td>
188 <?php
189 $fields = get_option('qc_bot_str_fields');
190 ?>
191
192 <label for="qc_bot_str_field_title">Title</label>
193 <input id="qc_bot_str_field_title" type="checkbox" name="qc_bot_str_fields[]" value="query" <?php echo (!$fields?'checked="checked"':''); ?> <?php echo ($fields && in_array('query', $fields)?'checked="checked"':''); ?> />
194
195 <label for="qc_bot_str_field_keyword">Keyword</label>
196 <input id="qc_bot_str_field_keyword" type="checkbox" name="qc_bot_str_fields[]" value="keyword" <?php echo (!$fields?'checked="checked"':''); ?> <?php echo ($fields && in_array('keyword', $fields)?'checked="checked"':''); ?> />
197
198 <label for="qc_bot_str_field_response">Response</label>
199 <input id="qc_bot_str_field_response" type="checkbox" name="qc_bot_str_fields[]" value="response" <?php echo (!$fields?'checked="checked"':''); ?> <?php echo ($fields && in_array('response', $fields)?'checked="checked"':''); ?> />
200 <br><i>Please check/uncheck to allow/disallow searching in that fields</i>
201 </td>
202 </tr>
203
204 <tr valign="top">
205 <th scope="row"></th>
206 <td>
207 <input type="submit" class="button button-primary" name="submit" id="submit" value="Save Settings">
208 </td>
209 </tr>
210 </tbody>
211 </table>
212 </form>
213
214 <form method="post" action="">
215 <table class="form-table">
216 <tbody>
217 <tr valign="top">
218 <th scope="row">Re-Index STR Simple Text Responses</th>
219 <td>
220 <input type="submit" class="button button-primary" name="qc-re-index" id="re-index" value="Re Index">
221 <br/>
222 <i>Re-Indexing may required after migration.</i>
223 </td>
224 </tr>
225 </tbody>
226 </table>
227 </form>
228
229 <div id="poststuff">
230 <div id="post-body" class="metabox-holder">
231 <div id="post-body-content">
232 <div class="meta-box-sortables ui-sortable">
233 <form method="post">
234 <?php
235 $this->response_list->prepare_items();
236 $this->response_list->display(); ?>
237 </form>
238 </div>
239 </div>
240 </div>
241 <br class="clear">
242 </div>
243 </div>
244
245 <?php endif; ?>
246 <script type="text/javascript">
247 // var stopcheckBox = document.getElementById("qc_bot_str_remove_stopwords");
248 // stopcheckBox.addEventListener('change', function () {
249 // if (stopcheckBox.checked == true){
250 // stopcheckBox.value = "1";
251
252 // } else {
253 // stopcheckBox.value = "0";
254 // }
255 // });
256
257 var small_talk = document.getElementById('small_talk');
258 small_talk.addEventListener( 'click', () => { small_talk_import(); } );
259 function small_talk_import(){
260 var req = new XMLHttpRequest();
261 req.open('POST', ajaxurl, true);
262 req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
263 var s = 'action=small_talk_import';
264 req.send(s);
265 if(req.DONE == 4){
266 alert('Smalltalk is imported');
267 setTimeout(function(){
268 window.location.reload();
269 }, 3000);
270 }
271 }
272
273 </script>
274