PluginProbe
AI Chatbot for WooCommerce & Live Chat – onWebChat / 3.2.0
AI Chatbot for WooCommerce & Live Chat – onWebChat v3.2.0
3.10.0 3.9.2 3.9.3 3.9.1 3.9.0 3.8.4 3.8.2 3.8.1 3.8.0 3.7.2 3.7.1 3.7.0 3.6.0 3.5.5 trunk 1.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.2 1.0.3 1.0.4 1.0.5 All 49 releases
← All changes | onwebchat.php +508 -70 1.0.23.2.0 View file →
@@ -1,109 +1,547 @@
1 1 <?php
2 2 /*
3 -Plugin Name: OnWebChat Live Chat
4 -Plugin URI: https://www.onwebchat.com/wp_plugin.php
5 -Description: OnWebChat is a live chat system, that helps you communicate with your website's visitors.
6 -Author: OnWebChat
7 -Version: 1.0
3 +Plugin Name: onWebChat Live Chat
4 +Plugin URI: https://www.onwebchat.com/wordpress-live-chat-plugin.php
5 +Description: live chat service that helps you communicate with your website's visitors.
6 +Author: onWebChat
7 +Version: 3.2.0
8 8 Author URI: https://www.onwebchat.com
9 9 */
10 10
11 -// get logo url
11 +
12 +/* ---------------------------------------------------- *
13 +* Create Settings Page
14 +* ---------------------------------------------------- */
15 +
16 +
12 17 define('ONWEBCHAT_SMALL_LOGO', plugins_url( 'images/onwebchat-logo.png' , __FILE__ ));
18 +define('ONWEBCHAT_SERVER_URL','https://www.onwebchat.com/get-chatid.php');
13 19
20 +
21 +// add styles
22 +add_action( 'admin_enqueue_scripts', 'register_plugin_styles' );
23 +
14 24 // call function on hook admin_menu
15 25 add_action('admin_menu','onwebchat_setup_menu');
16 26
27 +// create login error notice
28 +add_action( 'admin_notices', 'onwebchat_login_error' );
29 +
17 30 // define the settings
18 31 add_action('admin_init','onwebchat_register_setttings');
19 32
33 +
34 +/* ---------------------------------------------------- *
35 +* Display onWebChat on footer
36 +* ---------------------------------------------------- */
37 +
20 38 // add widget plugin to the footer
21 39 add_action('wp_footer', 'onwebchat_add_script_at_footer');
22 40
23 -// add menu page on admin menu with function onwebchat_init_menu_page()
41 +
42 +/* ----------------------------------------------------- *
43 +* Admin Page registration
44 +* ----------------------------------------------------- */
45 +
24 46 function onwebchat_setup_menu() {
25 - add_menu_page( 'OnWebChat Settings', 'OnWebChat', 'administrator', 'onwebchat_settings', 'onwebchat_init_menu_page', ONWEBCHAT_SMALL_LOGO);
47 + add_menu_page( 'onWebChat Settings', 'onWebChat', 'administrator', 'onwebchat_settings', 'onwebchat_init_menu_page', ONWEBCHAT_SMALL_LOGO);
26 48 }
27 49
28 -// display admin option page
50 +
51 +/* ------------------------------------------------------ *
52 +* Admin Page Display Function
53 +* ------------------------------------------------------ */
54 +
29 55 function onwebchat_init_menu_page() {
30 -?>
31 -<div>
32 - <h2>OnWebChat Settings Page</h2>
33 -</br>
34 - <form action="options.php" method="post">
35 - <?php settings_fields('onwebchat_plugin_option'); ?>
36 - <!-- prints all settings inputs we need -->
37 - <?php do_settings_sections('onwebchat_plugin'); ?>
38 - <input name="Submit" type="submit" value="<?php esc_attr_e('Save Changes'); ?>" />
39 - </form>
40 -</div>
41 -<?php
56 +
57 +
58 + $options = get_option('onwebchat_plugin_option');
59 + $chatId = $options['text_string'];
60 +
61 + $isConnected = false;
62 + if($chatId !="") {
63 + $isConnected = true;
64 + }
65 +
66 + $isSecondPage = false;
67 +
68 +
69 + /*****************************************************************
70 + * Ask server for chatId
71 + *****************************************************************/
72 + if ( isset( $_POST["action"] ) && $_POST["action"] == "login" ) {
73 +
74 +
75 + // the following lines are added to verify a correct security nonce(token) by using "wp_verify_nonce()"
76 + if (! isset($_POST['_wpnonce'])
77 + || ! wp_verify_nonce( $_POST['_wpnonce'], 'on_web_chat_nonce')){
78 + print 'Sorry, your nonce did not verify.';
79 + exit;
80 + }
81 +
82 + $options = get_option('onwebchat_plugin_option');
83 + $chatId = $options['text_string'];
84 + //****************************
85 +
86 + // get username, password and chatId
87 + $userName = $_POST["onWebChatUser"];
88 +
89 + if(isset($_POST["onWebChatPass"])) {
90 + $userPass = $_POST["onWebChatPass"];
91 + }
92 +
93 + $chatId = $_POST["chatId"];
94 +
95 +
96 + if( isset($_POST["pages-select"])) {
97 + $pagesSelect = $_POST["pages-select"];
98 + }
99 +
100 + if( isset($_POST["showonpages"])) {
101 + $showOnPages = $_POST["showonpages"];
102 + }
103 +
104 + if(isset($_POST["hideonpages"])) {
105 + $hideOnPages = $_POST["hideonpages"];
106 + }
107 +
108 + if(isset($_POST["onwebchat-api"])) {
109 + $onwebchatApi = $_POST["onwebchat-api"];
110 + }
111 +
112 +
113 + if(isChatIdValid($chatId)) {
114 +
115 + if ( isset($_POST["isSecondPage"])){
116 + $isSecondPage = $_POST["isSecondPage"];
117 + }
118 +
119 + //----------- update chatId option ------------
120 + $my_options = get_option('onwebchat_plugin_option');
121 +
122 + $my_options['text_string'] = $chatId;
123 +
124 + //Update entire array
125 + update_option('onwebchat_plugin_option', $my_options);
126 + //-----------------------------------------------
127 +
128 + // remove user email from db
129 + if(!$isSecondPage) {
130 + update_option( 'onwebchat_plugin_option_user', '');
131 + update_option( 'onwebchat_plugin_option_pages_select', 1);
132 +
133 + } else {
134 +
135 + update_option( 'onwebchat_plugin_option_pages_select', $pagesSelect);
136 +
137 + if ($pagesSelect==2){
138 + update_option( 'onwebchat_plugin_option_show_pages', $showOnPages);
139 + } else if ($pagesSelect==3){
140 + update_option( 'onwebchat_plugin_option_hide_pages', $hideOnPages);
141 + }
142 +
143 + //TODO update textarea
144 + update_option( 'onwebchat_plugin_option_api_code', $onwebchatApi);
145 + }
146 +
147 + // move to next page
148 + print('<script>window.location.href="admin.php?page=onwebchat_settings"</script>');
149 +
150 + } else {
151 +
152 + // save username at options
153 + update_option( 'onwebchat_plugin_option_user', $userName );
154 +
155 + // ask server for chatId
156 + $response = wp_remote_post(ONWEBCHAT_SERVER_URL, array(
157 + 'method' => 'POST',
158 + 'timeout' => 45,
159 + 'redirection' => 5,
160 + 'httpversion' => '1.0',
161 + 'blocking' => true,
162 + 'headers' => array(),
163 + 'body' => array( 'email' => $userName, 'pass' => $userPass ),
164 + 'cookies' => array()
165 + ));
166 +
167 + if ( is_wp_error( $response ) ) {
168 + $error_message = $response->get_error_message();
169 +
170 + } else {
171 + // If no chatId returned
172 + if($response['body'] == '-1') {
173 + // display an error for wrong credentials
174 + onwebchat_login_error(true);
175 +
176 + } else {
177 +
178 + //----------- update chatId
179 + $my_options = get_option('onwebchat_plugin_option');
180 +
181 + $my_options['text_string'] = $response['body'];
182 +
183 + update_option('onwebchat_plugin_option', $my_options);
184 + update_option( 'onwebchat_plugin_option_pages_select', 1);
185 + //--------------------------------------------
186 +
187 + // move to next page
188 + print('<script>window.location.href="admin.php?page=onwebchat_settings"</script>');
189 + }
190 + }
191 + }
192 +
193 + $m_option_hide = false;
194 + if(isset($_POST['onwebchat_plugin_option_hide'])) {
195 + $m_option_hide = $_POST['onwebchat_plugin_option_hide'];
196 + }
197 +
198 + update_option('onwebchat_plugin_option_hide', $m_option_hide); //an einai stin proti selida tote to kanei keno (opote by default den einai epilegmeno)
199 +
200 + }
201 +
202 + //********************************************************************
203 +
204 +
205 + /*********************************************************************
206 + * Disconnect account
207 + *********************************************************************/
208 + if( isset($_GET["action"]) && $_GET["action"] == "deactivate" && $isConnected) {
209 + $isConnected = false;
210 +
211 + $my_options = get_option('onwebchat_plugin_option');
212 +
213 + $my_options['text_string'] = '';
214 +
215 + update_option('onwebchat_plugin_option', $my_options);
216 + update_option( 'onwebchat_plugin_option_pages_select', 1);
217 +
218 + $chatIdOption = get_option('onwebchat_plugin_option');
219 + $chatId = $chatIdOption['text_string'];
220 +
221 + print('<script>window.location.href="admin.php?page=onwebchat_settings"</script>');
222 +
223 + }
224 + //***********************************************************************
225 +
226 +
227 +
228 + ?>
229 + <div>
230 + <h2 style="font-size:22px; color:#59808c">onWebChat <?php ($isConnected == true) ? print 'Settings' : print 'Activation'; ?> </h2>
231 +
232 + <form action="admin.php?page=onwebchat_settings" method="post">
233 + <input type="hidden" name="action" value="login">
234 + <?php
235 +
236 + //create nonce(token)
237 + wp_nonce_field('on_web_chat_nonce');
238 +
239 + // Login Page
240 + if($isConnected != true) {
241 +
242 + $chatId = get_option( 'onwebchat_plugin_option' );
243 + $chatId = $chatId['text_string'];
244 + ?>
245 +
246 + <hr class="small-hr2">
247 +
248 + <h3 class="header-1">Connect with your onWebChat account</h3>
249 +
250 +
251 +
252 + <div class="username-div">
253 + <!-- sanitize user-provided parameter -->
254 + <strong>Email: </strong><input class="username-text-field" type="text" name="onWebChatUser" value="<?php echo esc_attr(get_option( 'onwebchat_plugin_option_user' )); ?>"/>
255 + </div>
256 +
257 + <div class="password-div">
258 + <strong>Password: </strong><input class="password-text-field" type="password" name="onWebChatPass" value="<?php echo get_option( 'onWebChatPass' ); ?>"/>
259 + </div>
260 +
261 + <div style="width: 560px; height: 10px; border-bottom: 1px solid #bfbfbf; text-align: center; margin-top:30px">
262 + <span class="header-or" style="font-size: 23px; background-color: #f1f1f1; padding: 0 10px;">
263 + OR
264 + </span>
265 + </div>
266 +
267 +
268 + <h3 class="header-2">Paste your onWebChat Chat Id</h3>
269 + <div class="chatid-div">
270 + <strong>Chat Id:</strong> <input class="chatid-text-field" type="text" name="chatId" value="<?php echo $chatId; ?>"/>
271 + </div>
272 +
273 + <hr class="small-hr2">
274 +
275 + <div class="new-account-link">
276 + <span class="info-star">*</span> If you don't have an account on onWebChat live chat service, you should create one <a href="https://www.onwebchat.com/signup.php" target="_blank">here</a>
277 + </div>
278 +
279 +
280 + <?php
281 + }
282 +
283 + // 2nd Page
284 + else {
285 + $options = get_option('onwebchat_plugin_option_user');
286 +
287 + // display user email
288 + if($options!=''){
289 + //sanitize user-provided parameter
290 + $email = esc_html($options);
291 + $html = '<br><h3 class="header-1-p2">Activated for onWebChat account: </h3>';
292 + $html .= "<strong class='account-id'>$email</strong> ";
293 + }
294 +
295 + // display chatId
296 + else {
297 + $chatId = get_option( 'onwebchat_plugin_option' );
298 + $chatId = $chatId['text_string'];
299 + $html = '<br><h3 class="header-1-p2">Activated for onWebChat Chat Id: </h3>';
300 + $html .= "<strong class='account-id'>$chatId</strong> ";
301 + }
302 + $html .= ' <a href="admin.php?page=onwebchat_settings&amp;action=deactivate">Deactivate</a>';
303 + //$html .= ' <div class="admin-login-info"> <span>*</span> To connect to onWebChat Operator Console click <a target="_blank" href="https://www.onwebchat.com/login.php">here</a> </div>';
304 + echo $html;
305 +
306 + $options = get_option('onwebchat_plugin_option_hide');
307 +
308 + $chatId = get_option( 'onwebchat_plugin_option' );
309 + $chatId = $chatId['text_string'];
310 +
311 + //TODO get correct value
312 + $onwebchatApi = get_option('onwebchat_plugin_option_api_code');
313 + $onwebchatApi = str_replace('\\','',$onwebchatApi);
314 + ?>
315 + <!-- <div class="hide-div">-->
316 + <!-- <strong>Hide Chat Widget:</strong> <input type="checkbox" id="plugin_text_checkbox" name="onwebchat_plugin_option_hide" value="1" --><?php //checked( $options, 1 ); ?><!-- />-->
317 + <!-- </div>-->
318 +
319 +
320 +
321 + <div class="hide-div">
322 + <select id="pages-select" name="pages-select" onchange="onwc_select_change()">
323 + <option value="1" <?php selected( get_option('onwebchat_plugin_option_pages_select'), 1 ); ?>>Show chat widget on all pages</option>
324 + <option value="2" <?php selected( get_option('onwebchat_plugin_option_pages_select'), 2 ); ?>>Show on the following pages:</option>
325 + <option value="3" <?php selected( get_option('onwebchat_plugin_option_pages_select'), 3 ); ?>>Hide on the following pages:</option>
326 + <option value="4" <?php selected( get_option('onwebchat_plugin_option_pages_select'), 4 ); ?>>Hide chat widget from all pages</option>
327 + </select>
328 + </div>
329 +
330 + <div id="onwc_show_on_pages_div" style="display:none">
331 + <input id="showonpages" name="showonpages" class="showhidepages" type="text" value="<?php echo esc_attr(get_option( 'onwebchat_plugin_option_show_pages' )); ?>" /><a href="#" style="text-decoration: none;" onmouseover="document.getElementById('help').style.visibility = 'visible'"; ONMOUSEOUT="document.getElementById('help').style.visibility = 'hidden'"><strong><font size="4" face="Arial"> ? </font></strong></a>
332 + </div>
333 + <div id="onwc_hide_on_pages_div" style="display:none">
334 + <input id="hideonpages" name="hideonpages" class="showhidepages" type="text" value="<?php echo esc_attr(get_option( 'onwebchat_plugin_option_hide_pages' )); ?>" /><a href="#" style="text-decoration: none;" onmouseover="document.getElementById('help').style.visibility = 'visible'"; ONMOUSEOUT="document.getElementById('help').style.visibility = 'hidden'"><strong><font size="4" face="Arial"> ? </font></strong></a>
335 + </div>
336 +
337 + <div id="help">
338 + <span>You can insert multiple pages seperated by space. You can insert a part of the page or URL. e.g. &nbsp; index pric contact.php blog/</span>
339 + </div>
340 +
341 + <h3 class="header-2">Write your onWebChat Chat API code</h3>
342 + <div class="chatid-div">
343 + <strong>onWebChat API:</strong>
344 + <br>
345 + <!-- sanitize user-provided parameter -->
346 + <textarea class="chatid-text-field" style="margin-left: 0px;" rows="10" name="onwebchat-api"><?php echo esc_html($onwebchatApi); ?></textarea>
347 + <br>
348 + <br>
349 + </div>
350 +
351 + <div>
352 + <br /><br />
353 + </div>
354 +
355 + <!-- hiden fields -->
356 + <input class="chatid-text-field-hide" type="text" name="chatId" value="<?php echo esc_attr($chatId); ?>"/>
357 + <input class="chatid-text-field-hide" type="text" name="onWebChatUser" value="<?php echo esc_attr(get_option( 'onwebchat_plugin_option_user' )); ?>"/>
358 + <input class="chatid-text-field-hide" type="text" name="isSecondPage" value="1"/>
359 +
360 + <div class="new-account-link"> <span>*</span> To connect to onWebChat Operator Console click <a target="_blank" href="https://www.onwebchat.com/login.php">here</a> </div>
361 + <?php
362 +
363 +
364 + }
365 +
366 + // Display the Save Button
367 + $html = '<input class="button button-primary" style="margin-left: 230px;" type="submit" value="Save Changes"/>';
368 + echo $html;
369 + ?>
370 + </form>
371 + </div>
372 +
373 + <script type="text/javascript">
374 +
375 +
376 + function onwc_select_change() {
377 + var e = document.getElementById("pages-select");
378 + var selected = e.options[e.selectedIndex].value;
379 + if (selected == 1){
380 + document.getElementById("onwc_show_on_pages_div").style.display = "none";
381 + document.getElementById("onwc_hide_on_pages_div").style.display = "none";
382 + } else if (selected == 2){
383 + document.getElementById("onwc_show_on_pages_div").style.display = "block";
384 + document.getElementById("onwc_hide_on_pages_div").style.display = "none";
385 + } else if (selected == 3){
386 + document.getElementById("onwc_show_on_pages_div").style.display = "none";
387 + document.getElementById("onwc_hide_on_pages_div").style.display = "block";
388 + } else if (selected == 4){
389 + document.getElementById("onwc_show_on_pages_div").style.display = "none";
390 + document.getElementById("onwc_hide_on_pages_div").style.display = "none";
391 + }
392 +
393 + }
394 + document.addEventListener('DOMContentLoaded', function() {
395 + onwc_select_change();
396 + }, false);
397 + </script>
398 + <?php
42 399 }
43 400
44 -// register the settings to store data
45 -function onwebchat_register_setttings() {
46 - register_setting( 'onwebchat_plugin_option', 'onwebchat_plugin_option', 'plugin_options_validate' );
47 - //* plugin
48 - add_settings_section('plugin_main', 'Install Chat Widget', 'onwebchat_section_text', 'onwebchat_plugin');
49 - //* plugin
50 - add_settings_field('plugin_text_string', 'Chat Id:', 'onwebchat_setting_field_text', 'onwebchat_plugin', 'plugin_main');
401 +
402 +/* ----------------------------------------------------- *
403 +* Admin Page Styles Registration
404 +* ----------------------------------------------------- */
405 +
406 +function register_plugin_styles() {
407 + wp_register_style( 'onwebchat', plugins_url( 'onwebchat/css/onwebchat.css' ) );
408 + wp_enqueue_style( 'onwebchat' );
51 409 }
52 410
53 -// prints the text of sections
54 -function onwebchat_section_text() {
55 - echo '<p>To install OnWebChat on your Wordpress site please insert the Chat Id to the following field.</p>'.
56 - '<p>You will find Chat Id in settings-page of OnWebChat admin, <a href="https://www.onwebchat.com/login.php" target="_blank">OnWebChat - Admin</a> </p>';
57 -}
58 411
59 -// print the text of section field
60 -function onwebchat_setting_field_text() {
61 - $options = get_option('onwebchat_plugin_option');
62 - echo "<input id='plugin_text_string' name='onwebchat_plugin_option[text_string]' size='40' type='text' value='{$options['text_string']}' />";
63 -}
412 +/* ----------------------------------------------------- *
413 +* Tabs Settings Registration
414 +* ----------------------------------------------------- */
64 415
65 -// validate data input
66 -function plugin_options_validate($input) {
67 - $newinput['text_string'] = trim($input['text_string']);
416 +function onwebchat_register_setttings() {
68 417
69 - if(!preg_match('/^[a-f0-9\\/]{35,50}$/i', $newinput['text_string'])) {
70 - $newinput['text_string'] = '';
71 - }
418 + /******************** Account Tab ************************/
419 + //* register the Chat Id
420 + register_setting( 'onwebchat_plugin_option', 'onwebchat_plugin_option');
72 421
73 - return $newinput;
422 + //* register the username
423 + register_setting( 'onwebchat_plugin_option', 'onwebchat_plugin_option_user');
424 +
425 + //* register the hide (checkbox)
426 + register_setting( 'onwebchat_plugin_option_checkbox', 'onwebchat_plugin_option_hide');
427 +
428 + //TODO api code
429 + //* register the api code
430 + register_setting( 'onwebchat_plugin_option', 'onwebchat_plugin_option_api_code');
74 431 }
75 432
433 +
434 +/* ----------------------------------------------------- *
435 +* onWebChat Display Function
436 +* ----------------------------------------------------- */
437 +
76 438 // print chat widget code
77 439 function onwebchat_add_script_at_footer() {
78 440
79 - $options = get_option('onwebchat_plugin_option');
80 - $chatId = $options['text_string'];
81 -
82 - $widgetCode = "<script type='text/javascript'>
83 - var onWebChat={ar:[], set: function(a,b){if (typeof onWebChat_==='undefined'){this.ar.
84 - push([a,b]);}else{onWebChat_.set(a,b);}},get:function(a){return(onWebChat_.get(a));},w
85 - :(function(){ var ga=document.createElement('script'); ga.type = 'text/javascript';ga.
86 - async=1;ga.src='//www.onwebchat.com/clientchat/$chatId';
87 - var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);})()}
88 - </script>";
89 -
441 + $options = get_option('onwebchat_plugin_option');
442 + $chatId = $options['text_string'];
443 + //$hideWidget = get_option('onwebchat_plugin_option_hide');
444 + $hideWidget = false;
90 445
91 - //check if user is logged if yes get username, email (all users registered have them)
92 - if ( is_user_logged_in() ) {
446 + $widgetCode = "<script type='text/javascript'>var onWebChat={ar:[], set: function(a,b){if (typeof onWebChat_==='undefined'){this.ar.push([a,b]);}else{onWebChat_.set(a,b);}},get:function(a){return(onWebChat_.get(a));},w:(function(){ var ga=document.createElement('script'); ga.type = 'text/javascript';ga.async=1;ga.src='//www.onwebchat.com/clientchat/$chatId';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);})()}</script>";
93 447
94 - global $current_user;
95 - get_currentuserinfo();
448 + $apiCode = get_option('onwebchat_plugin_option_api_code');
96 449
97 - // get user name
98 - $onwebchat_user = $current_user->user_login;
450 + $apiCode = str_replace('\\','',$apiCode);
99 451
100 - // get user email
101 - $onwebchat_email = $current_user->user_email;
452 + $apiCode = "<script type='text/javascript'>$apiCode</script>";
102 453
103 - //add api info
104 - $widgetCode = $widgetCode."<script type='text/javascript'>onWebChat.set('name','$onwebchat_user');onWebChat.set('email','$onwebchat_email'); </script>";
105 - }
106 -
107 - echo $widgetCode;
454 + $widgetCode .= $apiCode;
455 +
456 +
457 + //check if user is logged if yes get username, email
458 + if ( is_user_logged_in() ) {
459 +
460 + global $current_user;
461 + get_currentuserinfo();
462 +
463 + // get user name
464 + $onwebchat_user = $current_user->user_login;
465 +
466 + // get user email
467 + $onwebchat_email = $current_user->user_email;
468 +
469 + //add api info
470 + if ($onwebchat_user != null && $onwebchat_user != "" && $onwebchat_user != "guest" && $onwebchat_user != "Guest") {
471 + if ($onwebchat_email != null && $onwebchat_email != ""){
472 + $widgetCode = $widgetCode."<script type='text/javascript'>onWebChat.set('name','$onwebchat_user');
473 + onWebChat.set('email','$onwebchat_email'); </script>";
474 + } else {
475 + $widgetCode = $widgetCode."<script type='text/javascript'>onWebChat.set('name','$onwebchat_user');</script>";
476 + }
477 + }
478 + }
479 +
480 + $currentPage = substr( strtolower($_SERVER['SERVER_PROTOCOL']), 0, strpos( strtolower($_SERVER['SERVER_PROTOCOL']), "/") );
481 + $currentPage .= ( empty($_SERVER['HTTPS']) ? NULL : ( ($_SERVER['HTTPS'] == "on") ? "s" : NULL) );
482 + $currentPage .= "://" . $_SERVER['SERVER_NAME'];
483 + $currentPage .= ( $_SERVER['SERVER_PORT'] == 80 ? "" : ":".$_SERVER['SERVER_PORT'] );
484 + $currentPage .= $_SERVER['REQUEST_URI'];
485 +
486 + $pagesSelect = get_option('onwebchat_plugin_option_pages_select');
487 + $showPages = get_option('onwebchat_plugin_option_show_pages');
488 + $showPages = explode(' ', $showPages);
489 + $hidePages = get_option('onwebchat_plugin_option_hide_pages');
490 + $hidePages = explode(' ', $hidePages);
491 +
492 + $showSelect=true;
493 + if ($pagesSelect==1){
494 +
495 + } else if ($pagesSelect==2){
496 + $showSelect=false;
497 + foreach ($showPages as $page){
498 + if ($page !== "") {
499 + if (strpos($currentPage, $page) !== false) {
500 + $showSelect = true;
501 + }
502 + }
503 + }
504 + } else if ($pagesSelect==3){
505 + $showSelect=true;
506 + foreach ($hidePages as $page){
507 + if ($page !== "") {
508 + if (strpos($currentPage, $page) !== false) {
509 + $showSelect = false;
510 + }
511 + }
512 + }
513 + } else if($pagesSelect == 4) {
514 + //TODO we hide chat widget from all pages
515 + $hideWidget = true;
516 + }
517 +
518 + if(!$hideWidget && $showSelect) {
519 + echo $widgetCode;
520 + }
521 +
108 522 }
109 -?>
523 +
524 +/************************************************************************
525 + * display error function
526 + ***********************************************************************/
527 +function onwebchat_login_error($contition = false) {
528 + if($contition) {
529 + ?>
530 + <div class="error">
531 + <p><strong>Wrong credentials!</strong> Please enter correct <u>email and password</u> <strong>OR</strong> a valid <u>Chat Id</u>.</p>
532 + </div>
533 + <?php
534 + }
535 + else {
536 + //display nothing
537 + }
538 +}
539 +
540 +/************************************************************************
541 + * Validate Chat Id function
542 + ***********************************************************************/
543 +function isChatIdValid($input) {
544 + return preg_match('/^[a-f0-9]{32,40}+[\\/]?+[0-9]{0,2}+[\\/]?+[0-9]{0,2}$/i', $input);
545 +}
546 +
547 +?>