LiveChat – WP live chat plugin for WordPress - Version 3.8.1

Version Description

  • more secure way of displaying deactivation feedback modal
Download this release

Release Info

Developer livechat
Plugin Icon 128x128 LiveChat – WP live chat plugin for WordPress
Version 3.8.1
Comparing to
See all releases

Code changes from version 3.7.6 to 3.8.1

changelog.txt ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ == Changelog ==
2
+
3
+ = 3.7.6 =
4
+ * yet another security improvement, better security check for database operations
5
+
6
+ = 3.7.5 =
7
+ * security fixes, sanitization in settings view
8
+
9
+ = 3.7.4 =
10
+ * security fixes, thanks to guys from [pluginvulnerabilities.com](https://www.pluginvulnerabilities.com/2019/06/19/wordpress-plugins-are-so-insecure-you-can-claim-the-wrong-plugin-is-insecure-and-still-be-right/)
11
+
12
+ = 3.7.3 =
13
+ * Tested up to Wordpress 5.2
14
+
15
+ = 3.7.2 =
16
+ * fix for undefined HTTP_USER_AGENT
17
+
18
+ = 3.7.1 =
19
+ * Sign in with LiveChat button width fix
20
+ * Compatibility with Wordpress 5.1
21
+
22
+ = 3.7.0 =
23
+ * Connect Flow implemented
24
+
25
+ = 3.6.3 =
26
+ * Connect notice
27
+
28
+ = 3.6.2 =
29
+ * Tested up to Wordpress 5.0
30
+ * Removed Disable sounds option
31
+
32
+ = 3.6.1 =
33
+ * Fixed compatibility for servers without allow_url_fopen enabled.
34
+
35
+ = 3.6.0 =
36
+ * Translation ready plugin
37
+
38
+ = 3.5.4 =
39
+ * Fixed compatibility with servers without cURL support
40
+
41
+ = 3.5.3 =
42
+ * Review notice
43
+
44
+ = 3.5.2 =
45
+ * Updated compatibility with PHP 5
46
+
47
+ = 3.5.1 =
48
+ * Updated compatibility with PHP 7.1+
49
+
50
+ = 3.5.0 =
51
+ * Plugin redesign.
52
+ * Added new options:
53
+ * 'Sign in with LiveChat',
54
+ * Disable chat window on mobile devices,
55
+ * Disable sounds in chat window,
56
+ * Disable chat window for Guest users.
57
+
58
+ = 3.4.2 =
59
+ * Fixed get_plugin_url function, updated logo - added HiRes retina image
60
+
61
+ = 3.4.1 =
62
+ * Updated readme.txt file, checked compatibility to WordPress 4.8.1, small plugin js/css fixes.
63
+
64
+ = 3.4 =
65
+ * Updated readme.txt file, checked compatibility to WordPress 4.7.3
66
+
67
+ = 3.3.1 =
68
+ * Updated readme.txt file
69
+
70
+ = 3.3 =
71
+ * get_currentuser info function deprecated in WordPress 4.5, replaced to wp_get_current_user function
72
+
73
+ = 3.2.14 =
74
+ * Updated readme.txt file, checked compatibility to WordPress 4.4.1
75
+
76
+ = 3.2.13 =
77
+ * Removed __lc.group from live chat tracking code, updated readme.txt file
78
+
79
+ = 3.2.12 =
80
+ * Updated readme.txt file, checked compatibility to WordPress 4.3
81
+
82
+ = 3.2.11 =
83
+ * Moved live chat screenshots to assets directory
84
+
85
+ = 3.2.10 =
86
+ * Updated readme.txt file, updated live chat screenshots
87
+
88
+ = 3.2.9 =
89
+ * Updated readme.txt file, checked compatibility to WordPress 4.2.2
90
+
91
+ = 3.2.8 =
92
+ * Live chat plugin fully supports the newest version of WordPress.
93
+
94
+ = 3.2.7 =
95
+ * Live chat plugin compatible with the newest LiveChat version
96
+
97
+ = 3.2.5 =
98
+ * Updated trunk
99
+
100
+ = 3.2.4 =
101
+ * Updated url for live chat licence number
102
+
103
+ = 3.2.3 =
104
+ * Removed language parameter from live chat tracking code
105
+
106
+ = 3.2.2 =
107
+ * Fixed CSS styles conflicts with other plugins
108
+
109
+ = 3.2.1 =
110
+ * Fixed live chat plugin "Settings" link
111
+ * Changed message after successful installation
112
+
113
+ = 3.2.0 =
114
+ * Compatibility with new live chat window
115
+ * Removed "click-to-chat button" configurator (no longer used)
116
+
117
+ = 3.1.0 =
118
+ * Major update in the live chat tracking code
119
+
120
+ = 3.0.0 =
121
+ * Rewritten whole live chat plugin code
122
+ * Fixed creating live chat licenses
123
+ * Improved look and feel
124
+
125
+ = 2.1.8 =
126
+ * Updated live chat desktop application download link
127
+
128
+ = 2.1.7 =
129
+ * Fixed `Skill` parameter
130
+ * Updated monitoring and live chat button codes (for improved performance)
131
+ * Updated skills tutorial link
132
+
133
+ = 2.1.6 =
134
+ * Added LiveChat icon in menu bar
135
+
136
+ = 2.1.5 =
137
+ * Fixed creating new live chat licences
138
+ * Rebranded LIVECHAT Contact Center to LiveChat
139
+ * Updated live chat application download link
140
+ * Renamed "Groups" to "Skills"
141
+
142
+ = 2.1.4 =
143
+ * Fixed readme.txt file causing the `The plugin does not have a valid header.` problem
144
+
145
+ = 2.1.3 =
146
+ * Added timezone detection when creating new live chat license
147
+
148
+ = 2.1.2 =
149
+ * Added "Company", "Phone" and "Website" fields in live chat license registration form
150
+ * Fixed license registration bug
151
+ * Updated Control Panel URL
152
+
153
+ = 2.1.1 =
154
+ * Fixed monitoring and live chat button code installation
155
+
156
+ = 2.1.0 =
157
+ * Added "Settings" link to live chat plugin settings page
158
+ * Added "Download application" button
159
+ * Added Control Panel to live chat plugin
160
+ * Added Chat button installation help for themes with no live chat widgets support
161
+
162
+ = 2.0.0 =
163
+ * Rewritten whole live chat plugin from scratch
164
+ * Ability to create new license from WordPress live chat plugin settings
165
+ * Updated live chat monitoring code speed
166
+ * Added live chat notification messages
167
+
168
+ = 1.0.0 =
169
+ * First live chat plugin version
languages/wp-live-chat-software-for-wordpress.pot CHANGED
@@ -2,14 +2,14 @@
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: wp-live-chat-software-for-wordpress\n"
5
- "POT-Creation-Date: 2018-10-17 07:47+0200\n"
6
  "PO-Revision-Date: 2018-10-17 01:07+0200\n"
7
  "Last-Translator: \n"
8
  "Language-Team: LiveChat, Inc <apps@livechatinc.com>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.2\n"
13
  "X-Poedit-Basepath: .\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "Language: en\n"
@@ -17,92 +17,142 @@ msgstr ""
17
  "X-Poedit-KeywordsList: __;_e\n"
18
  "X-Poedit-SearchPath-0: ..\n"
19
 
20
- #: ../plugin_files/LiveChatAdmin.class.php:195
21
- #: ../plugin_files/LiveChatAdmin.class.php:196
22
- #: ../plugin_files/LiveChatAdmin.class.php:232
23
  msgid "Settings"
24
  msgstr ""
25
 
26
- #: ../plugin_files/helpers/ConnectNoticeHelper.class.php:12
27
- msgid "Please connect your LiveChat account to start chatting with your customers."
28
  msgstr ""
29
 
30
- #: ../plugin_files/helpers/ConnectNoticeHelper.class.php:13
 
 
 
 
 
 
 
 
 
 
 
 
31
  msgid "Connect"
32
  msgstr ""
33
 
34
- #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:11
35
- msgid "Do you like LiveChat? Leave us a review and join our LiveChat Knowledge Journey!"
36
  msgstr ""
37
 
38
- #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:12
39
- msgid "We do our best to create the best live chat software available out there. Leave us a review, help us grow LiveChat and join our exclusive Knowledge Journey community. Learn how to:"
40
  msgstr ""
41
 
42
- #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:14
43
- msgid "Bring people to your website"
44
  msgstr ""
45
 
46
- #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:15
47
- msgid "Be the hero of your customers' needs"
48
  msgstr ""
49
 
50
- #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:16
51
- msgid "Sell like a boss with LiveChat"
52
  msgstr ""
53
 
54
- #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:17
55
- msgid "Succeed in customer success"
56
  msgstr ""
57
 
58
- #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:20
59
- msgid "Leave a review and join LiveChat Knowledge Journey!"
60
  msgstr ""
61
 
62
- #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:21
63
- msgid "Maybe later"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  msgstr ""
65
 
66
  #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:22
67
- msgid "I don’t use this app anymore"
68
  msgstr ""
69
 
70
- #: ../plugin_files/helpers/SettingsHelper.class.php:17
 
 
 
 
71
  msgid "LiveChat is now installed on your website!"
72
  msgstr ""
73
 
74
- #: ../plugin_files/helpers/SettingsHelper.class.php:50
75
  msgid "Currently you are using your"
76
  msgstr ""
77
 
78
- #: ../plugin_files/helpers/SettingsHelper.class.php:52
79
  msgid "LiveChat account."
80
  msgstr ""
81
 
82
- #: ../plugin_files/helpers/SettingsHelper.class.php:56
83
  msgid "Open web application"
84
  msgstr ""
85
 
86
- #: ../plugin_files/helpers/SettingsHelper.class.php:65
87
  msgid "Hide chat on mobile"
88
  msgstr ""
89
 
90
- #: ../plugin_files/helpers/SettingsHelper.class.php:89
91
  msgid "Hide chat for Guest visitors"
92
  msgstr ""
93
 
94
- #: ../plugin_files/helpers/SettingsHelper.class.php:101
95
  msgid "Something went wrong?"
96
  msgstr ""
97
 
98
- #: ../plugin_files/helpers/SettingsHelper.class.php:102
99
  msgid "Disconect your account."
100
  msgstr ""
101
-
102
- #: ../plugin_files/helpers/SettingsHelper.class.php:110
103
- msgid "Check out our apps for"
104
- msgstr ""
105
-
106
- #: ../plugin_files/helpers/SettingsHelper.class.php:111
107
- msgid "desktop or mobile!"
108
- msgstr ""
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: wp-live-chat-software-for-wordpress\n"
5
+ "POT-Creation-Date: 2019-09-04 11:39+0200\n"
6
  "PO-Revision-Date: 2018-10-17 01:07+0200\n"
7
  "Last-Translator: \n"
8
  "Language-Team: LiveChat, Inc <apps@livechatinc.com>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.2.3\n"
13
  "X-Poedit-Basepath: .\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
  "Language: en\n"
17
  "X-Poedit-KeywordsList: __;_e\n"
18
  "X-Poedit-SearchPath-0: ..\n"
19
 
20
+ #: ../plugin_files/LiveChatAdmin.class.php:226
21
+ #: ../plugin_files/LiveChatAdmin.class.php:227
22
+ #: ../plugin_files/LiveChatAdmin.class.php:267
23
  msgid "Settings"
24
  msgstr ""
25
 
26
+ #: ../plugin_files/helpers/ConnectNoticeHelper.class.php:16
27
+ msgid "Action required - connect LiveChat"
28
  msgstr ""
29
 
30
+ #: ../plugin_files/helpers/ConnectNoticeHelper.class.php:19
31
+ msgid "Please"
32
+ msgstr ""
33
+
34
+ #: ../plugin_files/helpers/ConnectNoticeHelper.class.php:20
35
+ msgid "connect your LiveChat account"
36
+ msgstr ""
37
+
38
+ #: ../plugin_files/helpers/ConnectNoticeHelper.class.php:21
39
+ msgid "to start chatting with your customers."
40
+ msgstr ""
41
+
42
+ #: ../plugin_files/helpers/ConnectNoticeHelper.class.php:27
43
  msgid "Connect"
44
  msgstr ""
45
 
46
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:14
47
+ msgid "Cancel"
48
  msgstr ""
49
 
50
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:34
51
+ msgid "Quick Feedback"
52
  msgstr ""
53
 
54
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:47
55
+ msgid "If you have a moment, please let us know why you are deactivating LiveChat:"
56
  msgstr ""
57
 
58
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:63
59
+ msgid "I no longer need the plugin."
60
  msgstr ""
61
 
62
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:79
63
+ msgid "I couldn't get the plugin to work."
64
  msgstr ""
65
 
66
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:95
67
+ msgid "I found a better plugin."
68
  msgstr ""
69
 
70
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:111
71
+ msgid "It's a temporary deactivation."
72
  msgstr ""
73
 
74
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:128
75
+ msgid "Other"
76
+ msgstr ""
77
+
78
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:136
79
+ msgid "Tell us more..."
80
+ msgstr ""
81
+
82
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:141
83
+ msgid "Please choose one of available options."
84
+ msgstr ""
85
+
86
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:144
87
+ msgid "Please provide additional feedback."
88
+ msgstr ""
89
+
90
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:160
91
+ msgid "Skip & continue"
92
+ msgstr ""
93
+
94
+ #: ../plugin_files/helpers/DeactivationFeedbackFormHelper.class.php:163
95
+ msgid "Send feedback"
96
+ msgstr ""
97
+
98
+ #: ../plugin_files/helpers/InstallHelper.class.php:33
99
+ #: ../plugin_files/helpers/SettingsHelper.class.php:81
100
+ msgid "Check out our apps for"
101
+ msgstr ""
102
+
103
+ #: ../plugin_files/helpers/InstallHelper.class.php:35
104
+ #: ../plugin_files/helpers/SettingsHelper.class.php:83
105
+ msgid "desktop or mobile!"
106
+ msgstr ""
107
+
108
+ #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:15
109
+ msgid "Hey, you’ve been using <strong>LiveChat</strong> for more than 14 days - that’s awesome! Could you please do us a BIG favour and <strong>give LiveChat a 5-star rating on WordPress</strong>? Just to help us spread the word and boost our motivation."
110
+ msgstr ""
111
+
112
+ #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:16
113
+ msgid "<strong>&ndash; The LiveChat Team</strong>"
114
+ msgstr ""
115
+
116
+ #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:19
117
+ msgid "Ok, you deserve it"
118
  msgstr ""
119
 
120
  #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:22
121
+ msgid "Maybe later"
122
  msgstr ""
123
 
124
+ #: ../plugin_files/helpers/ReviewNoticeHelper.class.php:25
125
+ msgid "No, thanks"
126
+ msgstr ""
127
+
128
+ #: ../plugin_files/helpers/SettingsHelper.class.php:21
129
  msgid "LiveChat is now installed on your website!"
130
  msgstr ""
131
 
132
+ #: ../plugin_files/helpers/SettingsHelper.class.php:32
133
  msgid "Currently you are using your"
134
  msgstr ""
135
 
136
+ #: ../plugin_files/helpers/SettingsHelper.class.php:34
137
  msgid "LiveChat account."
138
  msgstr ""
139
 
140
+ #: ../plugin_files/helpers/SettingsHelper.class.php:39
141
  msgid "Open web application"
142
  msgstr ""
143
 
144
+ #: ../plugin_files/helpers/SettingsHelper.class.php:46
145
  msgid "Hide chat on mobile"
146
  msgstr ""
147
 
148
+ #: ../plugin_files/helpers/SettingsHelper.class.php:58
149
  msgid "Hide chat for Guest visitors"
150
  msgstr ""
151
 
152
+ #: ../plugin_files/helpers/SettingsHelper.class.php:71
153
  msgid "Something went wrong?"
154
  msgstr ""
155
 
156
+ #: ../plugin_files/helpers/SettingsHelper.class.php:72
157
  msgid "Disconect your account."
158
  msgstr ""
 
 
 
 
 
 
 
 
livechat.php CHANGED
@@ -1,23 +1,23 @@
1
- <?php
2
- /*
3
- Plugin Name: LiveChat
4
- Plugin URI: https://www.livechatinc.com/addons/wordpress/
5
- Description: Live chat software for live help, online sales and customer support. This plugin allows to quickly install LiveChat on any WordPress website.
6
- Author: LiveChat
7
- Author URI: https://www.livechatinc.com
8
- Version: 3.7.6
9
- Text Domain: wp-live-chat-software-for-wordpress
10
- Domain Path: /languages
11
- */
12
-
13
- if (is_admin())
14
- {
15
- require_once(dirname(__FILE__).'/plugin_files/LiveChatAdmin.class.php');
16
- LiveChatAdmin::get_instance();
17
- }
18
- else
19
- {
20
- require_once(dirname(__FILE__).'/plugin_files/LiveChat.class.php');
21
- LiveChat::get_instance();
22
- }
23
-
1
+ <?php
2
+ /*
3
+ Plugin Name: LiveChat
4
+ Plugin URI: https://www.livechatinc.com/addons/wordpress/
5
+ Description: Live chat software for live help, online sales and customer support. This plugin allows to quickly install LiveChat on any WordPress website.
6
+ Author: LiveChat
7
+ Author URI: https://www.livechatinc.com
8
+ Version: 3.8.1
9
+ Text Domain: wp-live-chat-software-for-wordpress
10
+ Domain Path: /languages
11
+ */
12
+
13
+ if (is_admin())
14
+ {
15
+ require_once(dirname(__FILE__).'/plugin_files/LiveChatAdmin.class.php');
16
+ LiveChatAdmin::get_instance();
17
+ }
18
+ else
19
+ {
20
+ require_once(dirname(__FILE__).'/plugin_files/LiveChat.class.php');
21
+ LiveChat::get_instance();
22
+ }
23
+
plugin_files/LiveChat.class.php CHANGED
@@ -176,20 +176,23 @@ class LiveChat
176
  * @return array
177
  */
178
  public function get_user_data(){
179
- $currentUserData = wp_get_current_user()->data;
180
 
181
- $visitor_email = $visitor_name = '';
182
 
183
- if (property_exists($currentUserData, 'user_email')) {
184
- $visitor_email = $currentUserData->user_email;
185
- }
186
- if (property_exists($currentUserData, 'display_name')) {
187
- $visitor_name = $currentUserData->display_name;
188
  }
189
 
 
 
 
 
 
 
190
  return array(
191
- 'name' => $visitor_name,
192
- 'email' => $visitor_email
193
  );
194
  }
195
  }
176
  * @return array
177
  */
178
  public function get_user_data(){
179
+ $currentUser = wp_get_current_user();
180
 
181
+ $email = $name = '';
182
 
183
+ if (!empty($currentUser->user_email)) {
184
+ $email = $currentUser->user_email;
 
 
 
185
  }
186
 
187
+ if (!empty($currentUser->user_firstname) && !empty($currentUser->user_lastname)) {
188
+ $name = $currentUser->user_firstname . ' ' . $currentUser->user_lastname;
189
+ } else {
190
+ $name = $currentUser->user_login;
191
+ }
192
+
193
  return array(
194
+ 'name' => $name,
195
+ 'email' => $email
196
  );
197
  }
198
  }
plugin_files/LiveChatAdmin.class.php CHANGED
@@ -4,391 +4,407 @@ require_once('LiveChat.class.php');
4
 
5
  final class LiveChatAdmin extends LiveChat
6
  {
7
- /**
8
- * Plugin's version
9
- */
10
- protected $plugin_version = null;
11
-
12
- /**
13
- * Returns true if "Advanced settings" form has just been submitted,
14
- * false otherwise
15
- *
16
- * @return bool
17
- */
18
- protected $changes_saved = false;
19
-
20
- /**
21
- * Timestamp from which review notice timeout count starts from
22
- */
23
- protected $review_notice_start_timestamp = null;
24
-
25
- /**
26
- * Timestamp offset
27
- */
28
- protected $review_notice_start_timestamp_offset = null;
29
-
30
- /**
31
- * Returns true if review notice was dismissed
32
- *
33
- * @return bool
34
- */
35
- protected $review_notice_dismissed = false;
36
-
37
- /**
38
- * Starts the plugin
39
- */
40
- protected function __construct()
41
- {
42
- parent::__construct();
43
-
44
- add_action( 'admin_init', array( $this, 'load_translations' ) );
45
- add_action( 'admin_init', array( $this, 'load_menu_icon_styles' ) );
46
-
47
- // notice action
48
- if ( $this->check_review_notice_conditions() ) {
49
- add_action( 'admin_init', array( $this, 'load_review_scripts' ) );
50
- add_action( 'wp_ajax_lc_review_dismiss', array( $this, 'ajax_review_dismiss' ) );
51
- add_action( 'wp_ajax_lc_review_postpone', array( $this, 'ajax_review_postpone' ) );
52
- add_action( 'admin_notices', array( $this, 'show_review_notice' ) );
53
- }
54
-
55
- if ( ! $this->is_installed() && ! ( array_key_exists( 'page', $_GET ) && $_GET['page'] === 'livechat_settings' ) ) {
56
- add_action( 'admin_notices', array( $this, 'show_connect_notice' ) );
57
- }
58
-
59
- add_action( 'admin_init', array( $this, 'load_scripts' ) );
60
-
61
- add_action( 'admin_menu', array( $this, 'admin_menu' ) );
62
-
63
- // tricky error reporting
64
- if ( defined( 'WP_DEBUG' ) && WP_DEBUG == true ) {
65
- add_action( 'admin_init', array( $this, 'error_reporting' ) );
66
- }
67
-
68
- add_action( 'admin_init', array( $this, 'handle_post' ) );
69
- }
70
-
71
- public function handle_post() {
72
- if (
73
- current_user_can('manage_options') &&
74
- array_key_exists('nonce', $_GET) &&
75
- wp_verify_nonce($_GET['nonce'], 'livechat-security-check')
76
- ) {
77
- if ( array_key_exists( 'reset', $_GET ) && $_GET['reset'] == '1' && $_GET['page'] === 'livechat_settings' ) {
78
- $this->reset_options();
79
- } else if ( (
80
- array_key_exists( 'REQUEST_METHOD', $_SERVER ) &&
81
- $_SERVER['REQUEST_METHOD'] === 'POST' &&
82
- array_key_exists( 'HTTP_REFERER', $_SERVER ) &&
83
- strpos( $_SERVER['HTTP_REFERER'], 'livechat_settings' ) !== false
84
- ) || (
85
- ! array_key_exists( 'HTTP_REFERER', $_SERVER ) &&
86
- array_key_exists( 'REQUEST_METHOD', $_SERVER ) &&
87
- $_SERVER['REQUEST_METHOD'] === 'POST'
88
- ) ) {
89
- echo $this->update_options( $_POST );
90
- }
91
- }
92
- }
93
-
94
- public static function get_instance()
95
- {
96
- if (!isset(self::$instance))
97
- {
98
- $c = __CLASS__;
99
- self::$instance = new $c;
100
- }
101
-
102
- return self::$instance;
103
- }
104
-
105
- /**
106
- * Make translation ready
107
- */
108
- public function load_translations()
109
- {
110
- load_plugin_textdomain(
111
- 'wp-live-chat-software-for-wordpress',
112
- false,
113
- 'wp-live-chat-software-for-wordpress/languages'
114
- );
115
- }
116
-
117
- /**
118
- * Fix CSS for icon in menu
119
- */
120
- public function load_menu_icon_styles()
121
- {
122
- wp_enqueue_style('livechat-menu', $this->get_plugin_url().'css/livechat-menu.css', false, $this->get_plugin_version());
123
- }
124
-
125
- /**
126
- * Set error reporting for debugging purposes
127
- */
128
- public function error_reporting()
129
- {
130
- error_reporting(E_ALL & ~E_USER_NOTICE);
131
- }
132
-
133
- /**
134
- * Returns this plugin's version
135
- *
136
- * @return string
137
- */
138
- public function get_plugin_version()
139
- {
140
- if (is_null($this->plugin_version))
141
- {
142
- if (!function_exists('get_plugins'))
143
- {
144
- require_once(ABSPATH.'wp-admin/includes/plugin.php');
145
- }
146
-
147
- $plugin_folder = get_plugins('/'.plugin_basename(dirname(__FILE__).'/..'));
148
- if(count($plugin_folder) === 0)
149
- $plugin_folder['livechat.php'] = get_plugin_data(dirname(__FILE__).'/../livechat.php');
150
- $this->plugin_version = $plugin_folder['livechat.php']['Version'];
151
- }
152
-
153
- return $this->plugin_version;
154
- }
155
-
156
- protected function get_review_notice_start_timestamp()
157
- {
158
- if (is_null($this->review_notice_start_timestamp))
159
- {
160
- $timestamp = get_option('livechat_review_notice_start_timestamp');
161
- // if timestamp was not set on install
162
- if (!$timestamp) {
163
- $timestamp = time();
164
- update_option('livechat_review_notice_start_timestamp', $timestamp); // set timestamp if not set on install
165
- }
166
-
167
- $this->review_notice_start_timestamp = $timestamp;
168
- }
169
-
170
- return $this->review_notice_start_timestamp;
171
- }
172
-
173
- protected function get_review_notice_start_timestamp_offset()
174
- {
175
- if (is_null($this->review_notice_start_timestamp_offset))
176
- {
177
- $offset = get_option('livechat_review_notice_start_timestamp_offset');
178
- // if offset was not set on install
179
- if (!$offset) {
180
- $offset = 15;
181
- update_option('livechat_review_notice_start_timestamp_offset', $offset); // set shorter offset
182
- }
183
-
184
- $this->review_notice_start_timestamp_offset = $offset;
185
- }
186
-
187
- return $this->review_notice_start_timestamp_offset;
188
- }
189
-
190
- protected function check_if_review_notice_was_dismissed()
191
- {
192
- if (!$this->review_notice_dismissed)
193
- {
194
- $this->review_notice_dismissed = get_option('livechat_review_notice_dismissed');
195
- }
196
-
197
- return $this->review_notice_dismissed;
198
- }
199
-
200
- public function load_scripts()
201
- {
202
- wp_enqueue_script('livechat', $this->get_plugin_url().'js/livechat.js', 'jquery', $this->get_plugin_version(), true);
203
- wp_enqueue_style('livechat', $this->get_plugin_url().'css/livechat.css', false, $this->get_plugin_version());
204
- }
205
-
206
- public function load_review_scripts()
207
- {
208
- wp_enqueue_script('livechat-review', $this->get_plugin_url().'js/livechat-review.js', 'jquery', $this->get_plugin_version(), true);
209
- }
210
-
211
- public function admin_menu()
212
- {
213
- add_menu_page(
214
- 'LiveChat',
215
- 'LiveChat',
216
- 'administrator',
217
- 'livechat',
218
- array($this, 'livechat_settings_page'),
219
- $this->get_plugin_url().'images/livechat-icon.svg'
220
- );
221
-
222
- add_submenu_page(
223
- 'livechat',
224
- __('Settings', 'wp-live-chat-software-for-wordpress'),
225
- __('Settings', 'wp-live-chat-software-for-wordpress'),
226
- 'administrator',
227
- 'livechat_settings',
228
- array($this, 'livechat_settings_page')
229
- );
230
-
231
- // remove the submenu that is automatically added
232
- if (function_exists('remove_submenu_page'))
233
- {
234
- remove_submenu_page('livechat', 'livechat');
235
- }
236
-
237
- // Settings link
238
- add_filter('plugin_action_links', array($this, 'livechat_settings_link'), 10, 2);
239
- }
240
-
241
- /**
242
- * Displays settings page
243
- */
244
- public function livechat_settings_page()
245
- {
246
- $this->get_helper('Settings');
247
- }
248
-
249
- public function changes_saved()
250
- {
251
- return $this->changes_saved;
252
- }
253
-
254
- public function livechat_settings_link($links, $file)
255
- {
256
- if (basename($file) !== 'livechat.php')
257
- {
258
- return $links;
259
- }
260
-
261
- $settings_link = sprintf('<a href="admin.php?page=livechat_settings">%s</a>', __('Settings'));
262
- array_unshift ($links, $settings_link);
263
- return $links;
264
- }
265
-
266
- protected function reset_options()
267
- {
268
- delete_option('livechat_license_number');
269
- delete_option('livechat_email');
270
- delete_option('livechat_review_notice_start_timestamp');
271
- delete_option('livechat_review_notice_start_timestamp_offset');
272
- delete_option('livechat_disable_mobile');
273
- delete_option('livechat_disable_guests');
274
- }
275
-
276
- protected function check_review_notice_conditions()
277
- {
278
- if(!$this->check_if_review_notice_was_dismissed()) {
279
- if ($this->is_installed() && $this->check_if_license_is_active($this->get_license_number())) {
280
- $secondsInDay = 60 * 60 * 24;
281
- $noticeTimeout = time() - $this->get_review_notice_start_timestamp();
282
- $timestampOffset = $this->get_review_notice_start_timestamp_offset();
283
- if ($noticeTimeout >= $secondsInDay * $timestampOffset) {
284
- return true;
285
- }
286
- }
287
- }
288
-
289
- return false;
290
- }
291
-
292
- protected function check_if_license_is_active($license_number)
293
- {
294
- $url = 'https://api.livechatinc.com/v2/license/' . $license_number;
295
- try {
296
- if(function_exists('curl_init')) {
297
- $curl = curl_init($url);
298
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
299
- $response = curl_exec($curl);
300
- $code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
301
- curl_close($curl);
302
-
303
- if ($code === 200) {
304
- return json_decode($response)->license_active;
305
- } else {
306
- throw new Exception($code);
307
- }
308
- } else if(ini_get('allow_url_fopen') === '1' || strtolower(ini_get('allow_url_fopen')) === 'on') {
309
- $options = array(
310
- 'http' => array(
311
- 'method' => 'GET'
312
- ),
313
- );
314
- $context = stream_context_create($options);
315
- $result = file_get_contents($url, false, $context);
316
- return json_decode($result)->license_active;
317
- }
318
- } catch(Exception $exception) {
319
- error_log(
320
- 'check_if_license_is_active() error ' .
321
- $exception->getCode() .
322
- ': ' .
323
- $exception->getMessage()
324
- );
325
- }
326
- return false;
327
- }
328
-
329
- public function show_review_notice()
330
- {
331
- $this->get_helper('ReviewNotice');
332
- }
333
-
334
- public function show_connect_notice()
335
- {
336
- $this->get_helper('ConnectNotice');
337
- }
338
-
339
- public function ajax_review_dismiss()
340
- {
341
- update_option('livechat_review_notice_dismissed', true);
342
- echo "OK";
343
- wp_die();
344
- }
345
-
346
- public function ajax_review_postpone()
347
- {
348
- update_option('livechat_review_notice_start_timestamp', time());
349
- update_option('livechat_review_notice_start_timestamp_offset', 7);
350
- echo "OK";
351
- wp_die();
352
- }
353
-
354
- protected function update_options($data)
355
- {
356
- if (!isset($data['licenseEmail']) || !isset($data['licenseNumber']))
357
- {
358
- if(array_key_exists('disableMobile', $data) || array_key_exists('disableGuests', $data)) {
359
- $disableMobile = array_key_exists('disableMobile', $data) ? (int) $data['disableMobile'] : 0;
360
- $disableGuests = array_key_exists('disableGuests', $data) ? (int) $data['disableGuests'] : 0;
361
-
362
- update_option('livechat_disable_mobile', $disableMobile);
363
- update_option('livechat_disable_guests', $disableGuests);
364
-
365
- $array = array(
366
- 'message' => 'success'
367
- );
368
-
369
- echo json_encode($array);
370
- die;
371
- } else {
372
- return false;
373
- }
374
-
375
- } else {
376
-
377
- $license_number = isset($data['licenseNumber']) ? (int) $data['licenseNumber'] : 0;
378
- $email = isset($data['licenseEmail']) ? (string) $data['licenseEmail'] : '';
379
-
380
- update_option('livechat_license_number', $license_number);
381
- update_option('livechat_email', sanitize_email($email));
382
-
383
- update_option('livechat_review_notice_start_timestamp', time());
384
- update_option('livechat_review_notice_start_timestamp_offset', 45);
385
-
386
- update_option('livechat_disable_mobile', 0);
387
- update_option('livechat_disable_guests', 0);
388
-
389
- if (isset($data['changes_saved']) && $data['changes_saved'] == '1') {
390
- $this->changes_saved = true;
391
- }
392
- }
393
- }
394
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
  final class LiveChatAdmin extends LiveChat
6
  {
7
+ /**
8
+ * Plugin's version
9
+ */
10
+ protected $plugin_version = null;
11
+
12
+ /**
13
+ * Returns true if "Advanced settings" form has just been submitted,
14
+ * false otherwise
15
+ *
16
+ * @return bool
17
+ */
18
+ protected $changes_saved = false;
19
+
20
+ /**
21
+ * Timestamp from which review notice timeout count starts from
22
+ */
23
+ protected $review_notice_start_timestamp = null;
24
+
25
+ /**
26
+ * Timestamp offset
27
+ */
28
+ protected $review_notice_start_timestamp_offset = null;
29
+
30
+ /**
31
+ * Returns true if review notice was dismissed
32
+ *
33
+ * @return bool
34
+ */
35
+ protected $review_notice_dismissed = false;
36
+
37
+ /**
38
+ * Starts the plugin
39
+ */
40
+ protected function __construct()
41
+ {
42
+ parent::__construct();
43
+
44
+ add_action('admin_init', array($this, 'load_translations'));
45
+ add_action('admin_init', array($this, 'load_menu_icon_styles'));
46
+ add_action('admin_init', array($this, 'load_general_scripts_and_styles'));
47
+
48
+ // notice action
49
+ if ($this->check_review_notice_conditions()) {
50
+ add_action('admin_init', array($this, 'load_review_scripts_and_styles'));
51
+ add_action('wp_ajax_lc_review_dismiss', array($this, 'ajax_review_dismiss'));
52
+ add_action('wp_ajax_lc_review_postpone', array($this, 'ajax_review_postpone'));
53
+ add_action('admin_notices', array($this, 'show_review_notice'));
54
+ }
55
+
56
+ if (!$this->is_installed() && !(array_key_exists('page', $_GET) && $_GET['page'] === 'livechat_settings')) {
57
+ add_action('admin_notices', array($this, 'show_connect_notice'));
58
+ }
59
+
60
+ add_action('admin_menu', array($this, 'admin_menu'));
61
+
62
+ // tricky error reporting
63
+ if (defined('WP_DEBUG') && WP_DEBUG == true) {
64
+ add_action('admin_init', array($this, 'error_reporting'));
65
+ }
66
+
67
+ add_action('admin_init', array($this, 'handle_post'));
68
+
69
+ if (array_key_exists('SCRIPT_NAME', $_SERVER) && strpos($_SERVER['SCRIPT_NAME'], 'plugins.php')) {
70
+ add_action('in_admin_header', array($this, 'show_deactivation_feedback_form'));
71
+ }
72
+ }
73
+
74
+ public function handle_post() {
75
+ if (
76
+ current_user_can('manage_options') &&
77
+ array_key_exists('nonce', $_GET) &&
78
+ wp_verify_nonce($_GET['nonce'], 'livechat-security-check')
79
+ ) {
80
+ if (array_key_exists('reset', $_GET) && $_GET['reset'] == '1' && array_key_exists('page', $_GET) && $_GET['page'] === 'livechat_settings') {
81
+ $this->reset_options();
82
+ } else if (array_key_exists('REQUEST_METHOD', $_SERVER) && $_SERVER['REQUEST_METHOD'] === 'POST') {
83
+ echo $this->update_options($_POST);
84
+ }
85
+ }
86
+ }
87
+
88
+ public static function get_instance()
89
+ {
90
+ if (!isset(self::$instance))
91
+ {
92
+ $c = __CLASS__;
93
+ self::$instance = new $c;
94
+ }
95
+
96
+ return self::$instance;
97
+ }
98
+
99
+ /**
100
+ * Make translation ready
101
+ */
102
+ public function load_translations()
103
+ {
104
+ load_plugin_textdomain(
105
+ 'wp-live-chat-software-for-wordpress',
106
+ false,
107
+ 'wp-live-chat-software-for-wordpress/languages'
108
+ );
109
+ }
110
+
111
+ /**
112
+ * Fix CSS for icon in menu
113
+ */
114
+ public function load_menu_icon_styles()
115
+ {
116
+ wp_enqueue_style('livechat-menu', $this->get_plugin_url().'css/livechat-menu.css', false, $this->get_plugin_version());
117
+ }
118
+
119
+ /**
120
+ * Set error reporting for debugging purposes
121
+ */
122
+ public function error_reporting()
123
+ {
124
+ error_reporting(E_ALL & ~E_USER_NOTICE);
125
+ }
126
+
127
+ /**
128
+ * Returns this plugin's version
129
+ *
130
+ * @return string
131
+ */
132
+ public function get_plugin_version()
133
+ {
134
+ if (is_null($this->plugin_version))
135
+ {
136
+ if (!function_exists('get_plugins'))
137
+ {
138
+ require_once(ABSPATH.'wp-admin/includes/plugin.php');
139
+ }
140
+
141
+ $plugin_folder = get_plugins('/'.plugin_basename(dirname(__FILE__).'/..'));
142
+ if(count($plugin_folder) === 0)
143
+ $plugin_folder['livechat.php'] = get_plugin_data(dirname(__FILE__).'/../livechat.php');
144
+ $this->plugin_version = $plugin_folder['livechat.php']['Version'];
145
+ }
146
+
147
+ return $this->plugin_version;
148
+ }
149
+
150
+ protected function get_review_notice_start_timestamp()
151
+ {
152
+ if (is_null($this->review_notice_start_timestamp))
153
+ {
154
+ $timestamp = get_option('livechat_review_notice_start_timestamp');
155
+ // if timestamp was not set on install
156
+ if (!$timestamp) {
157
+ $timestamp = time();
158
+ update_option('livechat_review_notice_start_timestamp', $timestamp); // set timestamp if not set on install
159
+ }
160
+
161
+ $this->review_notice_start_timestamp = $timestamp;
162
+ }
163
+
164
+ return $this->review_notice_start_timestamp;
165
+ }
166
+
167
+ protected function get_review_notice_start_timestamp_offset()
168
+ {
169
+ if (is_null($this->review_notice_start_timestamp_offset))
170
+ {
171
+ $offset = get_option('livechat_review_notice_start_timestamp_offset');
172
+ // if offset was not set on install
173
+ if (!$offset) {
174
+ $offset = 16;
175
+ update_option('livechat_review_notice_start_timestamp_offset', $offset); // set shorter offset
176
+ }
177
+
178
+ $this->review_notice_start_timestamp_offset = $offset;
179
+ }
180
+
181
+ return $this->review_notice_start_timestamp_offset;
182
+ }
183
+
184
+ protected function check_if_review_notice_was_dismissed()
185
+ {
186
+ if (!$this->review_notice_dismissed)
187
+ {
188
+ $this->review_notice_dismissed = get_option('livechat_review_notice_dismissed');
189
+ }
190
+
191
+ return $this->review_notice_dismissed;
192
+ }
193
+
194
+ protected function load_design_system_styles() {
195
+ wp_register_style('livechat-source-sans-pro-font', 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600');
196
+ wp_register_style('livechat-material-icons', 'https://fonts.googleapis.com/icon?family=Material+Icons');
197
+ wp_register_style('livechat-design-system', 'https://cdn.livechat-static.com/design-system/styles.css');
198
+ wp_enqueue_style('livechat-source-sans-pro-font', false, $this->get_plugin_version());
199
+ wp_enqueue_style('livechat-material-icons', false, $this->get_plugin_version());
200
+ wp_enqueue_style('livechat-design-system', false, $this->get_plugin_version());
201
+ }
202
+
203
+ public function load_general_scripts_and_styles()
204
+ {
205
+ $this->load_design_system_styles();
206
+ wp_enqueue_script('livechat', $this->get_plugin_url().'js/livechat.js', 'jquery', $this->get_plugin_version(), true);
207
+ wp_enqueue_style('livechat', $this->get_plugin_url().'css/livechat-general.css', false, $this->get_plugin_version());
208
+ }
209
+
210
+ public function load_review_scripts_and_styles()
211
+ {
212
+ wp_enqueue_script('livechat-review', $this->get_plugin_url().'js/livechat-review.js', 'jquery', $this->get_plugin_version(), true);
213
+ wp_enqueue_style('livechat-review', $this->get_plugin_url().'css/livechat-review.css', false, $this->get_plugin_version());
214
+ }
215
+
216
+ public function admin_menu()
217
+ {
218
+ add_menu_page(
219
+ 'LiveChat',
220
+ $this->is_installed() || (array_key_exists('page', $_GET) && $_GET['page'] === 'livechat_settings') ? 'LiveChat' : 'LiveChat <span class="awaiting-mod">!</span>',
221
+ 'administrator',
222
+ 'livechat',
223
+ array($this, 'livechat_settings_page'),
224
+ $this->get_plugin_url().'images/livechat-icon.svg'
225
+ );
226
+
227
+ add_submenu_page(
228
+ 'livechat',
229
+ __('Settings', 'wp-live-chat-software-for-wordpress'),
230
+ __('Settings', 'wp-live-chat-software-for-wordpress'),
231
+ 'administrator',
232
+ 'livechat_settings',
233
+ array($this, 'livechat_settings_page')
234
+ );
235
+
236
+ // remove the submenu that is automatically added
237
+ if (function_exists('remove_submenu_page'))
238
+ {
239
+ remove_submenu_page('livechat', 'livechat');
240
+ }
241
+
242
+ // Settings link
243
+ add_filter('plugin_action_links', array($this, 'livechat_settings_link'), 10, 2);
244
+ }
245
+
246
+ /**
247
+ * Displays settings page
248
+ */
249
+ public function livechat_settings_page()
250
+ {
251
+ if ($this->is_installed()) {
252
+ $this->get_helper( 'Settings' );
253
+ } else {
254
+ $this->get_helper( 'Install' );
255
+ }
256
+ }
257
+
258
+ public function changes_saved()
259
+ {
260
+ return $this->changes_saved;
261
+ }
262
+
263
+ public function livechat_settings_link($links, $file)
264
+ {
265
+ if (basename($file) !== 'livechat.php')
266
+ {
267
+ return $links;
268
+ }
269
+
270
+ $settings_link = sprintf('<a href="admin.php?page=livechat_settings">%s</a>', __('Settings'));
271
+ array_unshift ($links, $settings_link);
272
+ return $links;
273
+ }
274
+
275
+ protected function reset_options()
276
+ {
277
+ delete_option('livechat_license_number');
278
+ delete_option('livechat_email');
279
+ delete_option('livechat_review_notice_start_timestamp');
280
+ delete_option('livechat_review_notice_start_timestamp_offset');
281
+ delete_option('livechat_disable_mobile');
282
+ delete_option('livechat_disable_guests');
283
+ }
284
+
285
+ protected function check_review_notice_conditions()
286
+ {
287
+ if (!$this->check_if_review_notice_was_dismissed() && $this->check_if_license_is_active($this->get_license_number())) {
288
+ $secondsInDay = 60 * 60 * 24;
289
+ $noticeTimeout = time() - $this->get_review_notice_start_timestamp();
290
+ $timestampOffset = $this->get_review_notice_start_timestamp_offset();
291
+ if ($noticeTimeout >= $secondsInDay * $timestampOffset) {
292
+ return true;
293
+ }
294
+ }
295
+
296
+ return false;
297
+ }
298
+
299
+ protected function check_if_license_is_active($license_number)
300
+ {
301
+ if ($license_number > 0) {
302
+ $url = 'https://api.livechatinc.com/v2/license/' . $license_number;
303
+ try {
304
+ if ( function_exists( 'curl_init' ) ) {
305
+ $curl = curl_init( $url );
306
+ curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
307
+ $response = curl_exec( $curl );
308
+ $code = curl_getinfo( $curl, CURLINFO_HTTP_CODE );
309
+ curl_close( $curl );
310
+
311
+ if ( $code === 200 ) {
312
+ return json_decode( $response )->license_active;
313
+ } else {
314
+ throw new Exception( $code );
315
+ }
316
+ } else if ( ini_get( 'allow_url_fopen' ) === '1' || strtolower( ini_get( 'allow_url_fopen' ) ) === 'on' ) {
317
+ $options = array(
318
+ 'http' => array(
319
+ 'method' => 'GET'
320
+ ),
321
+ );
322
+ $context = stream_context_create( $options );
323
+ $result = file_get_contents( $url, false, $context );
324
+
325
+ return json_decode( $result )->license_active;
326
+ }
327
+ } catch ( Exception $exception ) {
328
+ error_log(
329
+ 'check_if_license_is_active() error ' .
330
+ $exception->getCode() .
331
+ ': ' .
332
+ $exception->getMessage()
333
+ );
334
+ }
335
+ }
336
+
337
+ return false;
338
+ }
339
+
340
+ public function show_review_notice()
341
+ {
342
+ $this->get_helper('ReviewNotice');
343
+ }
344
+
345
+ public function show_connect_notice()
346
+ {
347
+ $this->get_helper('ConnectNotice');
348
+ }
349
+
350
+ public function show_deactivation_feedback_form()
351
+ {
352
+ $this->get_helper('DeactivationFeedbackForm');
353
+ }
354
+
355
+ public function ajax_review_dismiss()
356
+ {
357
+ update_option('livechat_review_notice_dismissed', true);
358
+ echo "OK";
359
+ wp_die();
360
+ }
361
+
362
+ public function ajax_review_postpone()
363
+ {
364
+ update_option('livechat_review_notice_start_timestamp', time());
365
+ update_option('livechat_review_notice_start_timestamp_offset', 7);
366
+ echo "OK";
367
+ wp_die();
368
+ }
369
+
370
+ protected function update_options($data)
371
+ {
372
+ if (!isset($data['licenseEmail']) || !isset($data['licenseNumber']))
373
+ {
374
+ if(array_key_exists('disableMobile', $data) || array_key_exists('disableGuests', $data)) {
375
+ $disableMobile = array_key_exists('disableMobile', $data) ? (int) $data['disableMobile'] : 0;
376
+ $disableGuests = array_key_exists('disableGuests', $data) ? (int) $data['disableGuests'] : 0;
377
+
378
+ update_option('livechat_disable_mobile', $disableMobile);
379
+ update_option('livechat_disable_guests', $disableGuests);
380
+
381
+ $array = array(
382
+ 'message' => 'success'
383
+ );
384
+
385
+ echo json_encode($array);
386
+ die;
387
+ } else {
388
+ return false;
389
+ }
390
+
391
+ } else {
392
+
393
+ $license_number = isset($data['licenseNumber']) ? (int) $data['licenseNumber'] : 0;
394
+ $email = isset($data['licenseEmail']) ? (string) $data['licenseEmail'] : '';
395
+
396
+ update_option('livechat_license_number', $license_number);
397
+ update_option('livechat_email', sanitize_email($email));
398
+
399
+ update_option('livechat_review_notice_start_timestamp', time());
400
+ update_option('livechat_review_notice_start_timestamp_offset', 16);
401
+
402
+ update_option('livechat_disable_mobile', 0);
403
+ update_option('livechat_disable_guests', 0);
404
+
405
+ if (isset($data['changes_saved']) && $data['changes_saved'] == '1') {
406
+ $this->changes_saved = true;
407
+ }
408
+ }
409
+ }
410
+ }
plugin_files/css/livechat-general.css ADDED
@@ -0,0 +1,417 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Plugin Settings */
2
+
3
+ .livechat_page_livechat_settings #wpwrap {
4
+ background: #fff;
5
+ }
6
+
7
+ .lc-table {
8
+ padding-top: 50px;
9
+ width: 100%;
10
+ margin: 0;
11
+ display: flex;
12
+ flex-flow: row nowrap;
13
+ align-items: center;
14
+ justify-content: center;
15
+ }
16
+
17
+ .lc-column {
18
+ padding: 10px;
19
+ width: 50%;
20
+ float: left;
21
+ text-align: center;
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ .lc-table img {
26
+ max-width: 100%;
27
+ }
28
+
29
+ #lc-plus-wp {
30
+ margin-bottom: 30px;
31
+ }
32
+
33
+ #lc-plus-wp img {
34
+ width: 100%;
35
+ max-width: 400px;
36
+ }
37
+
38
+ iframe#login-with-livechat
39
+ {
40
+ width: 150px;
41
+ height: 45px;
42
+ border: none;
43
+ }
44
+
45
+ #lc-app-img {
46
+ width: 100%;
47
+ max-width: 612px;
48
+ border-radius: 4px;
49
+ }
50
+
51
+ .updated.installed p::before {
52
+ content: '';
53
+ }
54
+
55
+ .updated.installed {
56
+ width: auto;
57
+ position: absolute;
58
+ top: 1em;
59
+ left: 25%;
60
+ transform: translateX(-55%);
61
+ z-index: 100;
62
+ }
63
+
64
+ #installed-close {
65
+ display: block;
66
+ position: absolute;
67
+ right: -5px;
68
+ top: -5px;
69
+ font-size: 10px;
70
+ cursor: pointer;
71
+ background: black;
72
+ color: white;
73
+ width: 12px;
74
+ height: 12px;
75
+ line-height: 10px;
76
+ text-align: center;
77
+ border-radius: 6px;
78
+ z-index: 101;
79
+ }
80
+
81
+ #lc-webapp {
82
+ margin: 25px auto 30px;
83
+ }
84
+
85
+ #logout {
86
+ text-decoration: underline;
87
+ cursor: pointer;
88
+ color: inherit;
89
+ }
90
+
91
+ .lc-settings-option {
92
+ position: relative;
93
+ }
94
+
95
+ .lc-settings-option:hover .lc-css-tooltip {
96
+ opacity: 1;
97
+ visibility: visible;
98
+ }
99
+
100
+ p.lc-settings-option-label {
101
+ font-weight: 700 !important;
102
+ }
103
+
104
+ /* Mobile */
105
+
106
+ @media screen and (max-width: 650px) {
107
+ .lc-table {
108
+ flex-flow: row wrap;
109
+ }
110
+
111
+ .lc-column {
112
+ width: 100%;
113
+ }
114
+ }
115
+
116
+ /* Switchers */
117
+
118
+ .settings {
119
+ width: 100%;
120
+ margin: 40px auto 20px auto;
121
+ }
122
+ .settings div {
123
+ margin: 5px 0;
124
+ }
125
+ .settings .title{
126
+ width: 220px;
127
+ margin: 0 10px 10px 0;
128
+ display: inline-block;
129
+ font-size: 16px;
130
+ cursor: pointer;
131
+ text-align: left;
132
+ }
133
+
134
+ .settings .title span{
135
+ vertical-align: middle;
136
+ }
137
+ .onoffswitch {
138
+ text-align: left;
139
+ position: relative;
140
+ width: 72px;
141
+ -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
142
+ display: inline-block;
143
+ height: 26px;
144
+ vertical-align: middle;
145
+ }
146
+ .onoffswitch-checkbox {
147
+ display: none!important;
148
+ }
149
+ .onoffswitch-label {
150
+ display: block; overflow: hidden; cursor: pointer;
151
+ border: 1px solid #bbb;
152
+ -webkit-border-radius: 4px;
153
+ -moz-border-radius: 4px;
154
+ border-radius: 4px;
155
+ }
156
+ .onoffswitch-inner {
157
+ display: block; width: 200%; margin-left: -100%;
158
+ -moz-transition: margin 0.15s ease-in 0s; -webkit-transition: margin 0.15s ease-in 0s;
159
+ -o-transition: margin 0.15s ease-in 0s; transition: margin 0.15s ease-in 0s;
160
+ }
161
+ .onoffswitch-inner:before, .onoffswitch-inner:after {
162
+ display: block; float: left; width: 50%; height: 24px; padding: 0; line-height: 24px;
163
+ font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif;
164
+ -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
165
+ -webkit-border-radius: 3px;
166
+ -moz-border-radius: 3px;
167
+ border-radius: 3px;
168
+ font-weight: 100;
169
+ }
170
+ .onoffswitch-inner:before {
171
+ content: "ON";
172
+ padding-left: 8px;
173
+ background: #6699cc;
174
+ background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #6699cc), color-stop(1, #88bbee));
175
+ background: -ms-linear-gradient(bottom, #6699cc, #88bbee);
176
+ background: -moz-linear-gradient(center bottom, #6699cc 0%, #88bbee 100%);
177
+ background: -o-linear-gradient(#88bbee, #6699cc);
178
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#88bbee', endColorstr='#6699cc', GradientType=0);
179
+ -webkit-box-shadow: inset 0 0 5px #6699cc;
180
+ -moz-box-shadow: inset 0 0 5px #6699cc;
181
+ box-shadow: inset 0 0 5px #6699cc;
182
+ text-shadow: rgb(85, 136, 187) -1px -1px 0;
183
+ }
184
+ .onoffswitch-inner:after {
185
+ content: "OFF";
186
+ padding-right: 5px;
187
+ background: #dddddd;
188
+ background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dddddd), color-stop(1, #ffffff));
189
+ background: -ms-linear-gradient(bottom, #dddddd, #ffffff);
190
+ background: -moz-linear-gradient(center bottom, #dddddd 0%, #ffffff 100%);
191
+ background: -o-linear-gradient(#ffffff, #dddddd);
192
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dddddd', GradientType=0);
193
+ -webkit-box-shadow: inset 0 0 5px #dddddd;
194
+ -moz-box-shadow: inset 0 0 5px #dddddd;
195
+ box-shadow: inset 0 0 5px #dddddd;
196
+ color: rgb(153, 153, 153);
197
+ text-align: right;
198
+ }
199
+ .onoffswitch-switch {
200
+ display: block; width: 33px; margin: 0;
201
+ background: #cccccc;
202
+ background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #cccccc), color-stop(1, #f3f3f3));
203
+ background: -ms-linear-gradient(bottom, #cccccc, #f3f3f3);
204
+ background: -moz-linear-gradient(center bottom, #cccccc 0%, #f3f3f3 100%);
205
+ background: -o-linear-gradient(#f3f3f3, #cccccc);
206
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3f3f3', endColorstr='#cccccc', GradientType=0);
207
+ border: 1px solid rgb(187, 187, 187);
208
+ position: absolute; top: 0; bottom: 0; right: 37px;
209
+ -moz-transition: all 0.15s ease-in 0s; -webkit-transition: all 0.15s ease-in 0s;
210
+ -o-transition: all 0.15s ease-in 0s; transition: all 0.15s ease-in 0s;
211
+ -webkit-border-radius: 4px;
212
+ -moz-border-radius: 4px;
213
+ border-radius: 4px;
214
+ }
215
+ .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
216
+ margin-left: 0;
217
+ }
218
+ .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
219
+ right: 0;
220
+ }
221
+
222
+ /* Design System and other basic styles */
223
+
224
+ .lc-design-system-typography * {
225
+ font-family: "Source Sans Pro",-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;
226
+ }
227
+
228
+ .lc-design-system-typography .material-icons {
229
+ font-family: "Material Icons";
230
+ }
231
+
232
+ .lc-design-system-typography p {
233
+ font-size: 15px;
234
+ line-height: 22px;
235
+ font-weight: 400;
236
+ color: #424D57;
237
+ }
238
+
239
+ .lc-design-system-typography h1 {
240
+ font-size: 32px;
241
+ line-height: 40px;
242
+ font-weight: 600;
243
+ color: #424D57;
244
+ }
245
+
246
+ .lc-design-system-typography h2 {
247
+ font-size: 24px;
248
+ line-height: 28px;
249
+ font-weight: 600;
250
+ color: #424D57;
251
+ }
252
+
253
+ .lc-design-system-typography h3 {
254
+ font-size: 20px;
255
+ line-height: 24px;
256
+ font-weight: 600;
257
+ color: #424D57;
258
+ }
259
+
260
+ .lc-design-system-typography h4 {
261
+ font-size: 16px;
262
+ line-height: 24px;
263
+ font-weight: 600;
264
+ color: #424D57;
265
+ }
266
+
267
+ .lc-design-system-typography p a {
268
+ color: #4384f5;
269
+ }
270
+
271
+ p.lc-meta-text {
272
+ font-size: 14px;
273
+ line-height: 20px;
274
+ font-weight: 400;
275
+ color: #8e949a;
276
+ }
277
+
278
+ .lc-btn:hover {
279
+ color: #424D57;
280
+ }
281
+
282
+ .lc-btn--primary:hover,
283
+ .lc-btn--primary:active,
284
+ .lc-btn--primary:focus,
285
+ .lc-btn--destructive:hover,
286
+ .lc-btn--destructive:active,
287
+ .lc-btn--destructive:focus {
288
+ color: #ffffff;
289
+ }
290
+
291
+ .lc-link-button {
292
+ text-decoration: none;
293
+ }
294
+
295
+ /* General Notices */
296
+
297
+ .lc-notice {
298
+ border-left-color: #4384F5;
299
+ padding: 5px 10px;
300
+ display: flex;
301
+ flex-flow: row nowrap;
302
+ align-items: center;
303
+ min-height: 80px;
304
+ }
305
+
306
+ .lc-notice-column {
307
+ min-width: 100px;
308
+ padding: 0 10px 0 5px;
309
+ }
310
+
311
+ .lc-notice-logo {
312
+ max-width: 100px;
313
+ margin-top: 15px;
314
+ }
315
+
316
+ .lc-btn .material-icons {
317
+ font-size: 1.25em;
318
+ margin-top: 2px;
319
+ }
320
+
321
+ /* Connect Notice */
322
+
323
+ #lc-connect-notice-header {
324
+ font-weight: bold;
325
+ }
326
+
327
+ #lc-connect-notice-button-column {
328
+ display: flex;
329
+ flex-grow: 1;
330
+ flex-flow: row nowrap;
331
+ justify-content: flex-end;
332
+ margin-right: 20px;
333
+ padding-right: 0;
334
+ }
335
+
336
+ @media screen and (max-width: 539px) {
337
+ .lc-notice {
338
+ flex-wrap: wrap;
339
+ }
340
+
341
+ .lc-notice-logo {
342
+ display: none;
343
+ }
344
+
345
+ #lc-connect-notice-button-column {
346
+ justify-content: flex-start;
347
+ }
348
+ }
349
+
350
+ /* Deactivation Feedback Form */
351
+
352
+ #lc-deactivation-feedback-modal-overlay {
353
+ opacity: 0;
354
+ will-change: opacity;
355
+ transition: opacity 1s;
356
+ }
357
+
358
+ #lc-deactivation-feedback-modal-overlay.lc-modal-base__overlay--visible {
359
+ display: flex !important;
360
+ opacity: 1;
361
+ transition: opacity 1s;
362
+ }
363
+
364
+ #lc-deactivation-feedback-modal-container .lc-modal-base__close {
365
+ top: 20px
366
+ }
367
+
368
+ #lc-deactivation-feedback-modal-container .lc-modal__header {
369
+ padding-bottom: 10px;
370
+ }
371
+
372
+ #lc-deactivation-feedback-form .lc-form-group {
373
+ margin: 0;
374
+ }
375
+
376
+ #lc-deactivation-feedback-modal-heading {
377
+ display: flex;
378
+ flex-flow: row nowrap;
379
+ align-content: center;
380
+ justify-content: flex-start;
381
+ }
382
+
383
+ #lc-deactivation-feedback-logo {
384
+ max-width: 80px;
385
+ height: auto;
386
+ float: left;
387
+ }
388
+
389
+ #lc-deactivation-feedback-modal-title {
390
+ margin: 2px 0 0 8px;
391
+ }
392
+
393
+ #lc-deactivation-feedback-other-field {
394
+ display: none;
395
+ margin-bottom: 0;
396
+ width: 100%;
397
+ }
398
+
399
+ #lc-deactivation-feedback-other-field .lc-textarea {
400
+ width: 100%;
401
+ resize: vertical;
402
+ min-height: 5em;
403
+ max-height: 10em;
404
+ }
405
+
406
+ .lc-field-error {
407
+ display: none;
408
+ }
409
+
410
+ #lc-deactivation-feedback-modal-skip-btn, #lc-deactivation-feedback-modal-submit-btn {
411
+ margin: 0 4px;
412
+ }
413
+
414
+ #lc-deactivation-feedback-modal-skip-btn {
415
+ border: none;
416
+ font-weight: 400;
417
+ }
plugin_files/css/livechat-review.css ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Review Notice */
2
+
3
+ #lc-review-notice-actions {
4
+ margin: 5px auto;
5
+ display: flex;
6
+ flex-flow: row nowrap;
7
+ justify-content: flex-start;
8
+ align-content: center;
9
+ }
10
+
11
+ .lc-review-notice-action {
12
+ text-decoration: none;
13
+ padding: 0 16px 0 8px;
14
+ margin: 5px;
15
+ }
16
+
17
+ .lc-review-notice-action:first-of-type {
18
+ margin-left: 0;
19
+ }
20
+
21
+ .lc-review-notice-action:last-of-type {
22
+ margin-right: 0;
23
+ }
24
+
25
+ .lc-review-notice-action span {
26
+ margin-left: 6px;
27
+ }
28
+
29
+ @media screen and (max-width: 635px) {
30
+ #lc-review-notice-actions {
31
+ flex-flow: column wrap;
32
+ align-content: flex-start;
33
+ align-items: baseline;
34
+ }
35
+
36
+ .lc-review-notice-action {
37
+ margin: 3px 0;
38
+ }
39
+ }
plugin_files/css/livechat.css DELETED
@@ -1,332 +0,0 @@
1
- div#wordpress-livechat-container {
2
- padding-top: 80px;
3
- font-family: Lato, sans-serif;
4
- font-size: 16px;
5
- height: 100%;
6
- width: 100%;
7
- position: absolute;
8
- }
9
-
10
- .updated.installed p::before {
11
- content: '';
12
- }
13
-
14
- .updated.installed {
15
- width: auto;
16
- position: absolute;
17
- top: 1em;
18
- left: 25%;
19
- transform: translateX(-55%);
20
- z-index: 100;
21
- }
22
-
23
- #installed-close {
24
- display: block;
25
- position: absolute;
26
- right: -5px;
27
- top: -5px;
28
- font-size: 10px;
29
- cursor: pointer;
30
- background: black;
31
- color: white;
32
- width: 12px;
33
- height: 12px;
34
- line-height: 10px;
35
- text-align: center;
36
- border-radius: 6px;
37
- z-index: 101;
38
- }
39
-
40
- div#wordpress-livechat-container img {
41
- max-width: 100%;
42
- }
43
- div#wordpress-livechat-container div.wordpress-livechat-column-left, div#wordpress-livechat-container div.wordpress-livechat-column-right {
44
- width: 50%;
45
- float: left;
46
- text-align: center;
47
- box-sizing: border-box;
48
- }
49
- div#wordpress-livechat-container div.wordpress-livechat-column-right p:first-of-type {
50
- margin-top: 65px;
51
- }
52
- div#wordpress-livechat-container div.wordpress-livechat-column-right p{
53
- text-align: center;
54
- font-size: 1em;
55
- }
56
- div#wordpress-livechat-container div.wordpress-livechat-column-right p img.livechat-app {
57
- width: 100%;
58
- }
59
- div#wordpress-livechat-container div.wordpress-livechat-column-right p.apps-link {
60
- margin-top: -40px;
61
- }
62
- div#wordpress-livechat-container .settings .login-with-livechat {
63
- display: none;
64
- }
65
- div#wordpress-livechat-container a:focus{
66
- color: inherit;
67
- -webkit-box-shadow: none;
68
- box-shadow: none;
69
- }
70
- div#wordpress-livechat-container form#licenseForm {
71
- display: none;
72
- }
73
- div#wordpress-livechat-container h2 {
74
- margin: 45px auto 20px;
75
- font-size: 20px;
76
- font-weight: 700;
77
- color: #3d3d3d;
78
- text-align: center;
79
- line-height: 1em;
80
- display: none;
81
- }
82
- div#wordpress-livechat-container .login-box-header {
83
- position: relative;
84
- width: 600px;
85
- max-width: 100%;
86
- margin: -30px auto 0;
87
- z-index: 1;
88
- }
89
- div#wordpress-livechat-container .account {
90
- margin-top: 60px;
91
- line-height: 1.5em!important;
92
- }
93
- div#wordpress-livechat-container a {
94
- color: #3d3d3d;
95
- text-decoration: none;
96
- outline: 0!important
97
- }
98
- div#wordpress-livechat-container a:hover {
99
- color: #4d7cb3;
100
- text-decoration: none
101
- }
102
- div#wordpress-livechat-container .a-important {
103
- color: #4d7cb3;
104
- }
105
- .webapp {
106
- margin-top: 3em;
107
- }
108
- .webapp a {
109
- color: #5a6976 !important;
110
- font-size: 16px;
111
- line-height: 1.5;
112
- font-family: "Lato", sans-serif;
113
- font-weight: 400;
114
- text-decoration: none;
115
- border: 1px solid #ddd;
116
- border-radius: 3px;
117
- padding: 8px 24px 9px;
118
- background: white;
119
- cursor: pointer;
120
- }
121
- .webapp a:hover {
122
- border-color: #888;
123
- color: #5a6976 !important;
124
- }
125
- .disconenct {
126
- margin-top: 4em;
127
- font-size: .75em;
128
- color: #999;
129
- }
130
- #resetAccount {
131
- text-decoration: underline !important;
132
- cursor: pointer;
133
- color: inherit !important;
134
- }
135
- div#wordpress-livechat-container .settings {
136
- width: 100%;
137
- margin: 40px auto 20px auto;
138
- }
139
- div#wordpress-livechat-container .settings div {
140
- margin: 5px 0;
141
- }
142
- div#wordpress-livechat-container .settings .title{
143
- width: 220px;
144
- margin: 0px 10px 10px 0px;
145
- display: inline-block;
146
- font-size: 16px;
147
- cursor: pointer;
148
- text-align: left;
149
- }
150
-
151
- div#wordpress-livechat-container .settings .title span{
152
- vertical-align: middle;
153
- }
154
- #wpfooter {
155
- display: none;
156
- }
157
- div#wordpress-livechat-container .onoffswitch {
158
- text-align: left;
159
- position: relative;
160
- width: 72px;
161
- -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
162
- display: inline-block;
163
- height: 26px;
164
- vertical-align: middle;
165
- }
166
- div#wordpress-livechat-container .onoffswitch-checkbox {
167
- display: none!important;
168
- }
169
- div#wordpress-livechat-container .onoffswitch-label {
170
- display: block; overflow: hidden; cursor: pointer;
171
- border: 1px solid #bbb;
172
- -webkit-border-radius: 4px;
173
- -moz-border-radius: 4px;
174
- border-radius: 4px;
175
- }
176
- div#wordpress-livechat-container .onoffswitch-inner {
177
- display: block; width: 200%; margin-left: -100%;
178
- -moz-transition: margin 0.15s ease-in 0s; -webkit-transition: margin 0.15s ease-in 0s;
179
- -o-transition: margin 0.15s ease-in 0s; transition: margin 0.15s ease-in 0s;
180
- }
181
- div#wordpress-livechat-container .onoffswitch-inner:before, div#wordpress-livechat-container .onoffswitch-inner:after {
182
- display: block; float: left; width: 50%; height: 24px; padding: 0; line-height: 24px;
183
- font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif;
184
- -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
185
- -webkit-border-radius: 3px;
186
- -moz-border-radius: 3px;
187
- border-radius: 3px;
188
- font-family: sans-serif;
189
- font-weight: 100;
190
- }
191
- div#wordpress-livechat-container .onoffswitch-inner:before {
192
- content: "ON";
193
- text-shadow: -1px -1px 0 #58b;
194
- padding-left: 8px;
195
- background: #6699cc;
196
- background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #6699cc), color-stop(1, #88bbee));
197
- background: -ms-linear-gradient(bottom, #6699cc, #88bbee);
198
- background: -moz-linear-gradient(center bottom, #6699cc 0%, #88bbee 100%);
199
- background: -o-linear-gradient(#88bbee, #6699cc);
200
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#88bbee', endColorstr='#6699cc', GradientType=0);
201
- -webkit-box-shadow: inset 0 0 5px #6699cc;
202
- -moz-box-shadow: inset 0 0 5px #6699cc;
203
- box-shadow: inset 0 0 5px #6699cc;
204
- text-shadow: rgb(85, 136, 187) -1px -1px 0px;
205
- }
206
- div#wordpress-livechat-container .onoffswitch-inner:after {
207
- content: "OFF";
208
- padding-right: 5px;
209
- background: #dddddd;
210
- background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dddddd), color-stop(1, #ffffff));
211
- background: -ms-linear-gradient(bottom, #dddddd, #ffffff);
212
- background: -moz-linear-gradient(center bottom, #dddddd 0%, #ffffff 100%);
213
- background: -o-linear-gradient(#ffffff, #dddddd);
214
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dddddd', GradientType=0);
215
- -webkit-box-shadow: inset 0 0 5px #dddddd;
216
- -moz-box-shadow: inset 0 0 5px #dddddd;
217
- box-shadow: inset 0 0 5px #dddddd;
218
- color: rgb(153, 153, 153);
219
- text-align: right;
220
- }
221
- div#wordpress-livechat-container .onoffswitch-switch {
222
- display: block; width: 33px; margin: 0px;
223
- background: #cccccc;
224
- background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #cccccc), color-stop(1, #f3f3f3));
225
- background: -ms-linear-gradient(bottom, #cccccc, #f3f3f3);
226
- background: -moz-linear-gradient(center bottom, #cccccc 0%, #f3f3f3 100%);
227
- background: -o-linear-gradient(#f3f3f3, #cccccc);
228
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3f3f3', endColorstr='#cccccc', GradientType=0);
229
- border: 1px solid #bbb;
230
- border-top-color: rgb(187, 187, 187);
231
- border-top-style: solid;
232
- border-top-width: 1px;
233
- border-right-color: rgb(187, 187, 187);
234
- border-right-style: solid;
235
- border-right-width: 1px;
236
- border-bottom-color: rgb(187, 187, 187);
237
- border-bottom-style: solid;
238
- border-bottom-width: 1px;
239
- border-left-color: rgb(187, 187, 187);
240
- border-left-style: solid;
241
- border-left-width: 1px;
242
- position: absolute; top: 0; bottom: 0; right: 37px;
243
- -moz-transition: all 0.15s ease-in 0s; -webkit-transition: all 0.15s ease-in 0s;
244
- -o-transition: all 0.15s ease-in 0s; transition: all 0.15s ease-in 0s;
245
- -webkit-border-radius: 4px;
246
- -moz-border-radius: 4px;
247
- border-radius: 4px;
248
- }
249
- div#wordpress-livechat-container .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
250
- margin-left: 0;
251
- }
252
- div#wordpress-livechat-container .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
253
- right: 0px;
254
- }
255
-
256
- /* Mobile */
257
-
258
- @media screen and (max-width: 585px) {
259
- div#wordpress-livechat-container {
260
- padding-top: 50px;
261
- }
262
-
263
- div#wordpress-livechat-container div.wordpress-livechat-column-left, div#wordpress-livechat-container div.wordpress-livechat-column-right {
264
- width: 100%;
265
- }
266
-
267
- .updated.installed {
268
- top: 5em;
269
- left: 1em;
270
- transform: none;
271
- }
272
-
273
- div#wordpress-livechat-container .settings .title {
274
- width: auto;
275
- display: block;
276
- text-align: center;
277
- margin: 1em auto .5em;
278
- }
279
- }
280
-
281
- /* Sign in with LiveChat */
282
-
283
- .login-with-livechat {
284
- position: relative;
285
- z-index: 2;
286
- margin-top: -50px;
287
- text-align: center;
288
- }
289
-
290
- iframe#login-with-livechat
291
- {
292
- width: 230px;
293
- height: 45px;
294
- border: none;
295
- }
296
-
297
- button#logout,
298
- #license-details
299
- {
300
- display: none;
301
- }
302
- button#logout
303
- {
304
- color: #5a6976;
305
- font-size: 16px;
306
- line-height: 1.5;
307
- font-family: "Lato", sans-serif;
308
- font-weight: 400;
309
- text-decoration: none;
310
- border: 1px solid #ddd;
311
- border-radius: 3px;
312
- padding: 8px 24px 9px;
313
- background: white;
314
- cursor: pointer;
315
- }
316
-
317
- button#logout:hover
318
- {
319
- border-color: #888;
320
- color: #5a6976;
321
- }
322
-
323
- .lc-or {
324
- text-align: center;;
325
- font-size: 1em;
326
- line-height: 2em;
327
- margin-top: -.5em;
328
- }
329
-
330
- .livechat-signup {
331
- font-size: 1.1em;
332
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
plugin_files/helpers/ConnectNoticeHelper.class.php CHANGED
@@ -4,16 +4,31 @@ require_once('LiveChatHelper.class.php');
4
 
5
  class ConnectNoticeHelper extends LiveChatHelper
6
  {
7
- public function render()
8
- {
9
- ?>
10
- <div class="notice notice-info" id="lc-connect-notice">
11
- <p>
12
- <?php _e('Please connect your LiveChat account to start chatting with your customers.', 'wp-live-chat-software-for-wordpress'); ?> <a href="admin.php?page=livechat_settings">
13
- <?php _e('Connect', 'wp-live-chat-software-for-wordpress'); ?> &rarr;
14
- </a>
15
- </p>
16
- </div>
17
- <?php
18
- }
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
  class ConnectNoticeHelper extends LiveChatHelper
6
  {
7
+ public function render()
8
+ {
9
+ ?>
10
+ <div class="lc-design-system-typography notice notice-info lc-notice" id="lc-connect-notice">
11
+ <div class="lc-notice-column">
12
+ <img class="lc-notice-logo" src="<?php echo plugins_url('wp-live-chat-software-for-wordpress').'/plugin_files/images/livechat-logo.svg'; ?>" alt="LiveChat logo" />
13
+ </div>
14
+ <div class="lc-notice-column">
15
+ <p id="lc-connect-notice-header">
16
+ <?php _e('Action required - connect LiveChat', 'wp-live-chat-software-for-wordpress') ?>
17
+ </p>
18
+ <p>
19
+ <?php _e('Please') ;?>
20
+ <a href="admin.php?page=livechat_settings"><?php _e('connect your LiveChat account'); ?></a>
21
+ <?php _e('to start chatting with your customers.', 'wp-live-chat-software-for-wordpress'); ?>
22
+ </p>
23
+ </div>
24
+ <div class="lc-notice-column" id="lc-connect-notice-button-column">
25
+ <p>
26
+ <button class="lc-btn lc-btn--primary" id="lc-connect-notice-button" type="button">
27
+ <?php _e('Connect', 'wp-live-chat-software-for-wordpress'); ?>
28
+ </button>
29
+ </p>
30
+ </div>
31
+ </div>
32
+ <?php
33
+ }
34
+ }
plugin_files/helpers/DeactivationFeedbackFormHelper.class.php ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once( 'LiveChatHelper.class.php' );
4
+
5
+ class DeactivationFeedbackFormHelper extends LiveChatHelper {
6
+ public function render() {
7
+
8
+ $wp_user = LiveChat::get_instance()->get_user_data();
9
+ $license_id = LiveChat::get_instance()->get_license_number();
10
+
11
+ ?>
12
+ <div class="lc-design-system-typography lc-modal-base__overlay" id="lc-deactivation-feedback-modal-overlay" style="display: none">
13
+ <div class="lc-modal-base" id="lc-deactivation-feedback-modal-container">
14
+ <button title="<?php _e('Cancel', 'wp-live-chat-software-for-wordpress') ?>" class="lc-modal-base__close">
15
+ <svg
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ width="24px"
18
+ height="24px"
19
+ viewBox="0 0 24 24"
20
+ fill="#424D57"
21
+ class="material material-close-icon undefined"
22
+ >
23
+ <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z" />
24
+ </svg>
25
+ </button>
26
+ <div class="lc-modal__header">
27
+ <div class="lc-modal__heading" id="lc-deactivation-feedback-modal-heading">
28
+ <img
29
+ id="lc-deactivation-feedback-logo"
30
+ alt="LiveChat logo"
31
+ src="<?php echo plugins_url('wp-live-chat-software-for-wordpress').'/plugin_files/images/livechat-logo.svg'; ?>"
32
+ />
33
+ <h2 id="lc-deactivation-feedback-modal-title">
34
+ <?php _e('Quick Feedback', 'wp-live-chat-software-for-wordpress') ?>
35
+ </h2>
36
+ </div>
37
+ </div>
38
+ <div class="lc-modal__body">
39
+ <form
40
+ action="#"
41
+ method="post"
42
+ id="lc-deactivation-feedback-form"
43
+ >
44
+ <div role="group" class="lc-form-group">
45
+ <div class="lc-form-group__header">
46
+ <div class="lc-form-group__label">
47
+ <?php _e('If you have a moment, please let us know why you are deactivating LiveChat:', 'wp-live-chat-software-for-wordpress') ?>
48
+ </div>
49
+ </div>
50
+ <div class="lc-field-group">
51
+ <div class="lc-radio">
52
+ <label class="lc-radio__label">
53
+ <div class="lc-radio__circle">
54
+ <span class="lc-radio__inner-circle"></span>
55
+ <input
56
+ type="radio"
57
+ class="lc-radio__input"
58
+ value="I no longer need the plugin."
59
+ name="lc-deactivation-feedback-option"
60
+ />
61
+ </div>
62
+ <div class="lc-radio__text">
63
+ <?php _e('I no longer need the plugin.', 'wp-live-chat-software-for-wordpress') ?>
64
+ </div>
65
+ </label>
66
+ </div>
67
+ <div class="lc-radio">
68
+ <label class="lc-radio__label">
69
+ <div class="lc-radio__circle">
70
+ <span class="lc-radio__inner-circle"></span>
71
+ <input
72
+ type="radio"
73
+ class="lc-radio__input"
74
+ value="I couldn't get the plugin to work."
75
+ name="lc-deactivation-feedback-option"
76
+ />
77
+ </div>
78
+ <div class="lc-radio__text">
79
+ <?php _e("I couldn't get the plugin to work.", 'wp-live-chat-software-for-wordpress') ?>
80
+ </div>
81
+ </label>
82
+ </div>
83
+ <div class="lc-radio">
84
+ <label class="lc-radio__label">
85
+ <div class="lc-radio__circle">
86
+ <span class="lc-radio__inner-circle"></span>
87
+ <input
88
+ type="radio"
89
+ class="lc-radio__input"
90
+ value="I found a better plugin."
91
+ name="lc-deactivation-feedback-option"
92
+ />
93
+ </div>
94
+ <div class="lc-radio__text">
95
+ <?php _e('I found a better plugin.', 'wp-live-chat-software-for-wordpress') ?>
96
+ </div>
97
+ </label>
98
+ </div>
99
+ <div class="lc-radio">
100
+ <label class="lc-radio__label">
101
+ <div class="lc-radio__circle">
102
+ <span class="lc-radio__inner-circle"></span>
103
+ <input
104
+ type="radio"
105
+ class="lc-radio__input"
106
+ value="It's a temporary deactivation."
107
+ name="lc-deactivation-feedback-option"
108
+ />
109
+ </div>
110
+ <div class="lc-radio__text">
111
+ <?php _e("It's a temporary deactivation.", 'wp-live-chat-software-for-wordpress') ?>
112
+ </div>
113
+ </label>
114
+ </div>
115
+ <div class="lc-radio">
116
+ <label class="lc-radio__label">
117
+ <div class="lc-radio__circle">
118
+ <span class="lc-radio__inner-circle"></span>
119
+ <input
120
+ type="radio"
121
+ class="lc-radio__input"
122
+ value="Other"
123
+ name="lc-deactivation-feedback-option"
124
+ id="lc-deactivation-feedback-option-other"
125
+ />
126
+ </div>
127
+ <div class="lc-radio__text">
128
+ <?php _e('Other', 'wp-live-chat-software-for-wordpress') ?>
129
+ </div>
130
+ </label>
131
+ </div>
132
+ <div class="lc-text-field" id="lc-deactivation-feedback-other-field">
133
+ <div>
134
+ <textarea
135
+ class="lc-textarea"
136
+ placeholder="<?php _e('Tell us more...', 'wp-live-chat-software-for-wordpress') ?>"
137
+ ></textarea>
138
+ </div>
139
+ </div>
140
+ <span class="lc-field-error" id="lc-deactivation-feedback-form-option-error">
141
+ <?php _e('Please choose one of available options.', 'wp-live-chat-software-for-wordpress') ?>
142
+ </span>
143
+ <span class="lc-field-error" id="lc-deactivation-feedback-form-other-error">
144
+ <?php _e('Please provide additional feedback.', 'wp-live-chat-software-for-wordpress') ?>
145
+ </span>
146
+ </div>
147
+ </div>
148
+ </form>
149
+ <script>
150
+ window.deactivationDetails = window.deactivationDetails || {};
151
+ window.deactivationDetails = {
152
+ license: <?php echo htmlspecialchars($license_id); ?>,
153
+ name: '<?php echo htmlspecialchars($wp_user['name']); ?>',
154
+ wpEmail: '<?php echo htmlspecialchars($wp_user['email']); ?>'
155
+ };
156
+ </script>
157
+ </div>
158
+ <div class="lc-modal__footer">
159
+ <button class="lc-btn" id="lc-deactivation-feedback-modal-skip-btn">
160
+ <?php _e('Skip & continue', 'wp-live-chat-software-for-wordpress') ?>
161
+ </button>
162
+ <button class="lc-btn lc-btn--primary" id="lc-deactivation-feedback-modal-submit-btn">
163
+ <?php _e('Send feedback', 'wp-live-chat-software-for-wordpress') ?>
164
+ </button>
165
+ </div>
166
+ </div>
167
+ </div>
168
+ <?php
169
+ }
170
+ }
plugin_files/helpers/InstallHelper.class.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once('LiveChatHelper.class.php');
4
+
5
+ class InstallHelper extends LiveChatHelper {
6
+ public function add_nonce() {
7
+ echo '&nonce=' . wp_create_nonce('livechat-security-check');
8
+ }
9
+
10
+ public function render() {
11
+ $user = LiveChat::get_instance()->get_user_data();
12
+ $url = get_site_url();
13
+
14
+ ?>
15
+ <div class="lc-design-system-typography lc-table">
16
+ <div class="lc-column">
17
+ <p id="lc-plus-wp">
18
+ <img src="<?php echo plugins_url('wp-live-chat-software-for-wordpress'); ?>/plugin_files/images/lc-plus-wp.png" srcset="<?php echo plugins_url('wp-live-chat-software-for-wordpress'); ?>/plugin_files/images/lc-plus-wp.png, <?php echo plugins_url('wp-live-chat-software-for-wordpress'); ?>/plugin_files/images/lc-plus-wp@2x.png 2x" alt="LiveChat for Wordpress">
19
+ </p>
20
+ <p>
21
+ <iframe id="login-with-livechat" src="https://addons.livechatinc.com/sign-in-with-livechat/wordpress/?designSystem=1&popupRoute=signup%2Fcredentials&a=wordpress&utm_source=wordpress.org&utm_medium=integration&utm_campaign=wordpress_plugin&email=<?php echo urlencode($user['email']); ?>&name=<?php echo urlencode($user['name']); ?>&url=<?php echo urlencode($url) ?>" > </iframe>
22
+ </p>
23
+ <form id="licenseForm" action="?page=livechat_settings&actionType=install<?php $this->add_nonce(); ?>" method="post">
24
+ <input type="hidden" name="licenseEmail" id="licenseEmail">
25
+ <input type="hidden" name="licenseNumber" id="licenseNumber">
26
+ </form>
27
+ </div>
28
+ <div class="lc-column">
29
+ <p>
30
+ <img src="<?php echo plugins_url('wp-live-chat-software-for-wordpress').'/plugin_files/images/lc-app.png'; ?>" alt="LiveChat apps" id="lc-app-img">
31
+ </p>
32
+ <p>
33
+ <?php _e('Check out our apps for', 'wp-live-chat-software-for-wordpress'); ?>
34
+ <a href="https://www.livechatinc.com/applications/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=wordpress_plugin" target="_blank">
35
+ <?php _e('desktop or mobile!', 'wp-live-chat-software-for-wordpress'); ?>
36
+ </a>
37
+ </p>
38
+ </div>
39
+ </div>
40
+ <?php
41
+ }
42
+ }
plugin_files/helpers/ReviewNoticeHelper.class.php CHANGED
@@ -4,30 +4,29 @@ require_once('LiveChatHelper.class.php');
4
 
5
  class ReviewNoticeHelper extends LiveChatHelper
6
  {
7
- public function render()
8
- {
9
- ?>
10
- <div class="notice notice-info is-dismissible" id="lc-review-notice">
11
- <p><?php _e('Do you like LiveChat? Leave us a review and join our LiveChat Knowledge Journey!', 'wp-live-chat-software-for-wordpress'); ?></p>
12
- <p><?php _e('We do our best to create the best live chat software available out there. Leave us a review, help us grow LiveChat and join our exclusive Knowledge Journey community. Learn how to:', 'wp-live-chat-software-for-wordpress'); ?></p>
13
- <ul style="list-style-type:disc;list-style-position:inside;margin:0;padding:3px;">
14
- <li><?php _e('Bring people to your website', 'wp-live-chat-software-for-wordpress'); ?></li>
15
- <li><?php _e('Be the hero of your customers\' needs', 'wp-live-chat-software-for-wordpress'); ?></li>
16
- <li><?php _e('Sell like a boss with LiveChat', 'wp-live-chat-software-for-wordpress'); ?></li>
17
- <li><?php _e('Succeed in customer success', 'wp-live-chat-software-for-wordpress'); ?></li>
18
- </ul>
19
- <p>
20
- <a href="https://wordpress.org/support/plugin/wp-live-chat-software-for-wordpress/reviews/#new-post" target="_blank" style="text-decoration: none" id="lc-review-now">
21
- <span class="dashicons dashicons-thumbs-up"></span> <?php _e('Leave a review and join LiveChat Knowledge Journey!', 'wp-live-chat-software-for-wordpress'); ?>
22
- </a> |
23
- <a href="#" style="text-decoration: none" id="lc-review-postpone">
24
- <span class="dashicons dashicons-clock"></span> <?php _e('Maybe later', 'wp-live-chat-software-for-wordpress'); ?>
25
- </a> |
26
- <a href="#" style="text-decoration: none" id="lc-review-dismiss">
27
- <span class="dashicons dashicons-no-alt"></span><?php _e('I don’t use this app anymore', 'wp-live-chat-software-for-wordpress'); ?>
28
- </a>
29
- </p>
30
- </div>
31
- <?php
32
- }
33
- }
4
 
5
  class ReviewNoticeHelper extends LiveChatHelper
6
  {
7
+ public function render()
8
+ {
9
+ ?>
10
+ <div class="lc-design-system-typography lc-notice notice notice-info is-dismissible" id="lc-review-notice">
11
+ <div class="lc-notice-column">
12
+ <img class="lc-notice-logo" src="<?php echo plugins_url('wp-live-chat-software-for-wordpress').'/plugin_files/images/livechat-logo.svg'; ?>" alt="LiveChat logo" />
13
+ </div>
14
+ <div class="lc-notice-column">
15
+ <p><?php _e('Hey, you’ve been using <strong>LiveChat</strong> for more than 14 days - that’s awesome! Could you please do us a BIG favour and <strong>give LiveChat a 5-star rating on WordPress</strong>? Just to help us spread the word and boost our motivation.', 'wp-live-chat-software-for-wordpress'); ?></p>
16
+ <p><?php _e('<strong>&ndash; The LiveChat Team</strong>'); ?></p>
17
+ <div id="lc-review-notice-actions">
18
+ <a href="https://wordpress.org/support/plugin/wp-live-chat-software-for-wordpress/reviews/#new-post" target="_blank" class="lc-review-notice-action lc-btn lc-btn--compact lc-btn--primary" id="lc-review-now">
19
+ <i class="material-icons">thumb_up</i> <span><?php _e('Ok, you deserve it', 'wp-live-chat-software-for-wordpress'); ?></span>
20
+ </a>
21
+ <a href="#" class="lc-review-notice-action lc-btn lc-btn--compact" id="lc-review-postpone">
22
+ <i class="material-icons">schedule</i> <span><?php _e('Maybe later', 'wp-live-chat-software-for-wordpress'); ?></span>
23
+ </a>
24
+ <a href="#" class="lc-review-notice-action lc-btn lc-btn--compact" id="lc-review-dismiss">
25
+ <i class="material-icons">not_interested</i> <span><?php _e('No, thanks', 'wp-live-chat-software-for-wordpress'); ?></span>
26
+ </a>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ <?php
31
+ }
32
+ }
 
plugin_files/helpers/SettingsHelper.class.php CHANGED
@@ -4,17 +4,16 @@ require_once('LiveChatHelper.class.php');
4
 
5
  class SettingsHelper extends LiveChatHelper
6
  {
7
- public function add_nonce() {
8
- echo '&nonce=' . wp_create_nonce('livechat-security-check');
9
- }
10
 
11
  public function render()
12
  {
13
 
14
  $license_email = LiveChat::get_instance()->get_login();
15
- $license_id = LiveChat::get_instance()->get_license_number();
16
  $settings = LiveChat::get_instance()->get_settings();
17
- $user = LiveChat::get_instance()->get_user_data();
18
 
19
  if (isset($_GET['actionType']) && $_GET['actionType'] === 'install') { ?>
20
  <div class="updated installed">
@@ -24,40 +23,24 @@ class SettingsHelper extends LiveChatHelper
24
  <span id="installed-close">x</span>
25
  </div>
26
  <?php } ?>
27
- <div id="wordpress-livechat-container">
28
- <?php if (!LiveChat::get_instance()->is_installed()) : ?>
29
- <div class="wordpress-livechat-column-left">
30
- <div class="login-box-header">
31
- <img src="<?php echo plugins_url('wp-live-chat-software-for-wordpress').'/plugin_files/images/livechat-wordpress@2x.png'; ?>" alt="LiveChat + Wordpress" class="logo">
32
- </div>
33
- <div id="useExistingAccount">
34
- <p class="login-with-livechat"><br>
35
- <iframe id="login-with-livechat" src="https://addons.livechatinc.com/sign-in-with-livechat/wordpress/?linkLabel=Connect+with+LiveChat&popupRoute=signup%2Fcredentials&a=wordpress&utm_source=wordpress.org&utm_medium=integration&utm_campaign=wordpress_plugin&email=<?php echo urlencode($user['email']); ?>&name=<?php echo urlencode($user['name']); ?>" > </iframe>
36
- </p>
37
- <form id="licenseForm" action="?page=livechat_settings&actionType=install<?php $this->add_nonce(); ?>" method="post">
38
- <input type="hidden" name="licenseEmail" id="licenseEmail">
39
- <input type="hidden" name="licenseNumber" id="licenseNumber">
40
- </form>
41
- </div>
42
- </div>
43
- <?php endif; ?>
44
-
45
- <?php if (LiveChat::get_instance()->is_installed()): ?>
46
- <div class="wordpress-livechat-column-left">
47
- <div class="account">
48
  <?php _e('Currently you are using your', 'wp-live-chat-software-for-wordpress'); ?><br>
49
  <strong><?php echo $license_email ?></strong><br>
50
  <?php _e('LiveChat account.', 'wp-live-chat-software-for-wordpress'); ?>
51
- </div>
52
- <p class="webapp">
53
  <a href="https://my.livechatinc.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=wordpress_plugin" target="_blank">
54
- <?php _e('Open web application', 'wp-live-chat-software-for-wordpress'); ?>
 
 
55
  </a>
56
  </p>
57
  <div class="settings">
58
- <p class="login-with-livechat"><br>
59
- <iframe id="login-with-livechat" src="https://addons.livechatinc.com/sign-in-with-livechat" > </iframe>
60
- </p>
61
  <div>
62
  <div class="title">
63
  <span><?php _e('Hide chat on mobile', 'wp-live-chat-software-for-wordpress'); ?></span>
@@ -83,28 +66,31 @@ class SettingsHelper extends LiveChatHelper
83
  </div>
84
  </div>
85
  </div>
86
- <p class="disconenct">
 
87
  <?php _e('Something went wrong?', 'wp-live-chat-software-for-wordpress'); ?> <a id="resetAccount" href="?page=livechat_settings&reset=1<?php $this->add_nonce(); ?>" style="display: inline-block">
88
  <?php _e('Disconect your account.', 'wp-live-chat-software-for-wordpress'); ?>
89
  </a>
90
  </p>
91
- <script>
92
- var lcDetails = {
93
- license: <?php echo htmlspecialchars($license_id); ?>,
94
- email: '<?php echo htmlspecialchars($license_email); ?>',
95
- nonce: '<?php $this->add_nonce(); ?>'
96
- }
97
- </script>
98
  </div>
99
- <?php endif; ?>
100
- <div class="wordpress-livechat-column-right">
101
- <p><img src="<?php echo plugins_url('wp-live-chat-software-for-wordpress').'/plugin_files/images/livechat-app.png'; ?>" alt="LiveChat apps" class="livechat-app"></p>
102
- <p class="apps-link">
103
- <?php _e('Check out our apps for', 'wp-live-chat-software-for-wordpress'); ?> <a href="https://www.livechatinc.com/applications/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=wordpress_plugin" target="_blank" class="a-important">
104
- <?php _e('desktop or mobile!', 'wp-live-chat-software-for-wordpress'); ?>
105
- </a>
106
- </p>
 
 
107
  </div>
 
 
 
 
 
 
 
108
  </div>
109
  <?php
110
  }
4
 
5
  class SettingsHelper extends LiveChatHelper
6
  {
7
+ public function add_nonce() {
8
+ echo '&nonce=' . wp_create_nonce('livechat-security-check');
9
+ }
10
 
11
  public function render()
12
  {
13
 
14
  $license_email = LiveChat::get_instance()->get_login();
15
+ $license_id = LiveChat::get_instance()->get_license_number();
16
  $settings = LiveChat::get_instance()->get_settings();
 
17
 
18
  if (isset($_GET['actionType']) && $_GET['actionType'] === 'install') { ?>
19
  <div class="updated installed">
23
  <span id="installed-close">x</span>
24
  </div>
25
  <?php } ?>
26
+ <div class="lc-design-system-typography lc-table">
27
+ <div class="lc-column">
28
+ <p id="lc-plus-wp">
29
+ <img src="<?php echo plugins_url('wp-live-chat-software-for-wordpress'); ?>/plugin_files/images/lc-plus-wp.png" srcset="<?php echo plugins_url('wp-live-chat-software-for-wordpress'); ?>/plugin_files/images/lc-plus-wp.png, <?php echo plugins_url('wp-live-chat-software-for-wordpress'); ?>/plugin_files/images/lc-plus-wp@2x.png 2x" alt="LiveChat for Wordpress">
30
+ </p>
31
+ <p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  <?php _e('Currently you are using your', 'wp-live-chat-software-for-wordpress'); ?><br>
33
  <strong><?php echo $license_email ?></strong><br>
34
  <?php _e('LiveChat account.', 'wp-live-chat-software-for-wordpress'); ?>
35
+ </p>
36
+ <p id="lc-webapp">
37
  <a href="https://my.livechatinc.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=wordpress_plugin" target="_blank">
38
+ <button class="lc-btn lc-btn--primary">
39
+ <?php _e('Open web application', 'wp-live-chat-software-for-wordpress'); ?>
40
+ </button>
41
  </a>
42
  </p>
43
  <div class="settings">
 
 
 
44
  <div>
45
  <div class="title">
46
  <span><?php _e('Hide chat on mobile', 'wp-live-chat-software-for-wordpress'); ?></span>
66
  </div>
67
  </div>
68
  </div>
69
+ <iframe id="login-with-livechat" src="https://addons.livechatinc.com/sign-in-with-livechat" style="display: none"></iframe>
70
+ <p class="lc-meta-text">
71
  <?php _e('Something went wrong?', 'wp-live-chat-software-for-wordpress'); ?> <a id="resetAccount" href="?page=livechat_settings&reset=1<?php $this->add_nonce(); ?>" style="display: inline-block">
72
  <?php _e('Disconect your account.', 'wp-live-chat-software-for-wordpress'); ?>
73
  </a>
74
  </p>
 
 
 
 
 
 
 
75
  </div>
76
+ <div class="lc-column">
77
+ <p>
78
+ <img src="<?php echo plugins_url('wp-live-chat-software-for-wordpress').'/plugin_files/images/lc-app.png'; ?>" alt="LiveChat apps" id="lc-app-img">
79
+ </p>
80
+ <p>
81
+ <?php _e('Check out our apps for', 'wp-live-chat-software-for-wordpress'); ?>
82
+ <a href="https://www.livechatinc.com/applications/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=wordpress_plugin" target="_blank">
83
+ <?php _e('desktop or mobile!', 'wp-live-chat-software-for-wordpress'); ?>
84
+ </a>
85
+ </p>
86
  </div>
87
+ <script>
88
+ var lcDetails = {
89
+ license: <?php echo htmlspecialchars($license_id); ?>,
90
+ email: '<?php echo htmlspecialchars($license_email); ?>',
91
+ nonce: '<?php $this->add_nonce(); ?>'
92
+ }
93
+ </script>
94
  </div>
95
  <?php
96
  }
plugin_files/images/lc-app.png ADDED
Binary file
plugin_files/images/lc-plus-wp.png ADDED
Binary file
plugin_files/images/lc-plus-wp@2x.png ADDED
Binary file
plugin_files/images/livechat-app.png DELETED
Binary file
plugin_files/images/livechat-logo.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 351.7 192.8"><title>Asset 4</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M76,192.8a5.78,5.78,0,0,1-3-.85,5.7,5.7,0,0,1-2.7-4.87l.08-34.72H32.7c-23.23,0-32.7-9.48-32.7-32.7v-87C0,9.47,9.47,0,32.7,0H320.9c25.76,0,30.8,12,30.8,32.7v87c0,23.22-9.47,32.7-32.7,32.7H158.35L78.57,192.2A5.69,5.69,0,0,1,76,192.8Z" style="fill:#fff"/><path d="M76,192.8a5.78,5.78,0,0,1-3-.85,5.7,5.7,0,0,1-2.7-4.87l.08-34.72H32.7c-23.23,0-32.7-9.48-32.7-32.7v-87C0,9.47,9.47,0,32.7,0H320.9c25.76,0,30.8,12,30.8,32.7v87c0,23.22-9.47,32.7-32.7,32.7H158.35L78.57,192.2A5.69,5.69,0,0,1,76,192.8ZM32.7,11.41c-16.91,0-21.29,4.38-21.29,21.29v87c0,16.91,4.38,21.29,21.29,21.29H76.12a5.72,5.72,0,0,1,5.71,5.72l-.08,31.19,72.7-36.31A5.79,5.79,0,0,1,157,141H319c16.91,0,21.29-4.38,21.29-21.29v-87c0-9.18-1.09-14.5-3.54-17.27-1.54-1.72-4.84-4-15.85-4Z" style="fill:#3a3a3a"/><g id="LiveChat"><path d="M57.86,97.43H36.56V44.64a39,39,0,0,0-6.24-.53,37.1,37.1,0,0,0-6.07.53v64H57.86a26.08,26.08,0,0,0,.35-2.89c0-.92.08-1.86.08-2.81s0-1.7-.08-2.62A26.08,26.08,0,0,0,57.86,97.43Zm-.42-30.09a23.57,23.57,0,0,0,.13,2.45A20,20,0,0,0,58,72.24h5.73v36.4a34.11,34.11,0,0,0,5.9.53,34.6,34.6,0,0,0,6-.53v-46H58A21.94,21.94,0,0,0,57.44,67.34Zm7.61-12.1c1.14.06,2.17.09,3.08.09s2,0,3.12-.09a24.31,24.31,0,0,0,3.12-.36,26,26,0,0,0,.35-3c0-1,.08-2,.08-2.93s0-2-.08-3a26.13,26.13,0,0,0-.35-3c-1-.17-2-.31-3.16-.4S69,42.42,68,42.42s-1.92,0-3,.13-2.16.23-3.12.4a36,36,0,0,0-.52,6,34.8,34.8,0,0,0,.52,6A24.14,24.14,0,0,0,65.05,55.24Zm53.68,6.94c-1.11-.06-2.1-.09-3-.09-1.09,0-2.17,0-3.25.13s-2.11.23-3.08.4L100,96.89,90.28,62.62a17.7,17.7,0,0,0-3.16-.44q-1.71-.09-3.42-.09c-.86,0-1.87,0-3,.09a24.62,24.62,0,0,0-3.81.53l16.51,45.84a16.68,16.68,0,0,0,3.08.45c1.09.06,2.06.08,2.91.08s1.8,0,3-.08a30.38,30.38,0,0,0,3.42-.36l16.76-45.93A26.45,26.45,0,0,0,118.73,62.18ZM161,74.86a19.72,19.72,0,0,0-3.81-7,18.17,18.17,0,0,0-6.11-4.63,19.08,19.08,0,0,0-8.22-1.69,21.13,21.13,0,0,0-9.28,1.91,19.36,19.36,0,0,0-6.67,5.21,22.34,22.34,0,0,0-4.06,7.74,32,32,0,0,0-1.37,9.52,32.77,32.77,0,0,0,1.32,9.53,20,20,0,0,0,4.11,7.52,18.83,18.83,0,0,0,7.18,4.94,28.33,28.33,0,0,0,10.57,1.78A40.17,40.17,0,0,0,159.74,107a22.63,22.63,0,0,0-.76-5.34,21.08,21.08,0,0,0-1.63-4.27,32.41,32.41,0,0,1-5.78,1.64,31.28,31.28,0,0,1-5.94.58,14,14,0,0,1-8.55-2.4q-3.26-2.41-3.6-7.75h28.4a25.11,25.11,0,0,0,.3-2.62c.09-1.1.13-2.21.13-3.34A28.78,28.78,0,0,0,161,74.86Zm-27.46,5.83a12,12,0,0,1,2.65-7q2.22-2.49,6.5-2.49a7.07,7.07,0,0,1,5.86,2.62,11.54,11.54,0,0,1,2.27,6.9Z" style="fill:#3a3a3a;fill-rule:evenodd"/></g><g id="LiveChat-2" data-name="LiveChat"><path d="M207.39,96.54A36.3,36.3,0,0,1,202,98.05a31.33,31.33,0,0,1-5.56.44q-17.7,0-17.71-21.71,0-10.95,4.41-16.51t12.62-5.57a29,29,0,0,1,5.47.45,37.67,37.67,0,0,1,5.31,1.51q1-2.58,1.88-5.12a20.5,20.5,0,0,0,1-5.2A32.35,32.35,0,0,0,202,44.11a50.61,50.61,0,0,0-7.57-.53A29.34,29.34,0,0,0,182,46.07,25.81,25.81,0,0,0,172.88,53a31.05,31.05,0,0,0-5.69,10.55,42.55,42.55,0,0,0-2,13.22A44.36,44.36,0,0,0,167.1,90a29.55,29.55,0,0,0,5.6,10.46,25.51,25.51,0,0,0,9.2,6.85,31,31,0,0,0,12.75,2.45,51,51,0,0,0,7.65-.54,38.78,38.78,0,0,0,8-2.22,38.87,38.87,0,0,0-1.07-5.3A35.79,35.79,0,0,0,207.39,96.54Zm31.22-35a14.2,14.2,0,0,0-4.7.71A13.58,13.58,0,0,0,228,66.14c-.66.74-1.19,1.38-1.59,1.91V43.58a26.66,26.66,0,0,0-3.08-.36c-1-.06-2-.09-3-.09s-2,0-3,.09a24.18,24.18,0,0,0-3,.36v65.15a27,27,0,0,0,3,.35c1,.06,2,.09,2.95.09s2,0,3-.09a26.63,26.63,0,0,0,3.08-.35V84.52a18.39,18.39,0,0,1,.82-6,9.74,9.74,0,0,1,2.05-3.61A6.17,6.17,0,0,1,232,73.13a10.59,10.59,0,0,1,3-.45,5.25,5.25,0,0,1,5,2.58,15.4,15.4,0,0,1,1.45,7.39v26.08a26.63,26.63,0,0,0,3.08.35c1,.06,2,.09,3,.09s2,0,3-.09a27.14,27.14,0,0,0,3.08-.35V79.27q0-9.17-3.81-13.44T238.61,61.56Zm35.85,0a44.45,44.45,0,0,0-14.54,2.58,17.11,17.11,0,0,0,.6,4.89,23.53,23.53,0,0,0,1.79,4.36,29.4,29.4,0,0,1,9.84-1.87,25.73,25.73,0,0,1,3.89.27,7.56,7.56,0,0,1,2.95,1,5.22,5.22,0,0,1,1.88,2.09,7.54,7.54,0,0,1,.69,3.47v1.07c-2-.18-3.83-.27-5.48-.27a31.24,31.24,0,0,0-6.84.76,19.4,19.4,0,0,0-6.2,2.49,13.78,13.78,0,0,0-4.54,4.63,13.54,13.54,0,0,0-1.75,7.16,16.58,16.58,0,0,0,1.41,7.21,12.45,12.45,0,0,0,4,4.81,17,17,0,0,0,6.25,2.67,37.42,37.42,0,0,0,8,.8,47.89,47.89,0,0,0,9.67-.89,69.2,69.2,0,0,0,7.27-1.87V80.25q0-9.8-5-14.24T274.46,61.56Zm7.1,37.73c-.63.12-1.37.26-2.23.4a14.77,14.77,0,0,1-2.56.23c-.74,0-1.61,0-2.61-.14a8.86,8.86,0,0,1-2.82-.71,5.59,5.59,0,0,1-2.27-1.82,5.8,5.8,0,0,1-.94-3.56,5.51,5.51,0,0,1,2.44-5,12.17,12.17,0,0,1,6.62-1.56c.63,0,1.34.05,2.14.13s1.54.2,2.23.32ZM324.24,102a18.64,18.64,0,0,0-.85-3.52c-.63.12-1.36.26-2.18.4a14.17,14.17,0,0,1-2.53.23,9.86,9.86,0,0,1-2.82-.36,4.08,4.08,0,0,1-2-1.33,6.75,6.75,0,0,1-1.24-2.68,18.4,18.4,0,0,1-.43-4.44V72.24h10.35c.17-.95.28-1.81.34-2.58s.09-1.58.09-2.41,0-1.51-.09-2.22a23.12,23.12,0,0,0-.34-2.41H312.18V49.18h-2l-16,21.28.43,1.78h5.55V93.06c0,5.7,1.38,9.81,4.11,12.33s6.7,3.78,11.89,3.78a33.27,33.27,0,0,0,8.13-1c.05-.41.1-.84.12-1.29s.05-1,.05-1.64A22.38,22.38,0,0,0,324.24,102Z" style="fill:#d46d39;fill-rule:evenodd"/></g></g></g></svg>
plugin_files/images/livechat-wordpress@2x.png DELETED
Binary file
plugin_files/js/livechat.js CHANGED
@@ -1,151 +1,271 @@
1
- (function($)
2
- {
3
- var LiveChat =
4
- {
5
- init: function()
6
- {
7
- this.signInWithLiveChat();
8
- this.bindDisconnect();
9
- this.hideInstalledNotification();
10
- this.settingsForm();
11
- },
12
-
13
- bindEvent: function(element, eventName, eventHandler) {
14
- if (element.addEventListener){
15
- element.addEventListener(eventName, eventHandler, false);
16
- } else if (element.attachEvent) {
17
- element.attachEvent('on' + eventName, eventHandler);
18
- }
19
- },
20
-
21
- signInWithLiveChat: function () {
22
- var logoutButton = document.getElementById('resetAccount'),
23
- iframeEl = document.getElementById('login-with-livechat');
24
-
25
- LiveChat.bindEvent(window, 'message', function (e) {
26
- if(e.data.startsWith('{')) {
27
- var lcDetails = JSON.parse(e.data);
28
- switch (lcDetails.type) {
29
- case 'logged-in':
30
- var licenseForm = $('div#wordpress-livechat-container div#useExistingAccount form#licenseForm');
31
- if(licenseForm.length) {
32
- licenseForm.find('input#licenseEmail').val(lcDetails.email);
33
- licenseForm.find('input#licenseNumber').val(lcDetails.license);
34
- LiveChat.sendEvent(
35
- 'Integrations: User authorized the app',
36
- lcDetails.license,
37
- lcDetails.email,
38
- function () {
39
- licenseForm.submit();
40
- }
41
- );
42
- }
43
- break;
44
- case 'signed-out':
45
- $('#login-with-livechat').css('display', 'block');
46
- $('#logout').css('display', 'none');
47
- break;
48
- }
49
- }
50
- });
51
-
52
- if(logoutButton) {
53
- LiveChat.bindEvent(logoutButton, 'click', function (e) {
54
- sendMessage('logout');
55
- });
56
- }
57
-
58
- var sendMessage = function(msg) {
59
- iframeEl.contentWindow.postMessage(msg, '*');
60
- };
61
- },
62
-
63
- bindDisconnect: function() {
64
- $('#resetAccount').click(function (e) {
65
- e.preventDefault();
66
- LiveChat.sendEvent(
67
- 'Integrations: User unauthorized the app',
68
- lcDetails.license,
69
- lcDetails.email,
70
- function () {
71
- location.href = $('#resetAccount').attr('href');
72
- }
73
- );
74
- });
75
- },
76
-
77
- sendEvent: function(eventName, license, email, callback) {
78
- var amplitudeURL = 'https://queue.livechatinc.com/app_event/';
79
- var data = {
80
- "e" : JSON.stringify(
81
- [{
82
- "event_type": eventName,
83
- "user_id": email,
84
- "user_properties": {
85
- "license": license
86
- },
87
- "product_name": "livechat",
88
- "event_properties": {
89
- "integration name": "wp-live-chat-software-for-wordpress"
90
- }
91
- }]
92
- )
93
- };
94
- $.ajax({
95
- url: amplitudeURL,
96
- type: 'GET',
97
- crossOrigin: true,
98
- data: data
99
- }).always(function () {
100
- if(callback) callback();
101
- });
102
- },
103
-
104
- hideInstalledNotification: function () {
105
- var notificationElement = $('.updated.installed');
106
- $('#installed-close').click(function () {
107
- notificationElement.slideUp();
108
- });
109
- setTimeout(function () {
110
- notificationElement.slideUp();
111
- }, 3000);
112
- },
113
-
114
- setSettings: function(settings) {
115
- $.ajax({
116
- url: '?page=livechat_settings' + lcDetails.nonce,
117
- type: "POST",
118
- data: settings,
119
- dataType: 'json',
120
- cache: false,
121
- async: false,
122
- error: function () {
123
- alert('Something went wrong. Please try again or contact our support team.');
124
- }
125
- });
126
- },
127
- settingsForm: function() {
128
- $('.settings .title').click(function() {
129
- $(this).next('.onoffswitch').children('label').click();
130
- });
131
- $('.onoffswitch-checkbox').change(function() {
132
- var settings = {};
133
- $('.onoffswitch-checkbox').each(function(){
134
- var paramName = $(this).attr('id');
135
- if ($(this).is(':checked')) {
136
- settings[paramName] = 1;
137
- } else {
138
- settings[paramName]= 0;
139
- }
140
- });
141
-
142
- LiveChat.setSettings(settings);
143
- });
144
- }
145
- };
146
-
147
- $(document).ready(function()
148
- {
149
- LiveChat.init();
150
- });
151
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($)
2
+ {
3
+ var LiveChat =
4
+ {
5
+ slug: 'wp-live-chat-software-for-wordpress',
6
+ buttonLoaderHtml:
7
+ '<div class="lc-loader-wrapper lc-btn__loader"><div class="lc-loader-spinner-wrapper lc-loader-spinner-wrapper--small"><div class="lc-loader-spinner lc-loader-spinner--thin" /></div></div>',
8
+ init: function()
9
+ {
10
+ this.signInWithLiveChat();
11
+ this.bindDisconnect();
12
+ this.hideInstalledNotification();
13
+ this.settingsForm();
14
+ this.connectNoticeButtonHandler();
15
+ this.deactivationModalOpenHandler();
16
+ this.deactivationModalCloseHandler();
17
+ this.deactivationFormOptionSelectHandler();
18
+ this.deactivationFormSkipHandler();
19
+ this.deactivationFormSubmitHandler();
20
+ },
21
+ sanitize: function (str) {
22
+ var tmpDiv = document.createElement('div');
23
+ tmpDiv.textContent = str;
24
+ return tmpDiv.innerHTML;
25
+ },
26
+ bindEvent: function(element, eventName, eventHandler) {
27
+ if (element.addEventListener){
28
+ element.addEventListener(eventName, eventHandler, false);
29
+ } else if (element.attachEvent) {
30
+ element.attachEvent('on' + eventName, eventHandler);
31
+ }
32
+ },
33
+ signInWithLiveChat: function () {
34
+ var logoutButton = document.getElementById('resetAccount'),
35
+ iframeEl = document.getElementById('login-with-livechat');
36
+
37
+ LiveChat.bindEvent(window, 'message', function (e) {
38
+ if (e.origin !== 'https://addons.livechatinc.com') {
39
+ return false;
40
+ }
41
+
42
+ try {
43
+ var lcDetails = JSON.parse(e.data);
44
+ if (lcDetails.type === 'logged-in') {
45
+ var licenseForm = $('form#licenseForm');
46
+ if(licenseForm.length) {
47
+ licenseForm.find('input#licenseEmail').val(lcDetails.email);
48
+ licenseForm.find('input#licenseNumber').val(lcDetails.license);
49
+ LiveChat.sendEvent(
50
+ 'Integrations: User authorized the app',
51
+ lcDetails.license,
52
+ lcDetails.email,
53
+ function () {
54
+ licenseForm.submit();
55
+ }
56
+ );
57
+ }
58
+ }
59
+ } catch (e) {
60
+ console.warn(e);
61
+ }
62
+ });
63
+
64
+ if(logoutButton) {
65
+ LiveChat.bindEvent(logoutButton, 'click', function (e) {
66
+ sendMessage('logout');
67
+ });
68
+ }
69
+
70
+ var sendMessage = function(msg) {
71
+ iframeEl.contentWindow.postMessage(msg, '*');
72
+ };
73
+ },
74
+ bindDisconnect: function() {
75
+ $('#resetAccount').click(function (e) {
76
+ e.preventDefault();
77
+ LiveChat.sendEvent(
78
+ 'Integrations: User unauthorized the app',
79
+ lcDetails.license,
80
+ lcDetails.email,
81
+ function () {
82
+ location.href = $('#resetAccount').attr('href');
83
+ }
84
+ );
85
+ });
86
+ },
87
+ sendEvent: function(eventName, license, email, callback) {
88
+ var amplitudeURL = 'https://queue.livechatinc.com/app_event/';
89
+ var data = {
90
+ "e" : JSON.stringify(
91
+ [{
92
+ "event_type": eventName,
93
+ "user_id": email,
94
+ "user_properties": {
95
+ "license": license
96
+ },
97
+ "product_name": "livechat",
98
+ "event_properties": {
99
+ "integration name": this.slug
100
+ }
101
+ }]
102
+ )
103
+ };
104
+ $.ajax({
105
+ url: amplitudeURL,
106
+ type: 'GET',
107
+ crossOrigin: true,
108
+ data: data
109
+ }).always(function () {
110
+ if(callback) callback();
111
+ });
112
+ },
113
+ hideInstalledNotification: function () {
114
+ var notificationElement = $('.updated.installed');
115
+ $('#installed-close').click(function () {
116
+ notificationElement.slideUp();
117
+ });
118
+ setTimeout(function () {
119
+ notificationElement.slideUp();
120
+ }, 3000);
121
+ },
122
+ setSettings: function(settings) {
123
+ $.ajax({
124
+ url: '?page=livechat_settings' + lcDetails.nonce,
125
+ type: 'POST',
126
+ data: settings,
127
+ dataType: 'json',
128
+ cache: false,
129
+ async: false,
130
+ error: function () {
131
+ alert('Something went wrong. Please try again or contact our support team.');
132
+ }
133
+ });
134
+ },
135
+ settingsForm: function() {
136
+ $('.settings .title').click(function() {
137
+ $(this).next('.onoffswitch').children('label').click();
138
+ });
139
+ $('.onoffswitch-checkbox').change(function() {
140
+ var settings = {};
141
+ $('.onoffswitch-checkbox').each(function(){
142
+ var paramName = $(this).attr('id');
143
+ settings[paramName] = $(this).is(':checked') ? 1 : 0;
144
+ });
145
+
146
+ LiveChat.setSettings(settings);
147
+ });
148
+ },
149
+ connectNoticeButtonHandler: function () {
150
+ $('#lc-connect-notice-button').click(function () {
151
+ window.location.replace('admin.php?page=livechat_settings');
152
+ })
153
+ },
154
+ deactivationFormHelpers: {
155
+ hideErrors: function () {
156
+ $('.lc-field-error').hide();
157
+ },
158
+ toggleModal: function () {
159
+ $('#lc-deactivation-feedback-modal-overlay').toggleClass('lc-modal-base__overlay--visible');
160
+ },
161
+ showError: function (errorType) {
162
+ $('#lc-deactivation-feedback-form-' + errorType + '-error').show();
163
+ }
164
+ },
165
+ deactivationModalOpenHandler: function() {
166
+ var that = this;
167
+ $('table.plugins tr[data-slug=' + that.slug + '] span.deactivate a').click(function (e) {
168
+ if ($('#lc-deactivation-feedback-modal-container').length < 1) {
169
+ return;
170
+ }
171
+ e.preventDefault();
172
+ that.deactivationFormHelpers.toggleModal();
173
+ })
174
+ },
175
+ deactivationModalCloseHandler: function() {
176
+ var that = this;
177
+ var modalOverlay = $('#lc-deactivation-feedback-modal-overlay');
178
+ modalOverlay.click(function (e) {
179
+ if (
180
+ modalOverlay.hasClass('lc-modal-base__overlay--visible') &&
181
+ (
182
+ !$(e.target).closest('#lc-deactivation-feedback-modal-container').length ||
183
+ $(e.target).closest('.lc-modal-base__close').length
184
+ )
185
+ ) {
186
+ that.deactivationFormHelpers.toggleModal();
187
+ }
188
+ });
189
+ },
190
+ deactivationFormOptionSelectHandler: function () {
191
+ var that = this;
192
+ $('.lc-radio').click(function () {
193
+ that.deactivationFormHelpers.hideErrors();
194
+ var otherTextField = $('#lc-deactivation-feedback-other-field');
195
+ $('.lc-radio').removeClass('lc-radio--selected');
196
+ $(this).addClass('lc-radio--selected');
197
+ if ($(this).find('#lc-deactivation-feedback-option-other').length > 0) {
198
+ otherTextField.show();
199
+ otherTextField.find('textarea').focus();
200
+ } else {
201
+ otherTextField.hide();
202
+ }
203
+ })
204
+ },
205
+ sendFeedback: function(response, comment) {
206
+ var that = this;
207
+ response = response ? this.sanitize(response) : 'skipped';
208
+ comment = comment ? this.sanitize(comment) : '';
209
+ $.ajax({
210
+ method: 'POST',
211
+ url: 'https://script.google.com/macros/s/AKfycbxqXkuWGYrjhWBQ1pfkJuaQ8o3d2uOrGdNiQdYGIBODL5OvOsI/exec',
212
+ data: $.param({
213
+ plugin: that.slug,
214
+ url: window.location.href.replace(/(.*)wp-admin.*/, '$1'),
215
+ license: window.deactivationDetails.license,
216
+ name: window.deactivationDetails.name,
217
+ wpEmail: window.deactivationDetails.wpEmail,
218
+ response,
219
+ comment
220
+ }),
221
+ dataType: 'jsonp',
222
+ complete: function () {
223
+ window.location.replace(
224
+ $('table.plugins tr[data-slug=' + that.slug + '] span.deactivate a').attr('href')
225
+ );
226
+ }
227
+ });
228
+ },
229
+ deactivationFormSkipHandler: function() {
230
+ var that = this;
231
+ $('#lc-deactivation-feedback-modal-skip-btn').click(function () {
232
+ $(this).addClass('lc-btn--loading lc-btn--disabled').html(
233
+ $(this).html() + that.buttonLoaderHtml
234
+ );
235
+ $('#lc-deactivation-feedback-modal-submit-btn')
236
+ .attr('disabled', true)
237
+ .addClass('lc-btn--disabled');
238
+ that.sendFeedback();
239
+ });
240
+ },
241
+ deactivationFormSubmitHandler: function () {
242
+ var that = this;
243
+ $('#lc-deactivation-feedback-modal-submit-btn').click(function (e) {
244
+ e.preventDefault();
245
+ that.deactivationFormHelpers.hideErrors();
246
+ var response = $('.lc-radio.lc-radio--selected .lc-radio__input').val();
247
+ if (!response) {
248
+ that.deactivationFormHelpers.showError('option');
249
+ return;
250
+ }
251
+ var comment = $('#lc-deactivation-feedback-other-field .lc-textarea').val();
252
+ if (response.toLowerCase() === 'other' && !comment) {
253
+ that.deactivationFormHelpers.showError('other');
254
+ return;
255
+ }
256
+ $(this).addClass('lc-btn--loading lc-btn--disabled').html(
257
+ $(this).html() + that.buttonLoaderHtml
258
+ );
259
+ $('#lc-deactivation-feedback-modal-skip-btn')
260
+ .attr('disabled', true)
261
+ .addClass('lc-btn--disabled');
262
+ that.sendFeedback(response, comment);
263
+ })
264
+ }
265
+ };
266
+
267
+ $(document).ready(function()
268
+ {
269
+ LiveChat.init();
270
+ });
271
+ })(jQuery);
readme.txt CHANGED
@@ -1,519 +1,390 @@
1
- === LiveChat - WP live chat plugin for WordPress ===
2
- Contributors: LiveChat
3
- Tags: chat plugin, live chat, live chat plugin, wordpress live chat, wordpress chat, wordpress live chat plugin, wordpress chat plugin, live chat software, live support, help desk, help desk software, online ticketing system, ticketing system, online support, ecommerce chat, chat online, chat software, sales, customer help, customer support, livechat, customer service software, chat, customer service chat, live chat button, live chat support, live chat tool, live chat widget, live support button, live chat solution, online live chat, online chat, wp chat, wp live chat, livechat inc, livechatinc, live chat inc, wp livechat support, smartsupp, smart supp, tidio, jivochat, formilla, tawk, tawkto, tawk.to, facebook, facebook messenger, messenger, facebook live chat, facebook chat, crisp, pure chat, purechat, zendesk, zendesk chat, liveagent, olark, happyfox, reve chat, chatra, provide support, comm100, kayako, zoho, zoho salesiq, userlike, userengage, drift, livehelpnow, live help now, intercom, freshdesk, zendesk, clickdesk, liveperson, live person, bold360, websitealive, website alive, velaro, hubspot, salesforce, zapier, zopim, mailchimp, analytics, google analytics, im chat, slack, casengo, tagove, wisechat, wise chat, mylivechat, my live chat, livezilla, chatrify
4
- Stable tag: 3.7.6
5
- Requires PHP: 5.6
6
- Tested up to: 5.2
7
- Requires at least: 3.4
8
- License: GPLv2 or later
9
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
-
11
- Live chat and help desk software plugin for WordPress. Add LiveChat (live chat and help desk software) to your WordPress.
12
-
13
- == Description ==
14
-
15
- = WordPress Chat Plugin =
16
-
17
- LiveChat – WP live chat plugin for WordPress is a WordPress chat plugin you can use to quickly and easily **add live chat support to your WordPress website**. It allows for instant communication with on-site visitors and customers and enables prompt resolution to their questions or concerns.
18
-
19
- With a fully functional WordPress chat plugin, not only **you can increase your sales** - as it’s the quickest way to remove buyer objections – but it also allows you to **build stronger customer relationships**.
20
-
21
- https://www.youtube.com/watch?v=dKUdE-JKhZI
22
-
23
- = Feature-Rich WordPress Live Chat Plugin =
24
-
25
- LiveChat live chat app comes with a comprehensive set of features, including proactive chat invitations – so chat operators can automatically send personalized messages to appear based on specified conditions, such as the number of visited pages or time spent on the website.
26
-
27
- Plus, **it makes customer service more efficient** by letting you hold multiple live chat sessions at the same time, send canned responses to frequently asked questions, add chat tags, review chat transcripts and send files to customers through the live chat window.
28
-
29
- In addition to live chat support, LiveChat also offers a built-in ticketing system to **provide 24/7 customer service to customers**. Whenever there are no chat operators available, the chat box widget is replaced by a ticket form so that customers can still contact you with their questions. You can also use tickets for managing and tracking customer cases that couldn't be resolved in a single live chat session.
30
-
31
- = Live Chat for WordPress website =
32
-
33
- One of the key things about LiveChat - WP live chat plugin for WordPress is that it is designed to work with any WordPress Site Builder - Elementor Page Builder, Page Builder by SiteOrigin, WordPress Page Builder – Beaver Builder, to name a few.
34
-
35
- In addition, this WordPress plugin works well with any WordPress theme or WordPress template you may use without requiring any modifications.
36
-
37
- Want to communicate with shoppers while they’re browsing your store, built on WordPress? LiveChat has partnered with all the major e-commerce platforms, including BigCommerce for WordPress, WooCommerce, and Ecwid Ecommerce Shopping Cart.
38
-
39
- = Easy to Customize and Extend =
40
-
41
- From email marketing to social, **LiveChat integrates seamlessly with a range of popular third party apps and services**. These include help desk software Zendesk, Freshdesk, customer relationship management apps (CRM) HubSpot CRM, Salesforce, email marketing services Constant Contact, Mailchimp and social media platforms Facebook or Twitter.
42
-
43
- == Live chat benefits ==
44
-
45
- - **An instant connection to help** - from overnight shipping to instant access to your product or service, customers want help instantly. Out of all the customer support channels available — offline or online — live chat support is by far the quickest and simplest.
46
-
47
- - **An easy and convenient way to support customers** - with this WordPress support chat, customers have a direct and free option to ask for help. They can use it with minimal disruption to their day, which turns out to be very convenient.
48
-
49
- - **Increase sales and conversions** - using live chat and WordPress together, enables customers to ask questions about the product they want to buy and you can answer them in real-time, which simplifies the buying process.
50
-
51
- - **Improve average order value and overall sales through live chat** - using live chat online to communicate with the customer helps to understand their needs. You can use that knowledge to recommend similar products and services to increase the average order value.
52
-
53
- - **Competitive advantage** - just by offering WordPress live chat support – users are one step ahead of the companies that do not. Competitive advantage can be obtained by managing products more effectively, and having good relationships with customers.
54
-
55
- == What is live chat for WordPress? ==
56
-
57
- If you run a website, and you are serious about your business then using live chat is no brainer. Live chat plugin for WordPress adds a live chat widget to the bottom of your website that allows visitors to chat to you in real time. Live chat software is perfect for businesses of all sizes, enabling them to close more sales and improve customer satisfaction scores.
58
-
59
- https://www.youtube.com/watch?v=kZVYwNcuj38
60
-
61
- = Usage =
62
-
63
- With the LiveChat online chat plugin for WordPress, you can add a live chat box to every page of your website, including the checkout in no time. To answer chats, chat operators have to be logged into one of our chat apps - [LiveChat for web browser](https://www.livechatinc.com/applications/livechat-web-app/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [LiveChat for macOS](https://www.livechatinc.com/applications/livechat-for-mac/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) or [LiveChat for Windows](https://www.livechatinc.com/applications/livechat-for-windows/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration). There are also applications for mobile devices - [iPhone](https://www.livechatinc.com/applications/livechat-for-iphone/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [iPad](https://www.livechatinc.com/applications/livechat-for-ipad/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) and [Android](https://www.livechatinc.com/applications/livechat-for-android/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
64
-
65
- = Requirements =
66
-
67
- While LiveChat chat plugin for WordPress is free, you need a subscription of LiveChat to use it. For an overview of available plans and their cost navigate to [LiveChat pricing](https://www.livechatinc.com/pricing).
68
-
69
- When you first sign up for LiveChat, you'll automatically be placed on a free 14-day, free trial (no credit card required). Your trial account will give you access to all the features of the Team plan, such as unlimited chats, chat triggers, ticketing system, visitors monitoring and full widget customization. After 14 days, the trial will end, and you will be able to subscribe to one of four pricing plans.
70
-
71
- [Sign up for our LiveChat](https://www.livechatinc.com/signup/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)
72
-
73
- = Localization =
74
-
75
- LiveChat – WP live chat plugin for WordPress is a fully translation-ready plugin, meaning you can translate the entire plugin into any language on [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/wp-live-chat-software-for-wordpress/).
76
-
77
- == Live Chat Features ==
78
-
79
- - **Visitor tracking** - gather customer data - our live chat widget keeps track of the location of your customers and shows what page they are on, where are they from and more.
80
-
81
- - **Live chat triggers** - these allow you to initiate conversations when certain criteria are met; automatically live chat with your visitors once they land on your website.
82
-
83
- - **Feedback**: add surveys to the live chat window; gather customer information and insights at the beginning and end of each chat.
84
-
85
- - **Reports and Analytics** - spot areas which can be optimized and more efficient with built-in live chat and tickets metrics. Reports are also available through API. Gathered data are exportable in CSV format.
86
-
87
- - **Ticket form** - when you go offline, our live chat plugin for WordPress enables communication with clients by storing their messages as tickets. When you come back online, you can answer these questions.
88
-
89
- - **Live chat transcripts** - browse through comments reflecting customers needs and expectations; live chat transcripts are saved without expiration date so you can access them anytime.
90
-
91
- - **Multi-channel communications** - reach out to your customers regardless of the channel they are using live chat, Facebook Pages, Facebook Messenger, Twitter and email.
92
-
93
- - **Customizable live chat widget** - each part of the live chat box can be customized to make it work with the rest of your website’s design; brand your with your logo and include social media channels.
94
-
95
- - **Canned responses** - send pre-made answers to popular questions that can be recalled with just a few keystrokes.
96
-
97
- - **Mobile live chat applications** - mobile apps for iOS and Android will help you chat with customers wherever you are.
98
-
99
- https://www.youtube.com/watch?v=w-tO_H5qCTk
100
-
101
- With this chat plugin, there are many other features that can help you **close more sales** and **satisfy more customers**; you can see all of them [here](https://www.livechatinc.com/features/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
102
-
103
- == Multilingual live chat plugin ==
104
-
105
- Adjusting language of your chat window to the language your page is a very important step of the customization.
106
- Because of that, LiveChat has been translated into 45 languages; below is the list of supported languages:
107
-
108
- * Arabic / العَرَبِيَّة live chat plugin
109
- * Armenian / Հայերեն live chat plugin
110
- * Azeri / Azərbaycan live chat plugin
111
- * Bulgarian / български live chat plugin
112
- * Catalan / Català live chat plugin
113
- * Simplified Chinese / 简体中文 live chat plugin
114
- * Traditional Chinese / 繁體中文 live chat plugin
115
- * Croatian / Hrvatski live chat plugin
116
- * Czech / Česky live chat plugin
117
- * Danish / Dansk live chat plugin
118
- * Dutch / Nederlands live chat plugin
119
- * English live chat plugin
120
- * Estonian / Eesti live chat plugin
121
- * Finnish / Suomi live chat plugin
122
- * French / Français live chat plugin
123
- * Georgian / ქართული live chat plugin
124
- * German / Deutsch live chat plugin
125
- * Greek / Ελληνικά live chat plugin
126
- * Hebrew / עברית live chat plugin
127
- * Hungarian / Magyar live chat plugin
128
- * Icelandic / Íslenska live chat plugin
129
- * Indonesian / Bahasa Indonesia live chat plugin
130
- * Italian / Italiano live chat plugin
131
- * Japanese / 日本語 live chat plugin
132
- * Kazakh / қазақ тілі live chat plugin
133
- * Korean / 한국어 live chat plugin
134
- * Latvian / Latviešu live chat plugin
135
- * Lithuanian / Lietuvių live chat plugin
136
- * Malaysian / Bahasa Malaysia live chat plugin
137
- * Norwegian (bokmål) / Norsk (bokmål) live chat plugin
138
- * Norwegian (nynorsk) / Norsk (nynorsk) live chat plugin
139
- * Polish / Polski live chat plugin
140
- * Portuguese / Português live chat plugin
141
- * Brazilian Portuguese / Português brasileiro live chat plugin
142
- * Romanian / Română live chat plugin
143
- * Russian / Русский live chat plugin
144
- * Serbian / Srpski live chat plugin
145
- * Slovak / Slovenčina live chat plugin
146
- * Slovene / Slovenščina live chat plugin
147
- * Spanish / Español live chat plugin
148
- * Swedish / Svenska live chat plugin
149
- * Thai / ไทย live chat plugin
150
- * Turkish / Türkçe live chat plugin
151
- * Ukrainian / Українська live chat plugin
152
- * Vietnamese / Tiếng Việt live chat plugin
153
-
154
- == Notes ==
155
-
156
- LiveChat is the [best WordPress live chat](https://www.livechatinc.com/best-live-chat-software/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) plugin on the market. No other WordPress live chat plugin compares to LiveChat and features it offers.
157
-
158
- From bootstrapped startups to global enterprises, LiveChat is suitable for all companies, regardless of their size or industry. Some of our customers include: Huawei, TED, Adobe, Ikea, PayPal, BBB, Pizza Hut, Acer and Virgin.
159
-
160
- == Testimonials ==
161
-
162
- >We frequently have leads chat with us asking some qualifying questions and then they eventually sign up online or over the phone. **These are sales that we might not have had if LiveChat wasn’t an option**([read more](https://www.livechatinc.com/customers/customer-stories/patlive/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)).
163
- Jamie Lowary, a sales lead at PATLive
164
-
165
- >At the moment, **LiveChat remains the mostly used tool when it comes to contacting our support**. Because of how easy we made it for users to access it, we help over 750 of them each day with an average satisfaction of 96% ([read more](https://www.livechatinc.com/customers/customer-stories/kinguin/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)).
166
- Michal Haze, the Head of Customer Experience at Kinguin
167
-
168
- == Documentation and Support ==
169
-
170
- * For documentation and tutorials go to our [help desk article](https://www.livechatinc.com/kb/wordpress-livechat-on-your-website/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
171
- * If you have any more questions, start a live chat session with our support on the [WordPress integration page](https://www.livechatinc.com/marketplace/apps/wordpress/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
172
- * For more information about live chat features, FAQs and documentation, check out our [website](https://www.livechatinc.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
173
- * If interested, you can join our community group [here](https://www.livechatinc.com/community/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
174
-
175
- Also, if you have any questions about this live chat plugin, feel free to post a thread in our [WordPress.org forum](https://wordpress.org/support/plugin/wp-live-chat-software-for-wordpress/).
176
-
177
- https://www.youtube.com/watch?v=fOPeF1AoPiM
178
-
179
- == About us ==
180
-
181
- LiveChat is a provider of cloud-based customers service platform with live support, ticketing system and web analytics capabilities. The main aim of LiveChat is to improve customer service and increase sales conversion. The software is used by more than 27,000 businesses including top names like Ikea and PayPal.
182
-
183
- = The LiveChat ecosystem =
184
-
185
- LiveChat’s ecosystem of products includes:
186
- - **[LiveChat](https://www.livechatinc.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - a communication tool that allows you to chat live with your customers.
187
- - **[HelpDesk](https://www.helpdesk.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - an online ticketing system suitable both for small businesses and enterprise clients.
188
- - **[ChatBot](https://www.chatbot.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - a bot framework for AI chat bots.
189
- - **[Open Messaging Platform](https://www.livechatinc.com/platform//?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - create and monetize apps or build extensions for your own team.
190
- - **[Knowledge Base](https://www.knowledgebase.ai/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - software that helps your LiveChat agents and website visitors at the same time. It consists of the Internal Widget and the public Help Center.
191
-
192
- = Press & Brand Assets =
193
-
194
- LiveChat is one word, spelled with a big L and a big C. When writing about this WordPress live chat form plugin, please make sure to use the right form. To make your life easier, we have have prepared a [LiveChat Press](https://www.livechatinc.com/press/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) page where you can download our logo, screenshots, and other relevant assets.
195
-
196
- == Frequently Asked Questions ==
197
-
198
- = Do I need a LiveChat account to use this live chat plugin? =
199
- Yes - you can create your live chat account [here](https://www.livechatinc.com/signup/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
200
-
201
- = Do you offer a free trial? =
202
- Yes, you can test all of the features of our live chat software for 14 days. Sign up for free here.
203
-
204
- [Sign up for free here](https://www.livechatinc.com/signup/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
205
-
206
- = Are there any limitations during the trial period? =
207
- No, during the 14-day trial, by default, you will be able to test all of the features in the Team plan.
208
-
209
- = Is it required to install any additional software to use LiveChat? =
210
- Just this live chat plugin; LiveChat works as SaaS and doesn't require any extra service to work.
211
-
212
- = Do you provide live chat support? =
213
- YES! You can live chat with us anytime - we are available 24/7/365!
214
-
215
- = Can I use this live chat service on any type of website? =
216
- Yes -- it is possible to add our live chat widget to any website using Javascript.
217
-
218
- = How many website visitors can contact me via this live chat plugin in real time? =
219
- One live chat operator can handle up to 99 talks at the same time.
220
-
221
- = What e-commerce platforms does LiveChat integrate with? =
222
- Currently we integrate with BigCommerce, Shopify, Volusion, Big Cartel, Magento 1, Magento 2, 3dcart, Commerce V3, CoreCommerce, CS-Cart, Easy Digital Downloads (EDD), Ecwid, ekmPowershop, LemonStand, Shoplo, Miva, OpenCart, osCommerce, PrestaShop, SITE123, AmeriCommerce, Wix, WooCommerce, X-Cart, Zen Cart, VirtueMart, nopCommerce.
223
-
224
- = I am logged in. How do I start? =
225
- The first thing you need to do is change the live chat status to ACCEPT CHATS. That will allow you to start answering incoming chats from customer. You can also refer to our [Agent Handbook](https://www.livechatinc.com/resources/customer-service/agents-handbook-guide-satisfied-customers/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) for more details.
226
-
227
- = Do I need to be logged in to be available for chats? =
228
- Yes, you need to stay online to allow customers to contact you. If no one is available, your live chat window will be shown as a ticket form - click [here](https://www.livechatinc.com/kb/support-tickets-in-livechat/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) to learn more about tickets in LiveChat.
229
-
230
- = Is there a limit to the number of chats I can take? =
231
- No, you can handle an unlimited number of live chats with any number of customers.
232
-
233
- = Is it possible to track on-site visitors through this live chat plugin? =
234
- YES! With LiveChat – live chat plugin for WordPress, you can see your visitor’s important information, such as their location, the page they are currently viewing.
235
-
236
- = Is the chat window customizable? =
237
- Yes, each part of the chat window can be customized company logo, live chat theme and more.
238
-
239
- = Can I upload my own custom live chat buttons? =
240
- Sure thing -- you can upload different type of buttons and use them to trigger the live chat window.
241
-
242
- = Can I proactively reach out to my website visitors and offer help? =
243
- It is possible to send [proactive chats](https://www.livechatinc.com/kb/why-should-i-set-up-chat-greetings/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) to your website visitors based on “live chat triggers”, such as the number of visited pages or time spent on the website.
244
-
245
- = Does your live chat software support other languages? =
246
- Short answer: LiveChat supports 45 languages. Long answer: English, Spanish, French, Chinese, Portuguese, Indonesian, Thai, Vietnamese (…). You can learn more about the supported languages [here](https://www.livechatinc.com/kb/how-to-modify-chat-window-language/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
247
-
248
- = How do I add more live chat agents? =
249
- Just head to AGENTS > ADD AN AGENT to start adding new live chat agents.
250
-
251
- = Is it possible to specify a user role to my live chat operators? =
252
- Yes - there are three use roles available in your live chat license, each serving a different purpose. There is a live chat owner role, live chat administrators and live chat agents. To find more navigate to our [website](https://www.livechatinc.com/kb/livechat-roles-owner-administrators-and-agents/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
253
-
254
- = Can I disable the live chat widget on mobile devices? =
255
- It is possible to prevent the live chat window from popping up on mobile devices.
256
-
257
- = What can I customize in the live chat dashboard? =
258
- You can customize a range of features, like the [live chat surveys](https://www.livechatinc.com/kb/chat-surveys/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat theme](https://www.livechatinc.com/kb/chat-window-customization/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat buttons](https://www.livechatinc.com/kb/chat-button-guide/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat greetings](https://www.livechatinc.com/kb/why-should-i-set-up-chat-greetings/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat canned responses](https://www.livechatinc.com/kb/canned-responses/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat tags](https://www.livechatinc.com/kb/tagging-chats-and-tickets/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) and and some other advanced live chat settings.
259
-
260
- = How does the live chat app work after hours? =
261
- When you go offline, your live chat widget is replaced with a ticket form. It means that visitors can still leave you questions as tickets. To manage tickets you need to log into your live chat app.
262
-
263
- = How to personalize my live chat avatar? =
264
- To edit the live chat avatar, simply navigate to the AGENTS section, pick your account and click EDIT. Apart from changing the picture, you can edit the name and title for your avatar.
265
-
266
- = Does LiveChat support multiple websites? =
267
- Yes, you can use our live chat to monitor multiple websites using a single interface. Additionally, you can customize the look of the live chat widget per website.
268
-
269
- = Is it possible to change the position of the live chat widget? =
270
- Definitely - you can move your live chat from the right side of the screen to the left using [CSS styles](https://www.livechatinc.com/kb/customize-your-chat-window-with-css/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
271
-
272
- = Can I have my customers include their contact details when they are asking for support? =
273
- Sure, you can use the pre-chat survey at the beginning of each live chat to collect relevant information, such as an email address or phone number.
274
-
275
- = How can I get notified of incoming live chats? =
276
- There are sound and visual notifications available to make sure that no chat or message goes unnoticed.
277
-
278
- = Can I live chat with customers on my mobile? =
279
- With our [mobile live chat apps](https://www.livechatinc.com/kb/stay-mobile-with-livechat/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) for iPhone, iPad and Android you can chat everywhere: in a car, at home or while shopping.
280
-
281
- = How to view chat transcripts? =
282
- Each live chat is saved as a chat transcript for future reference, and available to view from the Archives section.
283
-
284
- = Is there an option to delete some of the live chat transcripts from Archives? =
285
- You have to contact our live chat support team -- they will be more than happy to help you with that.
286
-
287
- = Can I add live chat to Facebook? =
288
- It is possible to place a live chat option on your Facebook fan page that will open a whole new channel for your customers to use - read more about the live chat integration with Facebook [here](https://www.livechatinc.com/kb/adding-live-chat-to-facebook/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
289
-
290
- = Can live chat agents help one another when chatting with customers? =
291
- Sure thing - they can use use chat transfers to hand over their chats to other live chat agents. Additionally, each ongoing chat can be supervised in real time for coaching purposes. Read more on the transfers and supervision features [here](https://www.livechatinc.com/kb/in-chat-cooperation-transfers-and-supervision/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
292
-
293
- = Can I deactivate my live chat widget momentarily without having to remove the plugin? =
294
- There are two ways to do that - you can set your live chat status to “Don’t accept chats” (*remember to disable the ticket form), or you can disable the chat widget on selected pages using the [URL rules](https://www.livechatinc.com/kb/setting-up-url-rules-for-groups/#disabling-livechat/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) feature.
295
-
296
- = I can't seem to remember a password to my live chat account. =
297
- Don’t worry - you can easily set up a new password using this [link](https://accounts.livechatinc.com/forgot-password/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
298
-
299
- = What are the other integrations offered by LiveChat? =
300
- LiveChat conveniently integrates with a broad range of apps and services to ensure everything is at your fingertips. They are categorized in a various types: [live chat - analytics integrations](https://www.livechatinc.com/integrations/analytics/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat - chatbots integrations](https://www.livechatinc.com/integrations/chatbots/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
301
- ), [live chat - CMS integrations](https://www.livechatinc.com/integrations/cms/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat - contact management integrations](https://www.livechatinc.com/integrations/contact-management/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
302
- ), [live chat - CRM integrations](https://www.livechatinc.com/integrations/crm/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
303
- ), [live chat - desktop sharing integrations](https://www.livechatinc.com/integrations/desktop-sharing/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
304
- ), [live chat - e-commerce integrations](https://www.livechatinc.com/integrations/e-commerce/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
305
- ), [live chat - email marketing integrations](https://www.livechatinc.com/integrations/email-marketing/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
306
- ), [live chat - file sharing integrations](https://www.livechatinc.com/integrations/files-sharing/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
307
- ), [live chat - help desk integrations](https://www.livechatinc.com/integrations/help-desk/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
308
- ), [live chat - invoicing integrations](https://www.livechatinc.com/integrations/invoicing/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
309
- ), [live chat - social media integrations](https://www.livechatinc.com/integrations/social-media/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
310
-
311
- = Do you offer any tips on how to live chat I could check? =
312
- Sure - head over to our [website](https://www.livechatinc.com/resources/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) for best practices and tips on how to your company can benefit from live chat support.
313
-
314
- = Do you have any reviews from your customers I could check? =
315
- Here are some [live chat reviews](https://www.livechatinc.com/customers/live-chat-reviews/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) our customers sent us.
316
-
317
- = I love LiveChat. How can I promote it? =
318
- Feel free to leave us a review. Your feedback is really important to us, as it helps others discover our live chat software.
319
-
320
- = How do I learn more about LiveChat and your live chat plugin? =
321
- Navigate to our [website](https://www.livechatinc.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) and start a live chat with us!
322
-
323
-
324
- == Installation ==
325
-
326
- = Automated Installation =
327
-
328
- 1. Go to your WordPress admin dashboard, then find the “Plugins” menu.
329
- 2. Click on “Add New” and search for LiveChat”.
330
- 3. Activate the live chat plugin through the `Plugins` menu in WordPress.
331
- 4. Click the `LiveChat` menu on the left.
332
- 5. Create a new account or sign-in if you already have a LiveChat account.
333
-
334
- = Manual Installation =
335
-
336
- 1. Upload `wp-live-chat-software-for-wordpress` directory to WordPress plugins directory (`/wp-content/plugins/`).
337
- 2. Activate the live chat plugin through the `Plugins` menu in WordPress.
338
- 3. Click the `LiveChat` menu on the left.
339
- 4. Create a new account or sign-in if you already have a LiveChat account.
340
-
341
- For more detailed instructions, go to the [live chat plugin page](https://www.livechatinc.com/kb/wordpress-livechat-on-your-website/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
342
-
343
- == Screenshots ==
344
-
345
- 1. By talking directly with customers, you can collect real-time customer feedback, boost sales, and manage customer relationships with ease.
346
- 2. From the LiveChat dashboard you can monitor all traffic and actively initiate a chat whenever you feel your visitor needs help.
347
- 3. Customize all of the settings and messaging of your live chat widget to match the style and look of your brand.
348
- 4. LiveChat keeps a full record of your chat conversations. Use them to learn more about customers and refine your customer service.
349
- 5. Freely create and manage LiveChat accounts for your customer service team. You can create as many agent accounts for as many agents as you wish.
350
-
351
- == Changelog ==
352
-
353
- = 3.7.6 =
354
- * yet another security improvement, better security check for database operations
355
-
356
- = 3.7.5 =
357
- * security fixes, sanitization in settings view
358
-
359
- = 3.7.4 =
360
- * security fixes, thanks to guys from [pluginvulnerabilities.com](https://www.pluginvulnerabilities.com/2019/06/19/wordpress-plugins-are-so-insecure-you-can-claim-the-wrong-plugin-is-insecure-and-still-be-right/)
361
-
362
- = 3.7.3 =
363
- * Tested up to Wordpress 5.2
364
-
365
- = 3.7.2 =
366
- * fix for undefined HTTP_USER_AGENT
367
-
368
- = 3.7.1 =
369
- * Sign in with LiveChat button width fix
370
- * Compatibility with Wordpress 5.1
371
-
372
- = 3.7.0 =
373
- * Connect Flow implemented
374
-
375
- = 3.6.3 =
376
- * Connect notice
377
-
378
- = 3.6.2 =
379
- * Tested up to Wordpress 5.0
380
- * Removed Disable sounds option
381
-
382
- = 3.6.1 =
383
- * Fixed compatibility for servers without allow_url_fopen enabled.
384
-
385
- = 3.6.0 =
386
- * Translation ready plugin
387
-
388
- = 3.5.4 =
389
- * Fixed compatibility with servers without cURL support
390
-
391
- = 3.5.3 =
392
- * Review notice
393
-
394
- = 3.5.2 =
395
- * Updated compatibility with PHP 5
396
-
397
- = 3.5.1 =
398
- * Updated compatibility with PHP 7.1+
399
-
400
- = 3.5.0 =
401
- * Plugin redesign.
402
- * Added new options:
403
- * 'Sign in with LiveChat',
404
- * Disable chat window on mobile devices,
405
- * Disable sounds in chat window,
406
- * Disable chat window for Guest users.
407
-
408
- = 3.4.2 =
409
- * Fixed get_plugin_url function, updated logo - added HiRes retina image
410
-
411
- = 3.4.1 =
412
- * Updated readme.txt file, checked compatibility to WordPress 4.8.1, small plugin js/css fixes.
413
-
414
- = 3.4 =
415
- * Updated readme.txt file, checked compatibility to WordPress 4.7.3
416
-
417
- = 3.3.1 =
418
- * Updated readme.txt file
419
-
420
- = 3.3 =
421
- * get_currentuser info function deprecated in WordPress 4.5, replaced to wp_get_current_user function
422
-
423
- = 3.2.14 =
424
- * Updated readme.txt file, checked compatibility to WordPress 4.4.1
425
-
426
- = 3.2.13 =
427
- * Removed __lc.group from live chat tracking code, updated readme.txt file
428
-
429
- = 3.2.12 =
430
- * Updated readme.txt file, checked compatibility to WordPress 4.3
431
-
432
- = 3.2.11 =
433
- * Moved live chat screenshots to assets directory
434
-
435
- = 3.2.10 =
436
- * Updated readme.txt file, updated live chat screenshots
437
-
438
- = 3.2.9 =
439
- * Updated readme.txt file, checked compatibility to WordPress 4.2.2
440
-
441
- = 3.2.8 =
442
- * Live chat plugin fully supports the newest version of WordPress.
443
-
444
- = 3.2.7 =
445
- * Live chat plugin compatible with the newest LiveChat version
446
-
447
- = 3.2.5 =
448
- * Updated trunk
449
-
450
- = 3.2.4 =
451
- * Updated url for live chat licence number
452
-
453
- = 3.2.3 =
454
- * Removed language parameter from live chat tracking code
455
-
456
- = 3.2.2 =
457
- * Fixed CSS styles conflicts with other plugins
458
-
459
- = 3.2.1 =
460
- * Fixed live chat plugin "Settings" link
461
- * Changed message after successful installation
462
-
463
- = 3.2.0 =
464
- * Compatibility with new live chat window
465
- * Removed "click-to-chat button" configurator (no longer used)
466
-
467
- = 3.1.0 =
468
- * Major update in the live chat tracking code
469
-
470
- = 3.0.0 =
471
- * Rewritten whole live chat plugin code
472
- * Fixed creating live chat licenses
473
- * Improved look and feel
474
-
475
- = 2.1.8 =
476
- * Updated live chat desktop application download link
477
-
478
- = 2.1.7 =
479
- * Fixed `Skill` parameter
480
- * Updated monitoring and live chat button codes (for improved performance)
481
- * Updated skills tutorial link
482
-
483
- = 2.1.6 =
484
- * Added LiveChat icon in menu bar
485
-
486
- = 2.1.5 =
487
- * Fixed creating new live chat licences
488
- * Rebranded LIVECHAT Contact Center to LiveChat
489
- * Updated live chat application download link
490
- * Renamed "Groups" to "Skills"
491
-
492
- = 2.1.4 =
493
- * Fixed readme.txt file causing the `The plugin does not have a valid header.` problem
494
-
495
- = 2.1.3 =
496
- * Added timezone detection when creating new live chat license
497
-
498
- = 2.1.2 =
499
- * Added "Company", "Phone" and "Website" fields in live chat license registration form
500
- * Fixed license registration bug
501
- * Updated Control Panel URL
502
-
503
- = 2.1.1 =
504
- * Fixed monitoring and live chat button code installation
505
-
506
- = 2.1.0 =
507
- * Added "Settings" link to live chat plugin settings page
508
- * Added "Download application" button
509
- * Added Control Panel to live chat plugin
510
- * Added Chat button installation help for themes with no live chat widgets support
511
-
512
- = 2.0.0 =
513
- * Rewritten whole live chat plugin from scratch
514
- * Ability to create new license from WordPress live chat plugin settings
515
- * Updated live chat monitoring code speed
516
- * Added live chat notification messages
517
-
518
- = 1.0.0 =
519
- * First live chat plugin version
1
+ === LiveChat - WP live chat plugin for WordPress ===
2
+ Contributors: LiveChat
3
+ Tags: live chat, chat plugin, live chat plugin, wordpress live chat, live support, wordpress chat, chat
4
+ Stable tag: 3.8.1
5
+ Requires PHP: 5.6
6
+ Tested up to: 5.2.2
7
+ Requires at least: 3.4
8
+ License: GPLv2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ Live chat and help desk software plugin for WordPress. Add LiveChat (live chat and help desk software) to your WordPress.
12
+
13
+ == Description ==
14
+
15
+ = WordPress Chat Plugin =
16
+
17
+ LiveChat – WP live chat plugin for WordPress is a WordPress chat plugin you can use to quickly and easily **add live chat support to your WordPress website**. It allows for instant communication with on-site visitors and customers and enables prompt resolution to their questions or concerns.
18
+
19
+ With a fully functional WordPress chat plugin, not only **you can increase your sales** - as it’s the quickest way to remove buyer objections – but it also allows you to **build stronger customer relationships**.
20
+
21
+ https://www.youtube.com/watch?v=dKUdE-JKhZI
22
+
23
+ = Feature-Rich WordPress Live Chat Plugin =
24
+
25
+ LiveChat live chat app comes with a comprehensive set of features, including proactive chat invitations – so chat operators can automatically send personalized messages to appear based on specified conditions, such as the number of visited pages or time spent on the website.
26
+
27
+ Plus, **it makes customer service more efficient** by letting you hold multiple live chat sessions at the same time, send canned responses to frequently asked questions, add chat tags, review chat transcripts and send files to customers through the live chat window.
28
+
29
+ In addition to live chat support, LiveChat also offers a built-in ticketing system to **provide 24/7 customer service to customers**. Whenever there are no chat operators available, the chat box widget is replaced by a ticket form so that customers can still contact you with their questions. You can also use tickets for managing and tracking customer cases that couldn't be resolved in a single live chat session.
30
+
31
+ = Live Chat for WordPress website =
32
+
33
+ One of the key things about LiveChat - WP live chat plugin for WordPress is that it is designed to work with any WordPress Site Builder - Elementor Page Builder, Page Builder by SiteOrigin, WordPress Page Builder – Beaver Builder, to name a few.
34
+
35
+ In addition, this WordPress plugin works well with any WordPress theme or WordPress template you may use without requiring any modifications.
36
+
37
+ Want to communicate with shoppers while they’re browsing your store, built on WordPress? LiveChat has partnered with all the major e-commerce platforms, including BigCommerce for WordPress, WooCommerce, and Ecwid Ecommerce Shopping Cart.
38
+
39
+ = Easy to Customize and Extend =
40
+
41
+ From email marketing to social, **LiveChat integrates seamlessly with a range of popular third party apps and services**. These include help desk software Zendesk, Freshdesk, customer relationship management apps (CRM) HubSpot CRM, Salesforce, email marketing services Constant Contact, Mailchimp and social media platforms Facebook or Twitter.
42
+
43
+ == Live chat benefits ==
44
+
45
+ - **An instant connection to help** - from overnight shipping to instant access to your product or service, customers want help instantly. Out of all the customer support channels available — offline or online — live chat support is by far the quickest and simplest.
46
+
47
+ - **An easy and convenient way to support customers** - with this WordPress support chat, customers have a direct and free option to ask for help. They can use it with minimal disruption to their day, which turns out to be very convenient.
48
+
49
+ - **Increase sales and conversions** - using live chat and WordPress together, enables customers to ask questions about the product they want to buy and you can answer them in real-time, which simplifies the buying process.
50
+
51
+ - **Improve average order value and overall sales through live chat** - using live chat online to communicate with the customer helps to understand their needs. You can use that knowledge to recommend similar products and services to increase the average order value.
52
+
53
+ - **Competitive advantage** - just by offering WordPress live chat support – users are one step ahead of the companies that do not. Competitive advantage can be obtained by managing products more effectively, and having good relationships with customers.
54
+
55
+ == What is live chat for WordPress? ==
56
+
57
+ If you run a website, and you are serious about your business then using live chat is no brainer. Live chat plugin for WordPress adds a live chat widget to the bottom of your website that allows visitors to chat to you in real time. Live chat software is perfect for businesses of all sizes, enabling them to close more sales and improve customer satisfaction scores.
58
+
59
+ https://www.youtube.com/watch?v=-q_KJrnF3e8
60
+
61
+ = Usage =
62
+
63
+ With the LiveChat online chat plugin for WordPress, you can add a live chat box to every page of your website, including the checkout in no time. To answer chats, chat operators have to be logged into one of our chat apps - [LiveChat for web browser](https://www.livechatinc.com/applications/livechat-web-app/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [LiveChat for macOS](https://www.livechatinc.com/applications/livechat-for-mac/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) or [LiveChat for Windows](https://www.livechatinc.com/applications/livechat-for-windows/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration). There are also applications for mobile devices - [iPhone](https://www.livechatinc.com/applications/livechat-for-iphone/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [iPad](https://www.livechatinc.com/applications/livechat-for-ipad/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) and [Android](https://www.livechatinc.com/applications/livechat-for-android/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
64
+
65
+ = Requirements =
66
+
67
+ While LiveChat chat plugin for WordPress is free, you need a subscription of LiveChat to use it. For an overview of available plans and their cost navigate to [LiveChat pricing](https://www.livechatinc.com/pricing).
68
+
69
+ When you first sign up for LiveChat, you'll automatically be placed on a free 14-day, free trial (no credit card required). Your trial account will give you access to all the features of the Team plan, such as unlimited chats, chat triggers, ticketing system, visitors monitoring and full widget customization. After 14 days, the trial will end, and you will be able to subscribe to one of four pricing plans.
70
+
71
+ [Sign up for our LiveChat](https://www.livechatinc.com/signup/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)
72
+
73
+ = Localization =
74
+
75
+ LiveChat – WP live chat plugin for WordPress is a fully translation-ready plugin, meaning you can translate the entire plugin into any language on [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/wp-live-chat-software-for-wordpress/).
76
+
77
+ == Live Chat Features ==
78
+
79
+ - **Canned responses** - predefined responses on live chat which enable you to be more efficient and help customers faster.
80
+
81
+ - **Chat widget customisation** - each part of the live chat box can be customized to make it work with the rest of your website’s design; brand your live chat with a logo and include social media channels.
82
+
83
+ - **File upload support** - you can send and receive files over the live chat widget to reach an understanding faster.
84
+
85
+ - **Support and agent ratings** - get a better understanding of visitor satisfaction by allowing them to rate a chat as either good or bad during or after the live chat session.
86
+
87
+ - **Visitor tracking** - this allows you to gather relevant information on your on-site visitors. You can track their name, currently viewed page, time zone and more, without leaving the live chat app.
88
+
89
+ - **Ticket form** - when you go offline, our live chat plugin for WordPress enables communication with clients by storing their messages as tickets. When you come back online, you can answer these questions.
90
+
91
+ - **Chat invitations** - these allow you to initiate conversations when certain criteria are met; ie automatically live chat with your visitors once they land on your website.
92
+
93
+ - **pre- and post-chat surveys** - add surveys to the live chat window; gather customer information and insights at the beginning and end of each chat.
94
+
95
+ - **Multi-channel communications** - reach out to your customers regardless of the channel they are using live chat, Facebook Pages, Facebook Messenger, Twitter and email.
96
+
97
+ - **Chat log and data exporting** - browse through comments reflecting customers needs and expectations. All messages are stored and can be accessed later on; using our API, you will be able to export all of them to the area of your choice.
98
+
99
+ - **Chat window themes** - choose from a couple of distinct styles when choosing the look for your live chat window.
100
+
101
+ - **Mobile live chat applications** - mobile apps for iOS and Android will help you chat with customers wherever you are.
102
+
103
+ - **Reports and analytics** - spot areas which can be optimized and more efficient with built-in live chat and tickets metrics. Reports are also available through API. Gathered data are exportable in CSV format.
104
+
105
+ - **Chat assignment** - automatically assign conversations equally between available teammates. Alternatively, they can go straight to the queue and it is up to you and your team to decide when to pick them up.
106
+
107
+ - **Chat tags and keywords** - these allow you organize and categorize your live chat content to help you find common issues and questions.
108
+
109
+ - **Facebook Messenger** - keep all your communication in one place by responding to new messages from your fans and customers right in live chat application.
110
+
111
+ - **Chat notifications** - with a large number of different in app, browser, sound, and email notification options you will never miss a live chat again.
112
+
113
+ - **Ticket creation and management** - create tickets for cases that can’t be resolved within one live chat. When you have the solution, go back to them to wrap things up.
114
+
115
+ - **Chat transcripts** - if you’d like to keep an additional archive of your chats, you can get complete live chat transcripts from LiveChat.
116
+
117
+ - **User groups** - group teammates by expertise - sales, support and finances - and assign live chat conversations to them.
118
+
119
+ - **Chat transfer** - exchange chats when necessary; it’s extra handy when you encounter cases that only a particular member of the team can handle.
120
+
121
+ - **Chat on multiple websites** - if you are running several websites, you can hook all of them up to a single LiveChat account. Plus, you can keep the chat widget look consistent through all pages and sites.
122
+
123
+ - **Visitor banning** - to minimize “trolls” from taking up your time. Use this wisely.
124
+
125
+ - **Sales integration** - using our e-commerce integrations you can see which sales were assisted by live chat.
126
+
127
+ - **Chat via a direct live chat link** - invite customers to start chatting from anywhere by placing a link in your emails, social media, or website.
128
+
129
+ https://www.youtube.com/watch?v=w-tO_H5qCTk
130
+
131
+ With this chat plugin, there are many other features that can help you **close more sales** and **satisfy more customers**; you can see all of them [here](https://www.livechatinc.com/features/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
132
+
133
+ == Multilingual live chat plugin ==
134
+
135
+ Adjusting language of your chat window to the language your page is a very important step of the customization.
136
+ Because of that, LiveChat has been translated into 45 languages; below is the list of supported languages:
137
+
138
+ * Arabic / العَرَبِيَّة live chat plugin
139
+ * Armenian / Հայերեն live chat plugin
140
+ * Azeri / Azərbaycan live chat plugin
141
+ * Bulgarian / български live chat plugin
142
+ * Catalan / Català live chat plugin
143
+ * Simplified Chinese / 简体中文 live chat plugin
144
+ * Traditional Chinese / 繁體中文 live chat plugin
145
+ * Croatian / Hrvatski live chat plugin
146
+ * Czech / Česky live chat plugin
147
+ * Danish / Dansk live chat plugin
148
+ * Dutch / Nederlands live chat plugin
149
+ * English live chat plugin
150
+ * Estonian / Eesti live chat plugin
151
+ * Finnish / Suomi live chat plugin
152
+ * French / Français live chat plugin
153
+ * Georgian / ქართული live chat plugin
154
+ * German / Deutsch live chat plugin
155
+ * Greek / Ελληνικά live chat plugin
156
+ * Hebrew / עברית live chat plugin
157
+ * Hungarian / Magyar live chat plugin
158
+ * Icelandic / Íslenska live chat plugin
159
+ * Indonesian / Bahasa Indonesia live chat plugin
160
+ * Italian / Italiano live chat plugin
161
+ * Japanese / 日本語 live chat plugin
162
+ * Kazakh / қазақ тілі live chat plugin
163
+ * Korean / 한국어 live chat plugin
164
+ * Latvian / Latviešu live chat plugin
165
+ * Lithuanian / Lietuvių live chat plugin
166
+ * Malaysian / Bahasa Malaysia live chat plugin
167
+ * Norwegian (bokmål) / Norsk (bokmål) live chat plugin
168
+ * Norwegian (nynorsk) / Norsk (nynorsk) live chat plugin
169
+ * Polish / Polski live chat plugin
170
+ * Portuguese / Português live chat plugin
171
+ * Brazilian Portuguese / Português brasileiro live chat plugin
172
+ * Romanian / Română live chat plugin
173
+ * Russian / Русский live chat plugin
174
+ * Serbian / Srpski live chat plugin
175
+ * Slovak / Slovenčina live chat plugin
176
+ * Slovene / Slovenščina live chat plugin
177
+ * Spanish / Español live chat plugin
178
+ * Swedish / Svenska live chat plugin
179
+ * Thai / ไทย live chat plugin
180
+ * Turkish / Türkçe live chat plugin
181
+ * Ukrainian / Українська live chat plugin
182
+ * Vietnamese / Tiếng Việt live chat plugin
183
+
184
+ == Notes ==
185
+
186
+ LiveChat is the [best WordPress live chat](https://www.livechatinc.com/best-live-chat-software/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) plugin on the market. No other WordPress live chat plugin compares to LiveChat and features it offers.
187
+
188
+ From bootstrapped startups to global enterprises, LiveChat is suitable for all companies, regardless of their size or industry. Some of our customers include: Huawei, TED, Adobe, Ikea, PayPal, BBB, Pizza Hut, Acer and Virgin.
189
+
190
+ == Testimonials ==
191
+
192
+ >We frequently have leads chat with us asking some qualifying questions and then they eventually sign up online or over the phone. **These are sales that we might not have had if LiveChat wasn’t an option**([read more](https://www.livechatinc.com/customers/customer-stories/patlive/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)).
193
+ Jamie Lowary, a sales lead at PATLive
194
+
195
+ >At the moment, **LiveChat remains the mostly used tool when it comes to contacting our support**. Because of how easy we made it for users to access it, we help over 750 of them each day with an average satisfaction of 96% ([read more](https://www.livechatinc.com/customers/customer-stories/kinguin/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)).
196
+ Michal Haze, the Head of Customer Experience at Kinguin
197
+
198
+ == Documentation and Support ==
199
+
200
+ * For documentation and tutorials go to our [help desk article](https://www.livechatinc.com/kb/wordpress-livechat-on-your-website/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
201
+ * If you have any more questions, start a live chat session with our support on the [WordPress integration page](https://www.livechatinc.com/marketplace/apps/wordpress/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
202
+ * For more information about live chat features, FAQs and documentation, check out our [website](https://www.livechatinc.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
203
+ * If interested, you can join our community group [here](https://www.livechatinc.com/community/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
204
+
205
+ Also, if you have any questions about this live chat plugin, feel free to post a thread in our [WordPress.org forum](https://wordpress.org/support/plugin/wp-live-chat-software-for-wordpress/).
206
+
207
+ https://www.youtube.com/watch?v=fOPeF1AoPiM
208
+
209
+ == About us ==
210
+
211
+ LiveChat is a provider of cloud-based customers service platform with live support, ticketing system and web analytics capabilities. The main aim of LiveChat is to improve customer service and increase sales conversion. The software is used by more than 27,000 businesses including top names like Ikea and PayPal.
212
+
213
+ = The LiveChat ecosystem =
214
+
215
+ LiveChat’s ecosystem of products includes:
216
+ - **[LiveChat](https://www.livechatinc.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - a communication tool that allows you to chat live with your customers.
217
+ - **[HelpDesk](https://www.helpdesk.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - an online ticketing system suitable both for small businesses and enterprise clients.
218
+ - **[ChatBot](https://www.chatbot.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - a bot framework for AI chat bots.
219
+ - **[Open Messaging Platform](https://www.livechatinc.com/platform//?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - create and monetize apps or build extensions for your own team.
220
+ - **[Knowledge Base](https://www.knowledgebase.ai/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration)** - software that helps your LiveChat agents and website visitors at the same time. It consists of the Internal Widget and the public Help Center.
221
+
222
+ = Press & Brand Assets =
223
+
224
+ LiveChat is one word, spelled with a big L and a big C. When writing about this WordPress live chat form plugin, please make sure to use the right form. To make your life easier, we have have prepared a [LiveChat Press](https://www.livechatinc.com/press/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) page where you can download our logo, screenshots, and other relevant assets.
225
+
226
+ == Frequently Asked Questions ==
227
+
228
+ = Do I need a LiveChat account to use this live chat plugin? =
229
+ Yes - you can create your live chat account [here](https://www.livechatinc.com/signup/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
230
+
231
+ = Do you offer a free trial? =
232
+ Yes, you can test all of the features of our live chat software for 14 days. Sign up for free here.
233
+
234
+ [Sign up for free here](https://www.livechatinc.com/signup/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
235
+
236
+ = Are there any limitations during the trial period? =
237
+ No, during the 14-day trial, by default, you will be able to test all of the features in the Team plan.
238
+
239
+ = Is it required to install any additional software to use LiveChat? =
240
+ Just this live chat plugin; LiveChat works as SaaS and doesn't require any extra service to work.
241
+
242
+ = Do you provide live chat support? =
243
+ YES! You can live chat with us anytime - we are available 24/7/365!
244
+
245
+ = Can I use this live chat service on any type of website? =
246
+ Yes -- it is possible to add our live chat widget to any website using Javascript.
247
+
248
+ = How many website visitors can contact me via this live chat plugin in real time? =
249
+ One live chat operator can handle up to 99 talks at the same time.
250
+
251
+ = What e-commerce platforms does LiveChat integrate with? =
252
+ Currently we integrate with BigCommerce, Shopify, Volusion, Big Cartel, Magento 1, Magento 2, 3dcart, Commerce V3, CoreCommerce, CS-Cart, Easy Digital Downloads (EDD), Ecwid, ekmPowershop, LemonStand, Shoplo, Miva, OpenCart, osCommerce, PrestaShop, SITE123, AmeriCommerce, Wix, WooCommerce, X-Cart, Zen Cart, VirtueMart, nopCommerce.
253
+
254
+ = I am logged in. How do I start? =
255
+ The first thing you need to do is change the live chat status to ACCEPT CHATS. That will allow you to start answering incoming chats from customer. You can also refer to our [Agent Handbook](https://www.livechatinc.com/resources/customer-service/agents-handbook-guide-satisfied-customers/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) for more details.
256
+
257
+ = Do I need to be logged in to be available for chats? =
258
+ Yes, you need to stay online to allow customers to contact you. If no one is available, your live chat window will be shown as a ticket form - click [here](https://www.livechatinc.com/kb/support-tickets-in-livechat/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) to learn more about tickets in LiveChat.
259
+
260
+ = Is there a limit to the number of chats I can take? =
261
+ No, you can handle an unlimited number of live chats with any number of customers.
262
+
263
+ = Is it possible to track on-site visitors through this live chat plugin? =
264
+ YES! With LiveChat live chat plugin for WordPress, you can see your visitor’s important information, such as their location, the page they are currently viewing.
265
+
266
+ = Is the chat window customizable? =
267
+ Yes, each part of the chat window can be customized company logo, live chat theme and more.
268
+
269
+ = Can I upload my own custom live chat buttons? =
270
+ Sure thing -- you can upload different type of buttons and use them to trigger the live chat window.
271
+
272
+ = Can I proactively reach out to my website visitors and offer help? =
273
+ It is possible to send [proactive chats](https://www.livechatinc.com/kb/why-should-i-set-up-chat-greetings/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) to your website visitors based on live chat triggers”, such as the number of visited pages or time spent on the website.
274
+
275
+ = Does your live chat software support other languages? =
276
+ Short answer: LiveChat supports 45 languages. Long answer: English, Spanish, French, Chinese, Portuguese, Indonesian, Thai, Vietnamese (…). You can learn more about the supported languages [here](https://www.livechatinc.com/kb/how-to-modify-chat-window-language/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
277
+
278
+ = How do I add more live chat agents? =
279
+ Just head to AGENTS > ADD AN AGENT to start adding new live chat agents.
280
+
281
+ = Is it possible to specify a user role to my live chat operators? =
282
+ Yes - there are three use roles available in your live chat license, each serving a different purpose. There is a live chat owner role, live chat administrators and live chat agents. To find more navigate to our [website](https://www.livechatinc.com/kb/livechat-roles-owner-administrators-and-agents/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
283
+
284
+ = Can I disable the live chat widget on mobile devices? =
285
+ It is possible to prevent the live chat window from popping up on mobile devices.
286
+
287
+ = What can I customize in the live chat dashboard? =
288
+ You can customize a range of features, like the [live chat surveys](https://www.livechatinc.com/kb/chat-surveys/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat theme](https://www.livechatinc.com/kb/chat-window-customization/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat buttons](https://www.livechatinc.com/kb/chat-button-guide/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat greetings](https://www.livechatinc.com/kb/why-should-i-set-up-chat-greetings/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat canned responses](https://www.livechatinc.com/kb/canned-responses/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat tags](https://www.livechatinc.com/kb/tagging-chats-and-tickets/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) and and some other advanced live chat settings.
289
+
290
+ = How does the live chat app work after hours? =
291
+ When you go offline, your live chat widget is replaced with a ticket form. It means that visitors can still leave you questions as tickets. To manage tickets you need to log into your live chat app.
292
+
293
+ = How to personalize my live chat avatar? =
294
+ To edit the live chat avatar, simply navigate to the AGENTS section, pick your account and click EDIT. Apart from changing the picture, you can edit the name and title for your avatar.
295
+
296
+ = Does LiveChat support multiple websites? =
297
+ Yes, you can use our live chat to monitor multiple websites using a single interface. Additionally, you can customize the look of the live chat widget per website.
298
+
299
+ = Is it possible to change the position of the live chat widget? =
300
+ Definitely - you can move your live chat from the right side of the screen to the left using [CSS styles](https://www.livechatinc.com/kb/customize-your-chat-window-with-css/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
301
+
302
+ = Can I have my customers include their contact details when they are asking for support? =
303
+ Sure, you can use the pre-chat survey at the beginning of each live chat to collect relevant information, such as an email address or phone number.
304
+
305
+ = How can I get notified of incoming live chats? =
306
+ There are sound and visual notifications available to make sure that no chat or message goes unnoticed.
307
+
308
+ = Can I live chat with customers on my mobile? =
309
+ With our [mobile live chat apps](https://www.livechatinc.com/kb/stay-mobile-with-livechat/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) for iPhone, iPad and Android you can chat everywhere: in a car, at home or while shopping.
310
+
311
+ = How to view chat transcripts? =
312
+ Each live chat is saved as a chat transcript for future reference, and available to view from the Archives section.
313
+
314
+ = Is there an option to delete some of the live chat transcripts from Archives? =
315
+ You have to contact our live chat support team -- they will be more than happy to help you with that.
316
+
317
+ = Can I add live chat to Facebook? =
318
+ It is possible to place a live chat option on your Facebook fan page that will open a whole new channel for your customers to use - read more about the live chat integration with Facebook [here](https://www.livechatinc.com/kb/adding-live-chat-to-facebook/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
319
+
320
+ = Can live chat agents help one another when chatting with customers? =
321
+ Sure thing - they can use use chat transfers to hand over their chats to other live chat agents. Additionally, each ongoing chat can be supervised in real time for coaching purposes. Read more on the transfers and supervision features [here](https://www.livechatinc.com/kb/in-chat-cooperation-transfers-and-supervision/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
322
+
323
+ = Can I deactivate my live chat widget momentarily without having to remove the plugin? =
324
+ There are two ways to do that - you can set your live chat status to “Don’t accept chats” (*remember to disable the ticket form), or you can disable the chat widget on selected pages using the [URL rules](https://www.livechatinc.com/kb/setting-up-url-rules-for-groups/#disabling-livechat/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) feature.
325
+
326
+ = I can't seem to remember a password to my live chat account. =
327
+ Don’t worry - you can easily set up a new password using this [link](https://accounts.livechatinc.com/forgot-password/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
328
+
329
+ = What are the other integrations offered by LiveChat? =
330
+ LiveChat conveniently integrates with a broad range of apps and services to ensure everything is at your fingertips. They are categorized in a various types: [live chat - analytics integrations](https://www.livechatinc.com/integrations/analytics/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat - chatbots integrations](https://www.livechatinc.com/integrations/chatbots/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
331
+ ), [live chat - CMS integrations](https://www.livechatinc.com/integrations/cms/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration), [live chat - contact management integrations](https://www.livechatinc.com/integrations/contact-management/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
332
+ ), [live chat - CRM integrations](https://www.livechatinc.com/integrations/crm/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
333
+ ), [live chat - desktop sharing integrations](https://www.livechatinc.com/integrations/desktop-sharing/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
334
+ ), [live chat - e-commerce integrations](https://www.livechatinc.com/integrations/e-commerce/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
335
+ ), [live chat - email marketing integrations](https://www.livechatinc.com/integrations/email-marketing/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
336
+ ), [live chat - file sharing integrations](https://www.livechatinc.com/integrations/files-sharing/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
337
+ ), [live chat - help desk integrations](https://www.livechatinc.com/integrations/help-desk/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
338
+ ), [live chat - invoicing integrations](https://www.livechatinc.com/integrations/invoicing/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration
339
+ ), [live chat - social media integrations](https://www.livechatinc.com/integrations/social-media/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
340
+
341
+ = Do you offer any tips on how to live chat I could check? =
342
+ Sure - head over to our [website](https://www.livechatinc.com/resources/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) for best practices and tips on how to your company can benefit from live chat support.
343
+
344
+ = Do you have any reviews from your customers I could check? =
345
+ Here are some [live chat reviews](https://www.livechatinc.com/customers/live-chat-reviews/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) our customers sent us.
346
+
347
+ = I love LiveChat. How can I promote it? =
348
+ Feel free to leave us a review. Your feedback is really important to us, as it helps others discover our live chat software.
349
+
350
+ = How do I learn more about LiveChat and your live chat plugin? =
351
+ Navigate to our [website](https://www.livechatinc.com/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration) and start a live chat with us!
352
+
353
+
354
+ == Installation ==
355
+
356
+ = Automated Installation =
357
+
358
+ 1. Go to your WordPress admin dashboard, then find the “Plugins” menu.
359
+ 2. Click on “Add New” and search for “LiveChat”.
360
+ 3. Activate the live chat plugin through the `Plugins` menu in WordPress.
361
+ 4. Click the `LiveChat` menu on the left.
362
+ 5. Create a new account or sign-in if you already have a LiveChat account.
363
+
364
+ = Manual Installation =
365
+
366
+ 1. Upload `wp-live-chat-software-for-wordpress` directory to WordPress plugins directory (`/wp-content/plugins/`).
367
+ 2. Activate the live chat plugin through the `Plugins` menu in WordPress.
368
+ 3. Click the `LiveChat` menu on the left.
369
+ 4. Create a new account or sign-in if you already have a LiveChat account.
370
+
371
+ For more detailed instructions, go to the [live chat plugin page](https://www.livechatinc.com/kb/wordpress-livechat-on-your-website/?utm_source=wordpress.org&utm_medium=integration&utm_campaign=WordpressIntegration).
372
+
373
+ == Screenshots ==
374
+
375
+ 1. Bring the best live chat for WordPress with you and help your online customers anytime, anywhere.
376
+ 2. By talking directly with customers, you can collect real-time customer feedback, boost sales, and manage customer relationships with ease.
377
+ 3. From the LiveChat dashboard you can monitor all traffic and actively initiate a chat whenever you feel your visitor needs help.
378
+ 4. Customize all of the settings and messaging of your live chat widget to match the style and look of your brand.
379
+ 5. LiveChat keeps a full record of your chat conversations. Use them to learn more about customers and refine your customer service.
380
+ 6. Freely create and manage LiveChat accounts for your customer service team. You can create as many agent accounts for as many agents as you wish.
381
+ 7. LiveChat reports help you measure and prove the benefits of live chat for your sales and customer service.
382
+
383
+ == Changelog ==
384
+
385
+ = 3.8.1 =
386
+ * more secure way of displaying deactivation feedback modal
387
+
388
+ = 3.8.0 =
389
+ * plugin redesign
390
+ * deactivation feedback modal