Version Description
- Signup process is now linked to zopim.com as per Wordpress guidelines.
Download this release
Release Info
Developer | bencxr |
Plugin | Zendesk Chat |
Version | 1.2.0 |
Comparing to | |
See all releases |
Code changes from version 1.1.3 to 1.2.0
- accountconfig.php +119 -247
- customizewidget.php +233 -233
- imintegration.php +65 -65
- readme.txt +11 -7
- zopim.php +24 -23
accountconfig.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// Settings page in the admin panel
|
4 |
function zopim_account_config() {
|
5 |
-
|
6 |
|
7 |
?>
|
8 |
|
@@ -10,288 +10,160 @@ function zopim_account_config() {
|
|
10 |
|
11 |
<?php
|
12 |
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
<div class="postbox">
|
90 |
<h3 class="hndle"><span>Account no longer linked!</span></h3>
|
91 |
<div style="padding:10px;line-height:17px;">
|
92 |
-
|
93 |
</div>
|
94 |
-
</div>
|
95 |
-
|
96 |
;
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
?>
|
109 |
<div id="icon-options-general" class="icon32"><br/></div><h2>Set up your Zopim Account</h2>
|
110 |
<br/>
|
111 |
<div style="background:#FFFEEB;padding:25px;border:1px solid #eee;">
|
112 |
<span style="float:right;"><a href="admin.php?page=zopim_account_config&action=deactivate">Deactivate</a></span>
|
113 |
-
Currently Activated Account → <b><?php echo get_option('zopimUsername'); ?></b> <div style="display:inline-block;background:#444;color:#fff;font-size:10px;text-transform:uppercase;padding:3px 8px;-moz-border-radius:5px;-webkit-border-radius:5px;"><?php echo ucwords($accountDetails->package_id); ?></div>
|
114 |
<br><p><br>You can <a href="admin.php?page=zopim_customize_widget">customize</a> the chat widget, <a href="admin.php?page=zopim_instant_messaging">relay messages</a> to your favourite IM client, or <a href="admin.php?page=zopim_dashboard">launch the dashboard</a> for advanced features.
|
115 |
</div>
|
116 |
|
117 |
<?php } else { ?>
|
118 |
<div id="icon-options-general" class="icon32"><br/></div><h2>Set up your Zopim Account</h2>
|
119 |
<?php if ($error && $error["auth"]) {
|
120 |
-
|
121 |
-
|
122 |
Congratulations on successfully installing the Zopim WordPress plugin! Activate an account to start using Zopim Live Chat.<br>
|
123 |
<br>
|
124 |
<?php } else { echo $message; } ?>
|
125 |
|
126 |
-
<
|
127 |
-
|
128 |
-
function showSignup(whichform) {
|
129 |
-
if (whichform == '1') {
|
130 |
-
document.getElementById('existingform').style.display = "none";
|
131 |
-
document.getElementById('signupform').style.display = "block";
|
132 |
-
document.getElementById('formtoshow_signup').checked = 'true';
|
133 |
-
} else {
|
134 |
-
document.getElementById('signupform').style.display = "none";
|
135 |
-
document.getElementById('existingform').style.display = "block";
|
136 |
-
document.getElementById('formtoshow_existing').checked = 'true';
|
137 |
-
}
|
138 |
-
}
|
139 |
-
|
140 |
-
|
141 |
-
</script>
|
142 |
-
<div class="metabox-holder">
|
143 |
-
<div class="postbox">
|
144 |
-
<h3 class="hndle"><span>Select a Setup</span></h3>
|
145 |
-
<div style="padding:10px;">
|
146 |
-
<div onclick="javascript: showSignup(1)"><input type="radio" name="formtoshow" id="formtoshow_signup" value="yes" onchange="javascript: showSignup(1)"/> Give me a new account — <i>absolutely free!</i></div>
|
147 |
-
<br/>
|
148 |
-
<div onclick="javascript: showSignup(0)"><input type="radio" name="formtoshow" id="formtoshow_existing" value="no" onchange="javascript: showSignup(0)"/> I already have a Zopim account</div>
|
149 |
-
</div>
|
150 |
-
</div>
|
151 |
-
</div>
|
152 |
-
|
153 |
-
|
154 |
-
<div id="existingform" style="display: none">
|
155 |
<div class="metabox-holder">
|
156 |
<div class="postbox">
|
157 |
<h3 class="hndle"><span>Link up to your Zopim account</span></h3>
|
158 |
<div style="padding:10px;">
|
159 |
<?php if (isset($error) && isset($error["login"])) { echo $error["login"]; } ?>
|
160 |
<form method="post" action="admin.php?page=zopim_account_config">
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
<br/>
|
180 |
The Zopim chat bar will displayed on your blog once your account is linked up.
|
181 |
-
<br
|
182 |
-
|
183 |
-
|
184 |
-
|
|
|
185 |
|
186 |
</form>
|
187 |
|
188 |
</div>
|
189 |
-
</div>
|
190 |
</div>
|
191 |
</div>
|
192 |
|
193 |
-
<div id="signupform" style="display: none">
|
194 |
-
<div class="metabox-holder">
|
195 |
-
<div class="postbox">
|
196 |
-
<h3 class="hndle"><span>Activate your free Zopim Account</span></h3>
|
197 |
-
<div style="padding:10px;">
|
198 |
-
<form method="post" action="admin.php?page=zopim_account_config" onSubmit="return checkSignUp();">
|
199 |
-
<input type="hidden" name="action" value="signup">
|
200 |
-
<div id="signuperror"></div>
|
201 |
-
<table class="form-table">
|
202 |
-
|
203 |
-
<tr valign="top">
|
204 |
-
<th scope="row">First Name</th>
|
205 |
-
<td><input id="zopimfirstname" type="text" name="zopimfirstname" value="<?php if (isset($_POST["zopimfirstname"])) { echo $_POST["zopimfirstname"]; } else { echo $current_user->data->first_name; } ?>"></td>
|
206 |
-
</tr>
|
207 |
-
|
208 |
-
<tr valign="top">
|
209 |
-
<th scope="row">Last Name</th>
|
210 |
-
<td><input id="zopimlastname" type="text" name="zopimlastname" value="<?php if (isset($_POST["zopimlastname"])) { echo $_POST["zopimnlastname"]; } else { echo $current_user->data->last_name; } ?>"></td>
|
211 |
-
</tr>
|
212 |
-
|
213 |
-
<tr valign="top">
|
214 |
-
<th scope="row">E-mail</th>
|
215 |
-
<td><input id="zopimnewemail" type="text" name="zopimnewemail" value="<?php if (isset($_POST["zopimnewemail"])) { echo $_POST["zopimnewemail"]; } else { echo $current_user->data->user_email; } ?>"></td>
|
216 |
-
</tr>
|
217 |
-
|
218 |
-
<tr valign="top">
|
219 |
-
<th scope="row">Use SSL</th>
|
220 |
-
<td><input type="checkbox" name="zopimUseSSL" value="zopimUseSSL" checked="checked" } ?> uncheck this if you are unable to login</td>
|
221 |
-
</tr>
|
222 |
-
|
223 |
-
<tr valign="top">
|
224 |
-
<th scope="row">Verification</th>
|
225 |
-
<td>
|
226 |
-
<script type="text/javascript" src="https://api-secure.recaptcha.net/challenge?k=6Lfr8AQAAAAAAC7MpRXM2hgLfyss_KKjvcJ_JFIk">
|
227 |
-
</script>
|
228 |
-
<noscript>
|
229 |
-
<iframe src="https://api-secure.recaptcha.net/noscript?k=6Lfr8AQAAAAAAC7MpRXM2hgLfyss_KKjvcJ_JFIk"
|
230 |
-
height="300" width="500" frameborder="0"></iframe><br>
|
231 |
-
<textarea name="recaptcha_challenge_field" rows="3" cols="40">
|
232 |
-
</textarea>
|
233 |
-
<input type="hidden" name="recaptcha_response_field"
|
234 |
-
value="manual_challenge">
|
235 |
-
</noscript>
|
236 |
-
|
237 |
-
</td>
|
238 |
-
</tr>
|
239 |
-
<!--
|
240 |
-
<tr valign="top">
|
241 |
-
<th scope="row">Referral E-mail or ID</th>
|
242 |
-
<td><input id="zopimeref" type="text" name="zopimeref" value="<?php if (isset($_POST)) { echo $_POST["zopimeref"]; } ?>"></td>
|
243 |
-
</tr>
|
244 |
-
-->
|
245 |
-
</table>
|
246 |
-
<br/>
|
247 |
-
The Zopim chat bar will displayed on your blog once your account is activated.<br/><br/>
|
248 |
-
<input id="zopimagree" type="checkbox" name="zopimagree" value=""> I agree to Zopim's <a href="http://www.zopim.com/termsnconditions" target="_blank">Terms of Service</a> & <a href="http://www.zopim.com/privacypolicy" target="_blank">Privacy Policy</a>.
|
249 |
-
<br/><br/>
|
250 |
-
<p class="submit">
|
251 |
-
<input type="submit" class="button-primary" value="<?php _e('Activate Now') ?>" />
|
252 |
-
</p>
|
253 |
-
</form>
|
254 |
-
</div>
|
255 |
-
</div>
|
256 |
-
</div>
|
257 |
-
|
258 |
-
</div>
|
259 |
</div>
|
260 |
-
|
261 |
-
<script type="text/javascript">
|
262 |
-
<?php
|
263 |
-
if ($authenticated != "ok" && !isset($gotologin) && get_option("zopimCode")=="zopim") {
|
264 |
-
echo "showSignup(1); ";
|
265 |
-
} else {
|
266 |
-
echo "showSignup(0); ";
|
267 |
-
}
|
268 |
-
|
269 |
-
?>
|
270 |
-
|
271 |
-
function checkSignUp() {
|
272 |
-
|
273 |
-
var message = 'Oops! ';
|
274 |
-
if (document.getElementById('zopimfirstname').value == '') {
|
275 |
-
|
276 |
-
message = message + 'First name is required. ';
|
277 |
-
}
|
278 |
-
if (document.getElementById('zopimlastname').value == '') {
|
279 |
-
|
280 |
-
message = message + 'Last name is required. ';
|
281 |
-
}
|
282 |
-
if (document.getElementById('zopimagree').checked == '') {
|
283 |
-
|
284 |
-
message = message + 'You must agree to our Terms of Service to continue. ';
|
285 |
-
}
|
286 |
-
|
287 |
-
if (message != 'Oops! ') {
|
288 |
-
|
289 |
-
document.getElementById('signuperror').innerHTML = message;
|
290 |
-
return false;
|
291 |
-
}
|
292 |
|
293 |
-
return true;
|
294 |
-
}
|
295 |
-
</script>
|
296 |
|
297 |
<?php } } ?>
|
2 |
|
3 |
// Settings page in the admin panel
|
4 |
function zopim_account_config() {
|
5 |
+
global $usernameToCodeURL, $languagesURL, $current_user;
|
6 |
|
7 |
?>
|
8 |
|
10 |
|
11 |
<?php
|
12 |
|
13 |
+
if ($_GET["action"]=="deactivate") {
|
14 |
+
update_option('zopimSalt', "");
|
15 |
+
update_option('zopimCode', "zopim");
|
16 |
+
}
|
17 |
+
|
18 |
+
$message = "";
|
19 |
+
if ($_POST["action"]=="login") {
|
20 |
+
if ($_POST["zopimUseSSL"] == "") {
|
21 |
+
$_POST["zopimUseSSL"] = "nossl";
|
22 |
+
}
|
23 |
+
update_option('zopimUseSSL', $_POST["zopimUseSSL"]);
|
24 |
+
|
25 |
+
if ($_POST["zopimPassword"] != "password") {
|
26 |
+
|
27 |
+
$logindata = array("email" => $_POST["zopimUsername"], "password" => $_POST["zopimPassword"]);
|
28 |
+
$loginresult = json_to_array(do_post_request(ZOPIM_LOGIN_URL, $logindata));
|
29 |
+
|
30 |
+
if (isset($loginresult->error)) {
|
31 |
+
$error["login"] = "<b>Could not log in to Zopim. Please check your login details. If problem persists, try connecting without SSL enabled.</b>";
|
32 |
+
$gotologin = 1;
|
33 |
+
update_option('zopimSalt', "wronglogin");
|
34 |
+
} else if (isset($loginresult->salt)) {
|
35 |
+
update_option('zopimUsername', $_POST["zopimUsername"]);
|
36 |
+
update_option('zopimSalt', $loginresult->salt);
|
37 |
+
$account = getAccountDetails(get_option('zopimSalt'));
|
38 |
+
|
39 |
+
if (isset($account)) {
|
40 |
+
update_option('zopimCode', $account->account_key);
|
41 |
+
|
42 |
+
if (get_option('zopimGreetings') == "") {
|
43 |
+
$jsongreetings = to_json($account->settings->greetings);
|
44 |
+
update_option('zopimGreetings', $jsongreetings);
|
45 |
+
}
|
46 |
+
}
|
47 |
+
} else {
|
48 |
+
update_option('zopimSalt', "");
|
49 |
+
$error["login"] = "<b>Could not log in to Zopim. We were unable to contact Zopim servers. Please check with your server administrator to ensure that <a href='http://www.php.net/manual/en/book.curl.php'>PHP Curl</a> is installed and permissions are set correctly.</b>";
|
50 |
+
}
|
51 |
+
}
|
52 |
+
} else if ($_POST["action"]=="signup") {
|
53 |
+
|
54 |
+
if ($_POST["zopimUseSSL"] == "") {
|
55 |
+
$_POST["zopimUseSSL"] = "nossl";
|
56 |
+
}
|
57 |
+
update_option('zopimUseSSL', $_POST["zopimUseSSL"]);
|
58 |
+
|
59 |
+
$createdata = array(
|
60 |
+
"email" => $_POST["zopimnewemail"],
|
61 |
+
"first_name" => $_POST["zopimfirstname"],
|
62 |
+
"last_name" => $_POST["zopimlastname"],
|
63 |
+
"display_name" => $_POST["zopimfirstname"]." ".$_POST["zopimlastname"],
|
64 |
+
"eref" => $_POST["zopimeref"],
|
65 |
+
"source" => "wordpress",
|
66 |
+
"recaptcha_challenge_field" => $_POST["recaptcha_challenge_field"],
|
67 |
+
"recaptcha_response_field" => $_POST["recaptcha_response_field"]
|
68 |
+
);
|
69 |
+
|
70 |
+
$signupresult = json_to_array(do_post_request(ZOPIM_SIGNUP_URL, $createdata));
|
71 |
+
if (isset($signupresult->error)) {
|
72 |
+
$message = "<div style='color:#c33;'>Error during activation: <b>".$signupresult->error."</b>. Please try again.</div>";
|
73 |
+
} else if (isset($signupresult->account_key)) {
|
74 |
+
$message = "<b>Thank you for signing up. Please check your mail for your password to complete the process. </b>";
|
75 |
+
$gotologin = 1;
|
76 |
+
} else {
|
77 |
+
$message = "<b>Could not activate account. The wordpress installation was unable to contact Zopim servers. Please check with your server administrator to ensure that <a href='http://www.php.net/manual/en/book.curl.php'>PHP Curl</a> is installed and permissions are set correctly.</b>";
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
+
if (get_option('zopimCode') != "" && get_option('zopimCode') != "zopim") {
|
82 |
+
|
83 |
+
$accountDetails = getAccountDetails(get_option('zopimSalt'));
|
84 |
+
|
85 |
+
if (!isset($accountDetails) || isset($accountDetails->error)) {
|
86 |
+
$gotologin = 1;
|
87 |
+
$error["auth"] = '
|
88 |
+
<div class="metabox-holder">
|
89 |
<div class="postbox">
|
90 |
<h3 class="hndle"><span>Account no longer linked!</span></h3>
|
91 |
<div style="padding:10px;line-height:17px;">
|
92 |
+
We could not verify your Zopim account. Please check your password and try again.
|
93 |
</div>
|
94 |
+
</div>
|
95 |
+
</div>'
|
96 |
;
|
97 |
+
} else {
|
98 |
+
$authenticated = "ok";
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
if ($authenticated == "ok") {
|
103 |
+
if ($accountDetails->package_id=="trial") {
|
104 |
+
$accountDetails->package_id = "Free Lite Package + 14 Days Full-features";
|
105 |
+
} else {
|
106 |
+
$accountDetails->package_id .= " Package";
|
107 |
+
}
|
108 |
?>
|
109 |
<div id="icon-options-general" class="icon32"><br/></div><h2>Set up your Zopim Account</h2>
|
110 |
<br/>
|
111 |
<div style="background:#FFFEEB;padding:25px;border:1px solid #eee;">
|
112 |
<span style="float:right;"><a href="admin.php?page=zopim_account_config&action=deactivate">Deactivate</a></span>
|
113 |
+
Currently Activated Account → <b><?php echo get_option('zopimUsername'); ?></b> <div style="display:inline-block;background:#444;color:#fff;font-size:10px;text-transform:uppercase;padding:3px 8px;-moz-border-radius:5px;-webkit-border-radius:5px;"><?php echo ucwords($accountDetails->package_id); ?></div>
|
114 |
<br><p><br>You can <a href="admin.php?page=zopim_customize_widget">customize</a> the chat widget, <a href="admin.php?page=zopim_instant_messaging">relay messages</a> to your favourite IM client, or <a href="admin.php?page=zopim_dashboard">launch the dashboard</a> for advanced features.
|
115 |
</div>
|
116 |
|
117 |
<?php } else { ?>
|
118 |
<div id="icon-options-general" class="icon32"><br/></div><h2>Set up your Zopim Account</h2>
|
119 |
<?php if ($error && $error["auth"]) {
|
120 |
+
echo $error["auth"];
|
121 |
+
} else if ($message == "") { ?>
|
122 |
Congratulations on successfully installing the Zopim WordPress plugin! Activate an account to start using Zopim Live Chat.<br>
|
123 |
<br>
|
124 |
<?php } else { echo $message; } ?>
|
125 |
|
126 |
+
<div id="existingform">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
<div class="metabox-holder">
|
128 |
<div class="postbox">
|
129 |
<h3 class="hndle"><span>Link up to your Zopim account</span></h3>
|
130 |
<div style="padding:10px;">
|
131 |
<?php if (isset($error) && isset($error["login"])) { echo $error["login"]; } ?>
|
132 |
<form method="post" action="admin.php?page=zopim_account_config">
|
133 |
+
<input type="hidden" name="action" value="login">
|
134 |
+
<table class="form-table">
|
135 |
+
|
136 |
+
<tr valign="top">
|
137 |
+
<th scope="row">Zopim Username (E-mail)</th>
|
138 |
+
<td><input type="text" name="zopimUsername" value="<?php echo get_option('zopimUsername'); ?>" /></td>
|
139 |
+
</tr>
|
140 |
+
|
141 |
+
<tr valign="top">
|
142 |
+
<th scope="row">Zopim Password</th>
|
143 |
+
<td><input type="password" name="zopimPassword" value="<?php if (get_option('zopimSalt') != "") { echo "password"; }; ?>" /></td>
|
144 |
+
</tr>
|
145 |
+
|
146 |
+
<tr valign="center">
|
147 |
+
<th scope="row">Use SSL</th>
|
148 |
+
<td><input type="checkbox" name="zopimUseSSL" value="zopimUseSSL" <?php if (get_option('zopimUseSSL') == "zopimUseSSL") { echo "checked='checked'"; } ?> /> uncheck this if you are unable to login</td>
|
149 |
+
</tr>
|
150 |
+
</table>
|
151 |
<br/>
|
152 |
The Zopim chat bar will displayed on your blog once your account is linked up.
|
153 |
+
<br/>
|
154 |
+
<p class="submit">
|
155 |
+
<input type="submit" class="button-primary" value="<?php _e('Link Up') ?>" />
|
156 |
+
Don't have a zopim account? <a href="<?php echo ZOPIM_SIGNUP_REDIRECT_URL; ?>" target="_blank" data-popup="true">Sign up now</a>.
|
157 |
+
</p>
|
158 |
|
159 |
</form>
|
160 |
|
161 |
</div>
|
162 |
+
</div>
|
163 |
</div>
|
164 |
</div>
|
165 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
|
|
|
|
|
|
|
168 |
|
169 |
<?php } } ?>
|
customizewidget.php
CHANGED
@@ -3,24 +3,24 @@
|
|
3 |
// Zopim Customize Widget Page
|
4 |
|
5 |
function zopim_customize_widget() {
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
update_checkbox("zopimUseBubble");
|
25 |
|
26 |
if (isset($_POST['zopimUseGreetings']) && $_POST['zopimUseGreetings'] != "") {
|
@@ -34,84 +34,84 @@ function zopim_customize_widget() {
|
|
34 |
update_option('zopimGreetings', to_json($greetings));
|
35 |
}
|
36 |
|
37 |
-
|
38 |
-
|
39 |
|
40 |
-
|
41 |
|
42 |
-
|
43 |
|
44 |
-
|
45 |
-
|
46 |
<div class="postbox">
|
47 |
<h3 class="hndle"><span>Customizing in Demo Mode</span></h3>
|
48 |
<div style="padding:10px;line-height:17px;">
|
49 |
-
|
50 |
</div>
|
51 |
-
</div>
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
else if (isset($accountDetails->error)) {
|
57 |
-
|
58 |
<div class="postbox">
|
59 |
<h3 class="hndle"><span>Account no longer linked!</span></h3>
|
60 |
<div style="padding:10px;line-height:17px;">
|
61 |
-
|
|
|
62 |
</div>
|
63 |
-
</div>
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
// unset($accountDetails->color_customization_enabled);
|
71 |
?>
|
72 |
|
73 |
-
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
else {
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
|
88 |
-
|
89 |
|
90 |
-
|
91 |
-
|
92 |
|
93 |
if (document.getElementById("zopimUseBubble").checked) {
|
94 |
$zopim.livechat.bubble.setTitle(document.getElementById("zopimBubbleTitle").value);
|
95 |
-
|
96 |
}
|
97 |
else {
|
98 |
$zopim.livechat.bubble.setTitle('Questions?');
|
99 |
-
|
100 |
}
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
var value = document.getElementById("zopimBubbleEnable").value;
|
116 |
switch (value) {
|
117 |
case 'default':
|
@@ -124,18 +124,18 @@ function zopim_customize_widget() {
|
|
124 |
$zopim.livechat.bubble.hide();
|
125 |
break;
|
126 |
}
|
127 |
-
|
128 |
-
|
129 |
function greetingsChanged() {
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
|
134 |
-
|
135 |
|
136 |
-
|
137 |
document.getElementById(inputs[i]).disabled = isDisabled;
|
138 |
-
|
139 |
|
140 |
updateWidget();
|
141 |
}
|
@@ -153,13 +153,13 @@ function zopim_customize_widget() {
|
|
153 |
updateWidget();
|
154 |
}
|
155 |
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
|
162 |
-
|
163 |
|
164 |
<style type="text/css">
|
165 |
.smallExplanation {
|
@@ -195,7 +195,7 @@ line-height:21px;
|
|
195 |
cursor:pointer;
|
196 |
}
|
197 |
.sorry {
|
198 |
-
|
199 |
}
|
200 |
</style>
|
201 |
|
@@ -208,179 +208,179 @@ line-height:21px;
|
|
208 |
<div class="postbox">
|
209 |
<h3 class="hndle"><span>General Settings</span></h3>
|
210 |
<div style="padding:10px;">
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
<?php
|
217 |
-
|
218 |
-
|
219 |
?>
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
<?php
|
233 |
-
|
234 |
-
|
235 |
?>
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
<input onchange="updateWidget()" type="checkbox" id="zopimHideOnOffline" name="zopimHideOnOffline" value="zopimHideOnOffline" <?php if (get_option('zopimHideOnOffline') && get_option('zopimHideOnOffline')!="disabled") { echo "checked='checked'"; } ?> /> Prevents visitors from sending you offline messages
|
246 |
<a href="#" onclick="$zopim.livechat.button.show();return false">(Show preview chat bar)</a>
|
247 |
</td>
|
248 |
-
|
249 |
-
|
250 |
</div>
|
251 |
-
</div>
|
252 |
</div>
|
253 |
<div class="metabox-holder">
|
254 |
<div class="postbox">
|
255 |
<h3 class="hndle"><span>Color & Theme Settings</span></h3>
|
256 |
<div style="padding:10px;">
|
257 |
Theme settings show up instantly on the preview widget. Try it out!<br/>
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
<?php
|
263 |
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
?>
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
<?php
|
287 |
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
?>
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
</div>
|
306 |
-
</div>
|
307 |
</div>
|
308 |
|
309 |
-
<?php
|
310 |
-
|
311 |
?>
|
312 |
<div class="metabox-holder">
|
313 |
<div class="postbox">
|
314 |
<h3 class="hndle"><span>Help Bubble Settings</span></h3>
|
315 |
<div style="padding:10px;">
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
<td colspan="2"><div class="secthead">Help Bubble Text</div></td>
|
323 |
</tr>
|
324 |
-
|
325 |
<td colspan="2"><input type="checkbox" id="zopimUseBubble" onchange="bubbleChanged()" value="zopimUseBubble" name="zopimUseBubble" <?php if ($useBubble) { echo "checked='checked'"; } ?>/> Enable help bubble text settings (override dashboard settings) - save settings to view changes.</td>
|
326 |
</tr>
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
</div>
|
337 |
-
</div>
|
338 |
</div>
|
339 |
|
340 |
-
<?php
|
341 |
-
|
342 |
?>
|
343 |
<div class="metabox-holder">
|
344 |
<div class="postbox">
|
345 |
<h3 class="hndle"><span>Greeting Message Settings</span></h3>
|
346 |
<div style="padding:10px;">
|
347 |
-
|
348 |
-
|
349 |
<td colspan="2"><input type="checkbox" id="zopimUseGreetings" onchange="greetingsChanged()" value="zopimUseGreetings" name="zopimUseGreetings" <?php if ($useGreetings) { echo "checked='checked'"; } ?>/> Enable greeting message settings (override dashboard settings) </td>
|
350 |
</tr>
|
351 |
-
|
352 |
<td colspan="2"><div class="secthead">Message Shown on Chat Bar (max 26 characters)</div></td>
|
353 |
</tr>
|
354 |
-
|
355 |
<th scope="row" class="sethead">Online</th>
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
<td colspan="2"><div class="secthead">Message Shown on Chat Panel (max 140 characters)</div></td>
|
368 |
</tr>
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
</div>
|
383 |
-
</div>
|
384 |
</div>
|
385 |
|
386 |
<p class="submit">
|
@@ -390,38 +390,38 @@ line-height:21px;
|
|
390 |
</form>
|
391 |
</div>
|
392 |
|
393 |
-
<?php }
|
394 |
|
395 |
function valuekeys($array) {
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
}
|
400 |
|
401 |
function generate_options($options, $current) {
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
}
|
414 |
|
415 |
function get_languages() {
|
416 |
$langjson = '{"--":" - Auto Detect - ","ar":"Arabic","bn":"Bengali","bg":"Bulgarian","zh_CN":"Chinese (China)","zh_TW":"Chinese (Taiwan)","hr":"Croatian","cs":"Czech","da":"Danish","nl":"Dutch; Flemish","et":"Estonian","fo":"Faroese","fi":"Finnish","fr":"French","ka":"Georgian","de":"German","el":"Greek","he":"Hebrew","hu":"Hungarian","is":"Icelandic","id":"Indonesian","it":"Italian","ja":"Japanese","ko":"Korean","ku":"Kurdish","lv":"Latvian","lt":"Lithuanian","mk":"Macedonian","ms":"Malay","nb":"Norwegian Bokmal","fa":"Persian","pl":"Polish","pt":"Portuguese","pt_BR":"Portuguese (Brazil)","ro":"Romanian","ru":"Russian","sr":"Serbian","sk":"Slovak","sl":"Slovenian","es":"Spanish; Castilian","sv":"Swedish","th":"Thai","tr":"Turkish","uk":"Ukrainian","ur":"Urdu","vi":"Vietnamese"}';
|
417 |
-
|
418 |
}
|
419 |
|
420 |
function update_checkbox($fieldname) {
|
421 |
-
|
422 |
-
|
423 |
else
|
424 |
-
|
425 |
}
|
426 |
|
427 |
?>
|
3 |
// Zopim Customize Widget Page
|
4 |
|
5 |
function zopim_customize_widget() {
|
6 |
+
global $current_user;
|
7 |
+
$ul = $current_user->data->first_name;
|
8 |
+
$useremail = $current_user->data->user_email;
|
9 |
+
$greetings = json_to_array(get_option('zopimGreetings'));
|
10 |
+
$message = "";
|
11 |
+
|
12 |
+
if (count($_POST) > 0) {
|
13 |
+
update_option('zopimLang', $_POST["zopimLang"]);
|
14 |
+
update_option('zopimPosition', $_POST["zopimPosition"]);
|
15 |
+
update_option("zopimBubbleEnable", $_POST["zopimBubbleEnable"] );
|
16 |
+
update_option('zopimColor', $_POST["zopimColor"]);
|
17 |
+
update_option('zopimTheme', $_POST["zopimTheme"]);
|
18 |
+
update_option('zopimBubbleTitle', stripslashes($_POST["zopimBubbleTitle"]));
|
19 |
+
update_option('zopimBubbleText', stripslashes($_POST["zopimBubbleText"]));
|
20 |
+
|
21 |
+
update_checkbox("zopimGetVisitorInfo");
|
22 |
+
update_checkbox("zopimHideOnOffline");
|
23 |
+
update_checkbox("zopimUseGreetings");
|
24 |
update_checkbox("zopimUseBubble");
|
25 |
|
26 |
if (isset($_POST['zopimUseGreetings']) && $_POST['zopimUseGreetings'] != "") {
|
34 |
update_option('zopimGreetings', to_json($greetings));
|
35 |
}
|
36 |
|
37 |
+
$message = "<b>Changes saved!</b><br>";
|
38 |
+
}
|
39 |
|
40 |
+
zopimme();
|
41 |
|
42 |
+
$accountDetails = getAccountDetails(get_option('zopimSalt'));
|
43 |
|
44 |
+
if (get_option('zopimCode')=="zopim") {
|
45 |
+
$message = '<div class="metabox-holder">
|
46 |
<div class="postbox">
|
47 |
<h3 class="hndle"><span>Customizing in Demo Mode</span></h3>
|
48 |
<div style="padding:10px;line-height:17px;">
|
49 |
+
Currently customizing in demo mode. Messages in this widget will go to Zopim staff. The chat widget will not appear on your site until you <a href="admin.php?page=zopim_account_config">activate / link up an account</a>. <br>
|
50 |
</div>
|
51 |
+
</div>
|
52 |
+
</div>';
|
53 |
+
$accountDetails->widget_customization_enabled = 1;
|
54 |
+
$accountDetails->color_customization_enabled = 1;
|
55 |
+
}
|
56 |
else if (isset($accountDetails->error)) {
|
57 |
+
$message = '<div class="metabox-holder">
|
58 |
<div class="postbox">
|
59 |
<h3 class="hndle"><span>Account no longer linked!</span></h3>
|
60 |
<div style="padding:10px;line-height:17px;">
|
61 |
+
We could not connect to your Zopim account. As a result, this customization page is running in demo mode.<br> Please <a href="admin.php?page=zopim_account_config">check your password in account setup</a> and try again.
|
62 |
+
</div>
|
63 |
</div>
|
64 |
+
</div>';
|
65 |
+
}
|
66 |
+
else {
|
67 |
+
$message .= "Click 'Save Changes' when you're done. Happy customizing!";
|
68 |
+
}
|
69 |
+
// unset($accountDetails->widget_customization_enabled);
|
70 |
+
// unset($accountDetails->color_customization_enabled);
|
|
|
71 |
?>
|
72 |
|
73 |
+
<script type="text/javascript">
|
74 |
|
75 |
+
function updateWidget() {
|
76 |
+
var lang = document.getElementById('zopimLang').options[ document.getElementById('zopimLang').options.selectedIndex ].value;
|
77 |
+
$zopim.livechat.setLanguage(lang);
|
78 |
|
79 |
+
if (document.getElementById("zopimGetVisitorInfo").checked) {
|
80 |
+
$zopim.livechat.setName('<?php echo $ul; ?>');
|
81 |
+
$zopim.livechat.setEmail('<?php echo $useremail; ?>');
|
82 |
+
}
|
83 |
else {
|
84 |
+
$zopim.livechat.setName('Visitor');
|
85 |
+
$zopim.livechat.setEmail('');
|
86 |
+
}
|
87 |
|
88 |
+
document.getElementById("zopimHideOnOffline").checked? $zopim.livechat.button.setHideWhenOffline(true): $zopim.livechat.button.setHideWhenOffline(false);
|
89 |
|
90 |
+
$zopim.livechat.window.setColor(document.getElementById("zopimColor").value);
|
91 |
+
$zopim.livechat.window.setTheme(document.getElementById("zopimTheme").value);
|
92 |
|
93 |
if (document.getElementById("zopimUseBubble").checked) {
|
94 |
$zopim.livechat.bubble.setTitle(document.getElementById("zopimBubbleTitle").value);
|
95 |
+
$zopim.livechat.bubble.setText(document.getElementById("zopimBubbleText").value);
|
96 |
}
|
97 |
else {
|
98 |
$zopim.livechat.bubble.setTitle('Questions?');
|
99 |
+
$zopim.livechat.bubble.setText('Click here to chat with us!');
|
100 |
}
|
101 |
+
|
102 |
+
$zopim.livechat.setGreetings({
|
103 |
+
'online': [document.getElementById("zopimOnlineShort").value, document.getElementById("zopimOnlineLong").value],
|
104 |
+
'offline': [document.getElementById("zopimOfflineShort").value, document.getElementById("zopimOfflineLong").value],
|
105 |
+
'away': [document.getElementById("zopimAwayShort").value, document.getElementById("zopimAwayLong").value]
|
106 |
+
});
|
107 |
+
}
|
108 |
+
|
109 |
+
function updatePosition() {
|
110 |
+
var position = document.getElementById('zopimPosition').options[ document.getElementById('zopimPosition').options.selectedIndex ].value;
|
111 |
+
$zopim.livechat.button.setPosition(position);
|
112 |
+
}
|
113 |
+
|
114 |
+
function updateBubbleStatus() {
|
115 |
var value = document.getElementById("zopimBubbleEnable").value;
|
116 |
switch (value) {
|
117 |
case 'default':
|
124 |
$zopim.livechat.bubble.hide();
|
125 |
break;
|
126 |
}
|
127 |
+
}
|
128 |
+
|
129 |
function greetingsChanged() {
|
130 |
+
var inputs = [ 'zopimOnlineShort', 'zopimAwayShort', 'zopimOfflineShort',
|
131 |
+
'zopimOnlineLong' , 'zopimAwayLong', 'zopimOfflineLong' ];
|
132 |
+
var isDisabled = false;
|
133 |
|
134 |
+
document.getElementById('zopimUseGreetings').checked? (isDisabled = false): (isDisabled = true);
|
135 |
|
136 |
+
for (var i=0; i<inputs.length; i++) {
|
137 |
document.getElementById(inputs[i]).disabled = isDisabled;
|
138 |
+
}
|
139 |
|
140 |
updateWidget();
|
141 |
}
|
153 |
updateWidget();
|
154 |
}
|
155 |
|
156 |
+
var timer;
|
157 |
+
function updateSoon() {
|
158 |
+
clearTimeout(timer);
|
159 |
+
timer = setTimeout("updateWidget()", 300);
|
160 |
+
}
|
161 |
|
162 |
+
</script>
|
163 |
|
164 |
<style type="text/css">
|
165 |
.smallExplanation {
|
195 |
cursor:pointer;
|
196 |
}
|
197 |
.sorry {
|
198 |
+
color:#c33;
|
199 |
}
|
200 |
</style>
|
201 |
|
208 |
<div class="postbox">
|
209 |
<h3 class="hndle"><span>General Settings</span></h3>
|
210 |
<div style="padding:10px;">
|
211 |
+
<table class="form-table">
|
212 |
+
<tr valign="top">
|
213 |
+
<th scope="row" class="sethead">Language</th>
|
214 |
+
<td>
|
215 |
+
<select name="zopimLang" id="zopimLang" onchange="updateWidget()">
|
216 |
+
<?php
|
217 |
+
$languages = get_languages();
|
218 |
+
echo generate_options($languages, get_option('zopimLang'));
|
219 |
?>
|
220 |
+
</select>
|
221 |
+
</td>
|
222 |
+
</tr>
|
223 |
+
<tr valign="top" style="display:none;">
|
224 |
+
<th scope="row">Use Logged in Username / Email</th>
|
225 |
+
<td><input onchange="updateWidget()" type="checkbox" id="zopimGetVisitorInfo" name="zopimGetVisitorInfo" value="zopimGetVisitorInfo" <?php if (get_option('zopimGetVisitorInfo')!="disabled") { echo "checked='checked'"; } ?> /></td>
|
226 |
+
</tr>
|
227 |
+
<tr valign="top">
|
228 |
+
<th scope="row" class="sethead">Position</th>
|
229 |
+
<td>
|
230 |
+
|
231 |
+
<select name="zopimPosition" id="zopimPosition" onchange="updatePosition()">
|
232 |
+
<?php
|
233 |
+
$positions = array("br" => "Bottom Right", "bl" => "Bottom Left");
|
234 |
+
echo generate_options($positions, get_option('zopimPosition'));
|
235 |
?>
|
236 |
+
</select>
|
237 |
+
</td>
|
238 |
+
</tr>
|
239 |
+
|
240 |
+
<tr valign="top">
|
241 |
+
<th scope="row">Hide chat bar when offline<br>
|
242 |
+
<!-- <div class="smallExplanation">Hide the chat bar when no agents are available to answer questions. This prevents visitors from sending you offline messages. </div> -->
|
243 |
+
</th>
|
244 |
+
<td>
|
245 |
+
<input onchange="updateWidget()" type="checkbox" id="zopimHideOnOffline" name="zopimHideOnOffline" value="zopimHideOnOffline" <?php if (get_option('zopimHideOnOffline') && get_option('zopimHideOnOffline')!="disabled") { echo "checked='checked'"; } ?> /> Prevents visitors from sending you offline messages
|
246 |
<a href="#" onclick="$zopim.livechat.button.show();return false">(Show preview chat bar)</a>
|
247 |
</td>
|
248 |
+
</tr>
|
249 |
+
</table>
|
250 |
</div>
|
251 |
+
</div>
|
252 |
</div>
|
253 |
<div class="metabox-holder">
|
254 |
<div class="postbox">
|
255 |
<h3 class="hndle"><span>Color & Theme Settings</span></h3>
|
256 |
<div style="padding:10px;">
|
257 |
Theme settings show up instantly on the preview widget. Try it out!<br/>
|
258 |
+
<table class="form-table" style="width: 700px">
|
259 |
+
<tr valign="top">
|
260 |
+
<td colspan="2">
|
261 |
+
<input type="hidden" id="zopimColor" name="zopimColor" value="<?php echo get_option('zopimColor'); ?>">
|
262 |
<?php
|
263 |
|
264 |
+
if ($accountDetails->color_customization_enabled == 1) {
|
265 |
+
echo "<div style='display:inline-block;border:11px solid #888;background:#888;color:#fee;'>";
|
266 |
+
$colors = curl_get_url(ZOPIM_COLORS_LIST);
|
267 |
+
$colors = explode("\n", $colors);
|
268 |
+
|
269 |
+
$i=0;
|
270 |
+
foreach ($colors as $color) {
|
271 |
+
echo "<div class='swatch' style='background-color: $color;' onclick=\"document.getElementById('zopimColor').value='$color'; updateWidget();\"> </div>";
|
272 |
+
if (++$i%40==0) {
|
273 |
+
echo "<br>";
|
274 |
+
}
|
275 |
+
}
|
276 |
+
echo "<br><a href=# style='color:#ff8' onclick=\"document.getElementById('zopimColor').value=''; updateWidget();\">Restore default color</a></div>";
|
277 |
+
} else {
|
278 |
+
echo "<div class='sorry'>Sorry, your plan does not allow for color customization. Please upgrade to enjoy choice of color!</div>";
|
279 |
+
}
|
280 |
?>
|
281 |
+
</td>
|
282 |
+
</tr>
|
283 |
+
<tr valign="top">
|
284 |
+
<th scope="row" class="sethead">Select A Theme</th>
|
285 |
+
<td style="width: 400px"><div align="left">
|
286 |
<?php
|
287 |
|
288 |
+
if ($accountDetails->widget_customization_enabled == 1) {
|
289 |
+
echo '<select name="zopimTheme" id="zopimTheme" onchange="updateWidget()">';
|
290 |
+
$themes = curl_get_url(ZOPIM_THEMES_LIST);
|
291 |
+
$themes = valuekeys(explode("\n", $themes));
|
292 |
+
ksort($themes);
|
293 |
+
|
294 |
+
echo generate_options($themes, get_option('zopimTheme'));
|
295 |
+
echo "</select> <a href='#' onclick='\$zopim.livechat.window.toggle();return false;'>Open the chat panel</a> to see changes";
|
296 |
+
}
|
297 |
+
else {
|
298 |
+
echo "<div class='sorry'>Sorry, your plan does not allow for theme customization. Please upgrade to enjoy choice of themes!</div>";
|
299 |
+
echo '<input type=hidden value="" name="zopimTheme" id="zopimTheme">';
|
300 |
+
}
|
301 |
+
?>
|
302 |
+
</td>
|
303 |
+
</tr>
|
304 |
+
</table>
|
305 |
</div>
|
306 |
+
</div>
|
307 |
</div>
|
308 |
|
309 |
+
<?php
|
310 |
+
(get_option('zopimUseBubble') && get_option('zopimUseBubble')!="disabled")? ($useBubble = true): ($useBubble = false);
|
311 |
?>
|
312 |
<div class="metabox-holder">
|
313 |
<div class="postbox">
|
314 |
<h3 class="hndle"><span>Help Bubble Settings</span></h3>
|
315 |
<div style="padding:10px;">
|
316 |
+
<table class="form-table">
|
317 |
+
<tr valign="top">
|
318 |
+
<th scope="row">Display Help Bubble<br></th>
|
319 |
+
<td><select onchange="updateBubbleStatus()" type="checkbox" id="zopimBubbleEnable" name="zopimBubbleEnable"> <?php $bubble_modes = array("default" => "Let user decide", "show" => "Always show", "hide" => "Always hide"); echo generate_options($bubble_modes, get_option('zopimBubbleEnable')); ?> </select>
|
320 |
+
</tr>
|
321 |
+
<tr>
|
322 |
<td colspan="2"><div class="secthead">Help Bubble Text</div></td>
|
323 |
</tr>
|
324 |
+
<tr>
|
325 |
<td colspan="2"><input type="checkbox" id="zopimUseBubble" onchange="bubbleChanged()" value="zopimUseBubble" name="zopimUseBubble" <?php if ($useBubble) { echo "checked='checked'"; } ?>/> Enable help bubble text settings (override dashboard settings) - save settings to view changes.</td>
|
326 |
</tr>
|
327 |
+
<tr valign="top">
|
328 |
+
<th scope="row" class="sethead">Help Bubble Title</th>
|
329 |
+
<td><input class="inputtextshort" name="zopimBubbleTitle" id="zopimBubbleTitle" onKeyup="updateSoon()" value="<?php echo get_option('zopimBubbleTitle'); ?>" <?php if(!$useBubble) { echo "disabled='disabled'"; } ?>><!-- <a href="#" onclick="updateBubbleStatus();">Refresh</a></td> -->
|
330 |
+
</tr>
|
331 |
+
<tr valign="top">
|
332 |
+
<th scope="row" class="sethead">Help Bubble Message</th>
|
333 |
+
<td><input class="inputtext" name="zopimBubbleText" id="zopimBubbleText" onKeyup="updateSoon()" value="<?php echo get_option('zopimBubbleText'); ?>" <?php if(!$useBubble) { echo "disabled='disabled'"; } ?>></td>
|
334 |
+
</tr>
|
335 |
+
</table>
|
336 |
</div>
|
337 |
+
</div>
|
338 |
</div>
|
339 |
|
340 |
+
<?php
|
341 |
+
(get_option('zopimUseGreetings') && get_option('zopimUseGreetings')!="disabled")? ($useGreetings = true): ($useGreetings = false);
|
342 |
?>
|
343 |
<div class="metabox-holder">
|
344 |
<div class="postbox">
|
345 |
<h3 class="hndle"><span>Greeting Message Settings</span></h3>
|
346 |
<div style="padding:10px;">
|
347 |
+
<table class="form-table">
|
348 |
+
<tr>
|
349 |
<td colspan="2"><input type="checkbox" id="zopimUseGreetings" onchange="greetingsChanged()" value="zopimUseGreetings" name="zopimUseGreetings" <?php if ($useGreetings) { echo "checked='checked'"; } ?>/> Enable greeting message settings (override dashboard settings) </td>
|
350 |
</tr>
|
351 |
+
<tr>
|
352 |
<td colspan="2"><div class="secthead">Message Shown on Chat Bar (max 26 characters)</div></td>
|
353 |
</tr>
|
354 |
+
<tr valign="top">
|
355 |
<th scope="row" class="sethead">Online</th>
|
356 |
+
<td><input class="inputtextshort" name="zopimOnlineShort" id="zopimOnlineShort" onKeyup="updateSoon()" value="<?php echo $greetings->online->bar; ?>" <?php if (!$useGreetings) echo "disabled='disabled'"?> maxlength="26"></td>
|
357 |
+
</tr>
|
358 |
+
<tr valign="top">
|
359 |
+
<th scope="row" class="sethead">Away</th>
|
360 |
+
<td><input class="inputtextshort" name="zopimAwayShort" id="zopimAwayShort" onKeyup="updateSoon()" value="<?php echo $greetings->away->bar; ?>" <?php if (!$useGreetings) echo "disabled='disabled'"?> maxlength="26"></td>
|
361 |
+
</tr>
|
362 |
+
<tr valign="top">
|
363 |
+
<th scope="row" class="sethead">Offline</th>
|
364 |
+
<td><input class="inputtextshort" name="zopimOfflineShort" id="zopimOfflineShort" onKeyup="updateSoon()" value="<?php echo $greetings->offline->bar; ?>" <?php if (!$useGreetings) echo "disabled='disabled'"?> maxlength="26"></td>
|
365 |
+
</tr>
|
366 |
+
<tr>
|
367 |
<td colspan="2"><div class="secthead">Message Shown on Chat Panel (max 140 characters)</div></td>
|
368 |
</tr>
|
369 |
+
<tr valign="top">
|
370 |
+
<th scope="row" class="sethead">Online</th>
|
371 |
+
<td><textarea class="inputtext" name="zopimOnlineLong" id="zopimOnlineLong" onKeyup="updateSoon()" <?php if (!$useGreetings) echo "disabled='disabled'"?> ><?php echo $greetings->online->window; ?></textarea></td>
|
372 |
+
</tr>
|
373 |
+
<tr valign="top">
|
374 |
+
<th scope="row" class="sethead">Away</th>
|
375 |
+
<td><textarea class="inputtext" name="zopimAwayLong" id="zopimAwayLong" onKeyup="updateSoon()" <?php if (!$useGreetings) echo "disabled='disabled'"?> ><?php echo $greetings->away->window; ?></textarea></td>
|
376 |
+
</tr>
|
377 |
+
<tr valign="top">
|
378 |
+
<th scope="row" class="sethead">Offline</th>
|
379 |
+
<td><textarea class="inputtext" name="zopimOfflineLong" id="zopimOfflineLong" onKeyup="updateSoon()" <?php if (!$useGreetings) echo "disabled='disabled'"?> ><?php echo $greetings->offline->window; ?></textarea></td>
|
380 |
+
</tr>
|
381 |
+
</table>
|
382 |
</div>
|
383 |
+
</div>
|
384 |
</div>
|
385 |
|
386 |
<p class="submit">
|
390 |
</form>
|
391 |
</div>
|
392 |
|
393 |
+
<?php }
|
394 |
|
395 |
function valuekeys($array) {
|
396 |
+
$newarray = array();
|
397 |
+
foreach ($array as $s) { $newarray[$s] = $s; }
|
398 |
+
return $newarray;
|
399 |
}
|
400 |
|
401 |
function generate_options($options, $current) {
|
402 |
+
$out = "";
|
403 |
+
foreach ($options as $key => $value) {
|
404 |
+
if ($value != "") {
|
405 |
+
$isselected = "";
|
406 |
+
if ($current == $key) {
|
407 |
+
$isselected = "selected";
|
408 |
+
}
|
409 |
+
$out .= '<option value="'.$key.'" '.$isselected.'>'.$value.'</option>';
|
410 |
+
}
|
411 |
+
}
|
412 |
+
return $out;
|
413 |
}
|
414 |
|
415 |
function get_languages() {
|
416 |
$langjson = '{"--":" - Auto Detect - ","ar":"Arabic","bn":"Bengali","bg":"Bulgarian","zh_CN":"Chinese (China)","zh_TW":"Chinese (Taiwan)","hr":"Croatian","cs":"Czech","da":"Danish","nl":"Dutch; Flemish","et":"Estonian","fo":"Faroese","fi":"Finnish","fr":"French","ka":"Georgian","de":"German","el":"Greek","he":"Hebrew","hu":"Hungarian","is":"Icelandic","id":"Indonesian","it":"Italian","ja":"Japanese","ko":"Korean","ku":"Kurdish","lv":"Latvian","lt":"Lithuanian","mk":"Macedonian","ms":"Malay","nb":"Norwegian Bokmal","fa":"Persian","pl":"Polish","pt":"Portuguese","pt_BR":"Portuguese (Brazil)","ro":"Romanian","ru":"Russian","sr":"Serbian","sk":"Slovak","sl":"Slovenian","es":"Spanish; Castilian","sv":"Swedish","th":"Thai","tr":"Turkish","uk":"Ukrainian","ur":"Urdu","vi":"Vietnamese"}';
|
417 |
+
return json_to_array($langjson);
|
418 |
}
|
419 |
|
420 |
function update_checkbox($fieldname) {
|
421 |
+
if (isset($_POST["$fieldname"]) && $_POST["$fieldname"] != "")
|
422 |
+
update_option($fieldname, $_POST["$fieldname"]);
|
423 |
else
|
424 |
+
update_option($fieldname, "disabled");
|
425 |
}
|
426 |
|
427 |
?>
|
imintegration.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
<?php
|
2 |
|
3 |
function zopim_instant_messaging() { ?>
|
4 |
|
5 |
<div class="wrap">
|
6 |
-
|
7 |
<h2>Relay your messages</h2>
|
8 |
Use your favourite Instant Messaging (IM) client to chat with your website visitors!<p>
|
9 |
|
@@ -13,22 +13,22 @@ Use your favourite Instant Messaging (IM) client to chat with your website visit
|
|
13 |
$salt = array('salt' => get_option('zopimSalt'));
|
14 |
|
15 |
if (isset($_GET["remove"]) && $_GET["remove"] == 1) {
|
16 |
-
|
17 |
|
18 |
-
|
19 |
}
|
20 |
$iminfo = json_to_array(do_post_request(ZOPIM_IMINFO_URL, $salt));
|
21 |
|
22 |
if (isset($iminfo->bots)) { // Can set up IM ?>
|
23 |
|
24 |
<style>
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
background:#FAFAFA;
|
33 |
color:#667788;
|
34 |
font-size:8pt;
|
@@ -40,57 +40,57 @@ display: inline-block;
|
|
40 |
</style>
|
41 |
|
42 |
<div class="metabox-holder">
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
<input id="copy" value="Copy to Clipboard" type="button"></input>
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
</div>
|
79 |
-
|
80 |
-
|
81 |
|
82 |
//create client
|
83 |
-
|
84 |
-
|
85 |
|
86 |
//event
|
87 |
function $(id) { return document.getElementById(id); }
|
88 |
|
89 |
clip.addEventListener('mousedown',function() {
|
90 |
-
|
91 |
});
|
92 |
clip.addEventListener('complete',function(client,text) {
|
93 |
-
|
94 |
});
|
95 |
//glue it to the button
|
96 |
clip.glue('copy');
|
@@ -98,7 +98,7 @@ clip.glue('copy');
|
|
98 |
|
99 |
<?php } else if (isset($iminfo->status)) { // integration already set up ?>
|
100 |
|
101 |
-
|
102 |
|
103 |
You are connected using the account: <?php echo $iminfo->username; ?>. <br>
|
104 |
Your status is now <b><?php echo $iminfo->status; ?></b>.<br><br>
|
@@ -108,30 +108,30 @@ You can <a href="admin.php?page=zopim_instant_messaging&remove=1">disable IM int
|
|
108 |
|
109 |
<?php } else { // could not contact zopim to get the IM status
|
110 |
|
111 |
-
|
112 |
|
113 |
-
?>
|
114 |
|
115 |
<div class="metabox-holder">
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
|
121 |
-
|
122 |
-
|
123 |
</div>
|
124 |
|
125 |
<?php } else { ?>
|
126 |
|
127 |
<div class="metabox-holder">
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
|
133 |
-
|
134 |
-
|
135 |
</div>
|
136 |
|
137 |
<?php } }
|
1 |
+
<?php
|
2 |
|
3 |
function zopim_instant_messaging() { ?>
|
4 |
|
5 |
<div class="wrap">
|
6 |
+
<div id="icon-users" class="icon32"></div>
|
7 |
<h2>Relay your messages</h2>
|
8 |
Use your favourite Instant Messaging (IM) client to chat with your website visitors!<p>
|
9 |
|
13 |
$salt = array('salt' => get_option('zopimSalt'));
|
14 |
|
15 |
if (isset($_GET["remove"]) && $_GET["remove"] == 1) {
|
16 |
+
echo "Removed IM Set Up. <br><br>";
|
17 |
|
18 |
+
json_to_array(do_post_request(ZOPIM_IMREMOVE_URL, $salt));
|
19 |
}
|
20 |
$iminfo = json_to_array(do_post_request(ZOPIM_IMINFO_URL, $salt));
|
21 |
|
22 |
if (isset($iminfo->bots)) { // Can set up IM ?>
|
23 |
|
24 |
<style>
|
25 |
+
td {}
|
26 |
+
.clients td.first {border:none;background:#888;color:#fff;}
|
27 |
+
.steps {width:100%}
|
28 |
+
.steps td {background:#f9f9f9;padding:15px;}
|
29 |
+
.clients td {padding:8px;border-top:1px solid #dfdfdf;background:#fff;}
|
30 |
+
.clients {border:1px solid #dfdfdf;background:#fff}
|
31 |
+
.explain {
|
32 |
background:#FAFAFA;
|
33 |
color:#667788;
|
34 |
font-size:8pt;
|
40 |
</style>
|
41 |
|
42 |
<div class="metabox-holder">
|
43 |
+
<div class="postbox">
|
44 |
+
<h3 class="hndle"><span>Setting up your Chat Bots</span></h3>
|
45 |
+
<div style="padding:10px 0px;line-height:17px;">
|
46 |
+
|
47 |
+
<table class="steps" cellspacing="0" cellpadding="0">
|
48 |
+
<tr valign="top">
|
49 |
+
<td style="border-right:5px solid #fff;width:394px;">
|
50 |
+
1. Add the Control Bot to the IM Client of your choice.<br/><br/>
|
51 |
+
|
52 |
+
<table class="clients" cellpadding="0" cellspacing="0">
|
53 |
+
<tr><td align="center" width="160" class="first"><b>IM Cient</b></td><td class="first" width="200"><b>Chat Bot's Name</b></td></tr>
|
54 |
+
<tr><td valign="center" align="center"><img src="<?php echo ZOPIM_IM_LOGOS ?>big/gtalk.png"></td><td><?php echo $iminfo->bots->gtalk; ?></td></tr>
|
55 |
+
<tr><td valign="center" align="center"><img src="<?php echo ZOPIM_IM_LOGOS ?>big/msn.png"></td><td><?php echo $iminfo->bots->msn; ?></td></tr>
|
56 |
+
<tr><td valign="center" align="center"><img src="<?php echo ZOPIM_IM_LOGOS ?>big/yahoo.png"></td><td><?php echo $iminfo->bots->yahoo; ?></td></tr>
|
57 |
+
<tr><td valign="center" align="center"><img src="<?php echo ZOPIM_IM_LOGOS ?>big/aim.png"></td><td><?php echo $iminfo->bots->aim; ?></td></tr>
|
58 |
+
</table>
|
59 |
+
<div class="explain">For example, to use <b>MSN Live Messenger</b> to chat,<br/>add <b>zdctrlbot01@hotmail.com</b> to your MSN contact list.</div>
|
60 |
+
</td>
|
61 |
+
<td>
|
62 |
+
2. Send the Control Bot this message:<br/><br/><input style="font-size:31px;color:#555;margin:0 0 5px;width:380px;" type="text" value="#setup <?php echo $iminfo->auth_key; ?>" id="box-content" readonly></input><br/>
|
63 |
<input id="copy" value="Copy to Clipboard" type="button"></input>
|
64 |
|
65 |
+
<br/><br/>
|
66 |
+
3. Accept the invitations to add the Chat Bots.<br>
|
67 |
+
<div class="explain">Depending on the number of Chat Bots available in your Package,<br/>you may need to accept up to 8 invitations</div>
|
68 |
+
<br/><br/>That's all!<br/><br/>
|
69 |
+
The Chat Bot will now relay all messages sent from<br/>your website to your IM Client.
|
70 |
+
<br/><br/>
|
71 |
+
Chat away!
|
72 |
+
</td>
|
73 |
+
</tr>
|
74 |
+
</table>
|
75 |
+
|
76 |
+
</div>
|
77 |
+
</div>
|
78 |
</div>
|
79 |
+
<script type="text/javascript" src="http://www.zopim.com/static/ZeroClipboard.js"></script>
|
80 |
+
<script language="javascript">
|
81 |
|
82 |
//create client
|
83 |
+
ZeroClipboard.setMoviePath('http://www.zopim.com/static/ZeroClipboard.swf');
|
84 |
+
var clip = new ZeroClipboard.Client();
|
85 |
|
86 |
//event
|
87 |
function $(id) { return document.getElementById(id); }
|
88 |
|
89 |
clip.addEventListener('mousedown',function() {
|
90 |
+
clip.setText(document.getElementById('box-content').value);
|
91 |
});
|
92 |
clip.addEventListener('complete',function(client,text) {
|
93 |
+
window.status = 'copied: ' + text;
|
94 |
});
|
95 |
//glue it to the button
|
96 |
clip.glue('copy');
|
98 |
|
99 |
<?php } else if (isset($iminfo->status)) { // integration already set up ?>
|
100 |
|
101 |
+
<h3><img src="<?php echo ZOPIM_IM_LOGOS.$iminfo->protocol; ?>.png"> Your <?php echo strtoupper($iminfo->protocol); ?> account is now linked with Zopim.</h3>
|
102 |
|
103 |
You are connected using the account: <?php echo $iminfo->username; ?>. <br>
|
104 |
Your status is now <b><?php echo $iminfo->status; ?></b>.<br><br>
|
108 |
|
109 |
<?php } else { // could not contact zopim to get the IM status
|
110 |
|
111 |
+
if (get_option('zopimCode') != "zopim") {
|
112 |
|
113 |
+
?>
|
114 |
|
115 |
<div class="metabox-holder">
|
116 |
+
<div class="postbox">
|
117 |
+
<h3 class="hndle"><span>Account not linked</span></h3>
|
118 |
+
<div style="padding:10px;line-height:17px;">
|
119 |
+
Please <a href="admin.php?page=zopim_account_config">link your account / check your password</a> before setting up Chat Bots.
|
120 |
|
121 |
+
</div>
|
122 |
+
</div>
|
123 |
</div>
|
124 |
|
125 |
<?php } else { ?>
|
126 |
|
127 |
<div class="metabox-holder">
|
128 |
+
<div class="postbox">
|
129 |
+
<h3 class="hndle"><span>Account not activated</span></h3>
|
130 |
+
<div style="padding:10px;line-height:17px;">
|
131 |
+
Please <a href="admin.php?page=zopim_account_config">activate your account</a> before setting up Chat Bots.
|
132 |
|
133 |
+
</div>
|
134 |
+
</div>
|
135 |
</div>
|
136 |
|
137 |
<?php } }
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: bencxr
|
|
3 |
Tags: widget, plugin, sidebar, page, admin, enhancement, livechat, chat, widget
|
4 |
Requires at least: 2.7
|
5 |
Tested up to: 3.3.1
|
6 |
-
Stable tag: 1.
|
7 |
|
8 |
Zopim is an award winning facebook-like chatbar built for websites. It connects website owners and visitors together via a cross-browser platform.
|
9 |
|
@@ -20,7 +20,7 @@ Build relationships with visitors to your website. They will be pleasantly surpr
|
|
20 |
* Reply to chats via any browser, or your favorite IM client. Chat from Gtalk, MSN, Yahoo! Messenger, AOL, and from Smart Phones that support mobile IM client.
|
21 |
|
22 |
**What does Zopim look like?**
|
23 |
-
Zopim shows up as a chatbar docked to the bottom of your website. Visitors chat with you by clicking on the Zopim Chat Bar.
|
24 |
|
25 |
**3 Reasons to Use Zopim (& Not Anyone Else)**
|
26 |
|
@@ -43,6 +43,10 @@ Zopim shows up as a chatbar docked to the bottom of your website. Visitors chat
|
|
43 |
* Arabic | Bulgarian | Chinese | Croatian | Czech | Danish | Dutch; Flemish | Estonian | Faroese | Finnish | French | Georgian | German | Greek | Hebrew | Hungarian | Icelandic | Indonesian | Italian | Japanese | Korean | Kurdish | Latvian | Lithuanian | Macedonian | Malay | Norwegian Bokmal | Persian | Polish | Portuguese | Romanian | Russian | Serbian | Slovak | Slovenian | Spanish; Castilian | Swedish | Thai | Turkish | Ukranian | Urdu | Vietnamese
|
44 |
|
45 |
== Changelog ==
|
|
|
|
|
|
|
|
|
46 |
= 1.1.3 =
|
47 |
* Update Zopim embed script
|
48 |
* Add option to override dashboard settings for chat bubble text
|
@@ -140,21 +144,21 @@ Not at all! Zopim is a hosted livechat service. Simply configure the plugin and
|
|
140 |
Though designed to work on most browsers, Zopim works best in the following environment: IE 6 or later (PC), Firefox 2 or later (Mac, PC, or Linux), Safari 2 or later (Mac), Google Chrome (PC, Mac).
|
141 |
|
142 |
= I managed to install the plugin but cannot link up to Zopim. Why? =
|
143 |
-
Most likely PHP Curl is not installed or configured properly. Please request your server administrator to enable the PHP CURL extension (see http://www.php.net/manual/en/book.curl.php for details).
|
144 |
|
145 |
-
Alternatively, you can also manually include the script in the footer file ("wp-content/themes/default/footer.php" in your wordpress installation).
|
146 |
|
147 |
= Is it free to use? =
|
148 |
|
149 |
-
The plugin comes with a free plan specially tailored for Wordpress users. Power users can purchase upgrade options anytime.
|
150 |
|
151 |
= Its just not working for me! HELP! =
|
152 |
|
153 |
-
Dont worry!! We are happy to assist! Just come on down to our site at http://www.zopim.com or leave an email for us at wordpress@zopim.com and we will help you with installation.
|
154 |
|
155 |
== Usage ==
|
156 |
|
157 |
-
After enabling the plug in, head on to the widget customization page to change settings and integrate its look and feel to match your site. When done, enable it by visiting the account configuration page and completing the instant signup process.
|
158 |
|
159 |
== Installation ==
|
160 |
|
3 |
Tags: widget, plugin, sidebar, page, admin, enhancement, livechat, chat, widget
|
4 |
Requires at least: 2.7
|
5 |
Tested up to: 3.3.1
|
6 |
+
Stable tag: 1.2.0
|
7 |
|
8 |
Zopim is an award winning facebook-like chatbar built for websites. It connects website owners and visitors together via a cross-browser platform.
|
9 |
|
20 |
* Reply to chats via any browser, or your favorite IM client. Chat from Gtalk, MSN, Yahoo! Messenger, AOL, and from Smart Phones that support mobile IM client.
|
21 |
|
22 |
**What does Zopim look like?**
|
23 |
+
Zopim shows up as a chatbar docked to the bottom of your website. Visitors chat with you by clicking on the Zopim Chat Bar.
|
24 |
|
25 |
**3 Reasons to Use Zopim (& Not Anyone Else)**
|
26 |
|
43 |
* Arabic | Bulgarian | Chinese | Croatian | Czech | Danish | Dutch; Flemish | Estonian | Faroese | Finnish | French | Georgian | German | Greek | Hebrew | Hungarian | Icelandic | Indonesian | Italian | Japanese | Korean | Kurdish | Latvian | Lithuanian | Macedonian | Malay | Norwegian Bokmal | Persian | Polish | Portuguese | Romanian | Russian | Serbian | Slovak | Slovenian | Spanish; Castilian | Swedish | Thai | Turkish | Ukranian | Urdu | Vietnamese
|
44 |
|
45 |
== Changelog ==
|
46 |
+
|
47 |
+
= 1.2.0 =
|
48 |
+
* Signup process is now linked to zopim.com as per Wordpress guidelines.
|
49 |
+
|
50 |
= 1.1.3 =
|
51 |
* Update Zopim embed script
|
52 |
* Add option to override dashboard settings for chat bubble text
|
144 |
Though designed to work on most browsers, Zopim works best in the following environment: IE 6 or later (PC), Firefox 2 or later (Mac, PC, or Linux), Safari 2 or later (Mac), Google Chrome (PC, Mac).
|
145 |
|
146 |
= I managed to install the plugin but cannot link up to Zopim. Why? =
|
147 |
+
Most likely PHP Curl is not installed or configured properly. Please request your server administrator to enable the PHP CURL extension (see http://www.php.net/manual/en/book.curl.php for details).
|
148 |
|
149 |
+
Alternatively, you can also manually include the script in the footer file ("wp-content/themes/default/footer.php" in your wordpress installation).
|
150 |
|
151 |
= Is it free to use? =
|
152 |
|
153 |
+
The plugin comes with a free plan specially tailored for Wordpress users. Power users can purchase upgrade options anytime.
|
154 |
|
155 |
= Its just not working for me! HELP! =
|
156 |
|
157 |
+
Dont worry!! We are happy to assist! Just come on down to our site at http://www.zopim.com or leave an email for us at wordpress@zopim.com and we will help you with installation.
|
158 |
|
159 |
== Usage ==
|
160 |
|
161 |
+
After enabling the plug in, head on to the widget customization page to change settings and integrate its look and feel to match your site. When done, enable it by visiting the account configuration page and completing the instant signup process.
|
162 |
|
163 |
== Installation ==
|
164 |
|
zopim.php
CHANGED
@@ -2,15 +2,16 @@
|
|
2 |
|
3 |
/*
|
4 |
Plugin Name: Zopim Widget
|
5 |
-
Plugin URI: http://www.zopim.
|
6 |
Description: Zopim embeds a chatbar on your website, so that any visitor can chat with you directly by clicking on the chatbar.
|
7 |
Author: Zopim
|
8 |
-
Version: 1.
|
9 |
-
Author URI: http://www.zopim.com
|
10 |
*/
|
11 |
|
12 |
define('ZOPIM_SCRIPT_DOMAIN', "zopim.com");
|
13 |
define('ZOPIM_BASE_URL', "https://www.zopim.com/");
|
|
|
14 |
define('ZOPIM_GETACCOUNTDETAILS_URL', ZOPIM_BASE_URL."plugins/getAccountDetails");
|
15 |
define('ZOPIM_SETDISPLAYNAME_URL', ZOPIM_BASE_URL."plugins/setDisplayName");
|
16 |
define('ZOPIM_IMINFO_URL', ZOPIM_BASE_URL."plugins/getImSetupInfo");
|
@@ -20,7 +21,7 @@ define('ZOPIM_SIGNUP_URL', ZOPIM_BASE_URL."plugins/createTrialAccount
|
|
20 |
define('ZOPIM_THEMES_LIST', "http://zopim.com/assets/dashboard/themes/window/plugins-themes.txt");
|
21 |
define('ZOPIM_COLORS_LIST', "http://zopim.com/assets/dashboard/themes/window/plugins-colors.txt");
|
22 |
define('ZOPIM_LANGUAGES_URL', "http://translate.zopim.com/projects/zopim/");
|
23 |
-
define('ZOPIM_DASHBOARD_URL', "http://dashboard.zopim.com
|
24 |
define('ZOPIM_SMALL_LOGO', "http://zopim.com/assets/branding/zopim.com/chatman/online.png");
|
25 |
define('ZOPIM_IM_LOGOS', "http://www.zopim.com/static/images/im/");
|
26 |
define('ZOPIM_THEMES_URL', "http://");
|
@@ -54,19 +55,19 @@ type='text/javascript';e.parentNode.insertBefore($,e)})(document,'script');
|
|
54 |
|
55 |
$theoptions = array();
|
56 |
if (get_option('zopimLang') != "" && get_option('zopimLang') != "--")
|
57 |
-
|
58 |
|
59 |
if (isset($current_user) && get_option("zopimGetVisitorInfo") == "checked") {
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
}
|
65 |
|
66 |
echo "\n<script type=\"text/javascript\">\n\$zopim( function() {";
|
67 |
|
68 |
if (count($theoptions) > 0)
|
69 |
-
|
70 |
|
71 |
get_option('zopimPosition') != "" && print("\n\$zopim.livechat.button.setPosition('".get_option('zopimPosition')."');");
|
72 |
get_option('zopimTheme') != "" && print("\n\$zopim.livechat.window.setTheme('".get_option('zopimTheme')."');");
|
@@ -76,8 +77,8 @@ type='text/javascript';e.parentNode.insertBefore($,e)})(document,'script');
|
|
76 |
if (get_option('zopimGreetings') != "") {
|
77 |
$greetings = json_to_array(get_option('zopimGreetings'));
|
78 |
foreach ($greetings as $i => $v) {
|
79 |
-
|
80 |
-
|
81 |
}
|
82 |
}
|
83 |
echo "\n\$zopim.livechat.setGreetings({
|
@@ -99,7 +100,7 @@ type='text/javascript';e.parentNode.insertBefore($,e)})(document,'script');
|
|
99 |
|
100 |
// this must be called last
|
101 |
if (get_option('zopimHideOnOffline') == "zopimHideOnOffline")
|
102 |
-
|
103 |
echo "\n})</script>";
|
104 |
}
|
105 |
|
@@ -119,11 +120,11 @@ function zopim_create_menu() {
|
|
119 |
|
120 |
function check_zopimCode() {
|
121 |
/*
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
*/
|
128 |
return false;
|
129 |
}
|
@@ -140,7 +141,7 @@ function zopim_about() {
|
|
140 |
|
141 |
function zopim_dashboard() {
|
142 |
echo '<div id="dashboarddiv"><iframe id="dashboardiframe" src="'.ZOPIM_DASHBOARD_URL.'" height=700 width=98% scrolling="no"></iframe></div> You may also <a href="'.ZOPIM_DASHBOARD_URL.'" target="_newWindow" onClick="javascript:document.getElementById(\'dashboarddiv\').innerHTML=\'\'; ">access the dashboard in a new window</a>.
|
143 |
-
|
144 |
}
|
145 |
|
146 |
// Register the option settings we will be using
|
@@ -184,13 +185,13 @@ add_action('admin_menu', 'zopim_create_menu');
|
|
184 |
function do_post_request($url, $_data, $optional_headers = null)
|
185 |
{
|
186 |
if (get_option('zopimUseSSL') != "zopimUseSSL")
|
187 |
-
|
188 |
|
189 |
-
$data = array();
|
190 |
|
191 |
while(list($n,$v) = each($_data)){
|
192 |
-
|
193 |
-
}
|
194 |
|
195 |
$data = implode('&', $data);
|
196 |
|
2 |
|
3 |
/*
|
4 |
Plugin Name: Zopim Widget
|
5 |
+
Plugin URI: http://www.zopim.com/?iref=wp_plugin
|
6 |
Description: Zopim embeds a chatbar on your website, so that any visitor can chat with you directly by clicking on the chatbar.
|
7 |
Author: Zopim
|
8 |
+
Version: 1.2.0
|
9 |
+
Author URI: http://www.zopim.com/?iref=wp_plugin
|
10 |
*/
|
11 |
|
12 |
define('ZOPIM_SCRIPT_DOMAIN', "zopim.com");
|
13 |
define('ZOPIM_BASE_URL', "https://www.zopim.com/");
|
14 |
+
define('ZOPIM_SIGNUP_REDIRECT_URL', ZOPIM_BASE_URL."?iref=wordpress_plugin#signup");
|
15 |
define('ZOPIM_GETACCOUNTDETAILS_URL', ZOPIM_BASE_URL."plugins/getAccountDetails");
|
16 |
define('ZOPIM_SETDISPLAYNAME_URL', ZOPIM_BASE_URL."plugins/setDisplayName");
|
17 |
define('ZOPIM_IMINFO_URL', ZOPIM_BASE_URL."plugins/getImSetupInfo");
|
21 |
define('ZOPIM_THEMES_LIST', "http://zopim.com/assets/dashboard/themes/window/plugins-themes.txt");
|
22 |
define('ZOPIM_COLORS_LIST', "http://zopim.com/assets/dashboard/themes/window/plugins-colors.txt");
|
23 |
define('ZOPIM_LANGUAGES_URL', "http://translate.zopim.com/projects/zopim/");
|
24 |
+
define('ZOPIM_DASHBOARD_URL', "http://dashboard.zopim.com/?iref=wp_plugin");
|
25 |
define('ZOPIM_SMALL_LOGO', "http://zopim.com/assets/branding/zopim.com/chatman/online.png");
|
26 |
define('ZOPIM_IM_LOGOS', "http://www.zopim.com/static/images/im/");
|
27 |
define('ZOPIM_THEMES_URL', "http://");
|
55 |
|
56 |
$theoptions = array();
|
57 |
if (get_option('zopimLang') != "" && get_option('zopimLang') != "--")
|
58 |
+
$theoptions[] = " language: '".get_option('zopimLang')."'";
|
59 |
|
60 |
if (isset($current_user) && get_option("zopimGetVisitorInfo") == "checked") {
|
61 |
+
$ul = $current_user->data->first_name;
|
62 |
+
$useremail = $current_user->data->user_email;
|
63 |
+
if ($ul!="" && $useremail != "")
|
64 |
+
$theoptions[] = "name: '$ul', email: '$useremail'";
|
65 |
}
|
66 |
|
67 |
echo "\n<script type=\"text/javascript\">\n\$zopim( function() {";
|
68 |
|
69 |
if (count($theoptions) > 0)
|
70 |
+
echo '$zopim.livechat.set({'.implode(", ", $theoptions)."});";
|
71 |
|
72 |
get_option('zopimPosition') != "" && print("\n\$zopim.livechat.button.setPosition('".get_option('zopimPosition')."');");
|
73 |
get_option('zopimTheme') != "" && print("\n\$zopim.livechat.window.setTheme('".get_option('zopimTheme')."');");
|
77 |
if (get_option('zopimGreetings') != "") {
|
78 |
$greetings = json_to_array(get_option('zopimGreetings'));
|
79 |
foreach ($greetings as $i => $v) {
|
80 |
+
foreach ($v as $j => $k) {
|
81 |
+
$greetings->$i->$j = str_replace("\r\n", "\\n", $greetings->$i->$j);
|
82 |
}
|
83 |
}
|
84 |
echo "\n\$zopim.livechat.setGreetings({
|
100 |
|
101 |
// this must be called last
|
102 |
if (get_option('zopimHideOnOffline') == "zopimHideOnOffline")
|
103 |
+
echo "\n\$zopim.livechat.button.setHideWhenOffline(true);";
|
104 |
echo "\n})</script>";
|
105 |
}
|
106 |
|
120 |
|
121 |
function check_zopimCode() {
|
122 |
/*
|
123 |
+
// if (get_option('zopimCode') == '' && ($_GET["page"] != "zopim_account_config")) {
|
124 |
+
if (ereg("zopim", $_GET["page"] )) {
|
125 |
+
//add_action( 'admin_notices', create_function( '', 'echo "<div class=\"error\"><p>" . sprintf( "Please <a href=\"%s\">input your Zopim account details</a>.", "admin.php?page=zopim_account_config" ) . "</p></div>";' ) );
|
126 |
+
add_action( 'admin_notices', create_function( '', 'echo "<div class=\"error\"><p>This Zopim plugin is a work in progress. We will launch on the 25th of January. Thank you for your interest.</p></div>";' ) );
|
127 |
+
}
|
128 |
*/
|
129 |
return false;
|
130 |
}
|
141 |
|
142 |
function zopim_dashboard() {
|
143 |
echo '<div id="dashboarddiv"><iframe id="dashboardiframe" src="'.ZOPIM_DASHBOARD_URL.'" height=700 width=98% scrolling="no"></iframe></div> You may also <a href="'.ZOPIM_DASHBOARD_URL.'" target="_newWindow" onClick="javascript:document.getElementById(\'dashboarddiv\').innerHTML=\'\'; ">access the dashboard in a new window</a>.
|
144 |
+
';
|
145 |
}
|
146 |
|
147 |
// Register the option settings we will be using
|
185 |
function do_post_request($url, $_data, $optional_headers = null)
|
186 |
{
|
187 |
if (get_option('zopimUseSSL') != "zopimUseSSL")
|
188 |
+
$url = str_replace("https", "http", $url);
|
189 |
|
190 |
+
$data = array();
|
191 |
|
192 |
while(list($n,$v) = each($_data)){
|
193 |
+
$data[] = urlencode($n)."=".urlencode($v);
|
194 |
+
}
|
195 |
|
196 |
$data = implode('&', $data);
|
197 |
|