Version Description
Download this release
Release Info
Developer | bencxr |
Plugin | Zendesk Chat |
Version | 1.2.1 |
Comparing to | |
See all releases |
Code changes from version 1.2.0 to 1.2.1
- accountconfig.php +10 -7
- customizewidget.php +2 -3
- imintegration.php +2 -2
- readme.txt +1 -1
- zopim.php +89 -110
accountconfig.php
CHANGED
@@ -10,22 +10,25 @@ function zopim_account_config() {
|
|
10 |
|
11 |
<?php
|
12 |
|
13 |
-
if ($_GET["action"]=="deactivate") {
|
14 |
update_option('zopimSalt', "");
|
15 |
update_option('zopimCode', "zopim");
|
16 |
}
|
17 |
|
18 |
$message = "";
|
19 |
-
|
20 |
-
|
|
|
|
|
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(
|
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>";
|
@@ -49,7 +52,7 @@ function zopim_account_config() {
|
|
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";
|
@@ -67,7 +70,7 @@ function zopim_account_config() {
|
|
67 |
"recaptcha_response_field" => $_POST["recaptcha_response_field"]
|
68 |
);
|
69 |
|
70 |
-
$signupresult = json_to_array(
|
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)) {
|
@@ -78,10 +81,10 @@ function zopim_account_config() {
|
|
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"] = '
|
10 |
|
11 |
<?php
|
12 |
|
13 |
+
if (isset($_GET["action"]) && $_GET["action"]=="deactivate") {
|
14 |
update_option('zopimSalt', "");
|
15 |
update_option('zopimCode', "zopim");
|
16 |
}
|
17 |
|
18 |
$message = "";
|
19 |
+
$authenticated = "";
|
20 |
+
|
21 |
+
if (isset($_POST["action"]) && $_POST["action"]=="login") {
|
22 |
+
if (!isset($_POST["zopimUseSSL"]) || $_POST["zopimUseSSL"] == '') {
|
23 |
$_POST["zopimUseSSL"] = "nossl";
|
24 |
}
|
25 |
+
|
26 |
update_option('zopimUseSSL', $_POST["zopimUseSSL"]);
|
27 |
|
28 |
if ($_POST["zopimPassword"] != "password") {
|
29 |
|
30 |
$logindata = array("email" => $_POST["zopimUsername"], "password" => $_POST["zopimPassword"]);
|
31 |
+
$loginresult = json_to_array(zopim_post_request(ZOPIM_LOGIN_URL, $logindata));
|
32 |
|
33 |
if (isset($loginresult->error)) {
|
34 |
$error["login"] = "<b>Could not log in to Zopim. Please check your login details. If problem persists, try connecting without SSL enabled.</b>";
|
52 |
$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>";
|
53 |
}
|
54 |
}
|
55 |
+
} else if (isset($_POST["action"]) && $_POST["action"]=="signup") {
|
56 |
|
57 |
if ($_POST["zopimUseSSL"] == "") {
|
58 |
$_POST["zopimUseSSL"] = "nossl";
|
70 |
"recaptcha_response_field" => $_POST["recaptcha_response_field"]
|
71 |
);
|
72 |
|
73 |
+
$signupresult = json_to_array(zopim_post_request(ZOPIM_SIGNUP_URL, $createdata));
|
74 |
if (isset($signupresult->error)) {
|
75 |
$message = "<div style='color:#c33;'>Error during activation: <b>".$signupresult->error."</b>. Please try again.</div>";
|
76 |
} else if (isset($signupresult->account_key)) {
|
81 |
}
|
82 |
}
|
83 |
|
84 |
+
$error = NULL;
|
85 |
if (get_option('zopimCode') != "" && get_option('zopimCode') != "zopim") {
|
86 |
|
87 |
$accountDetails = getAccountDetails(get_option('zopimSalt'));
|
|
|
88 |
if (!isset($accountDetails) || isset($accountDetails->error)) {
|
89 |
$gotologin = 1;
|
90 |
$error["auth"] = '
|
customizewidget.php
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
// Zopim Customize Widget Page
|
4 |
-
|
5 |
function zopim_customize_widget() {
|
6 |
global $current_user;
|
7 |
$ul = $current_user->data->first_name;
|
@@ -263,7 +262,7 @@ line-height:21px;
|
|
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 =
|
267 |
$colors = explode("\n", $colors);
|
268 |
|
269 |
$i=0;
|
@@ -287,7 +286,7 @@ line-height:21px;
|
|
287 |
|
288 |
if ($accountDetails->widget_customization_enabled == 1) {
|
289 |
echo '<select name="zopimTheme" id="zopimTheme" onchange="updateWidget()">';
|
290 |
-
$themes =
|
291 |
$themes = valuekeys(explode("\n", $themes));
|
292 |
ksort($themes);
|
293 |
|
1 |
<?php
|
2 |
|
3 |
// Zopim Customize Widget Page
|
|
|
4 |
function zopim_customize_widget() {
|
5 |
global $current_user;
|
6 |
$ul = $current_user->data->first_name;
|
262 |
|
263 |
if ($accountDetails->color_customization_enabled == 1) {
|
264 |
echo "<div style='display:inline-block;border:11px solid #888;background:#888;color:#fee;'>";
|
265 |
+
$colors = zopim_url_get(ZOPIM_COLORS_LIST);
|
266 |
$colors = explode("\n", $colors);
|
267 |
|
268 |
$i=0;
|
286 |
|
287 |
if ($accountDetails->widget_customization_enabled == 1) {
|
288 |
echo '<select name="zopimTheme" id="zopimTheme" onchange="updateWidget()">';
|
289 |
+
$themes = zopim_url_get(ZOPIM_THEMES_LIST);
|
290 |
$themes = valuekeys(explode("\n", $themes));
|
291 |
ksort($themes);
|
292 |
|
imintegration.php
CHANGED
@@ -15,9 +15,9 @@ $salt = array('salt' => get_option('zopimSalt'));
|
|
15 |
if (isset($_GET["remove"]) && $_GET["remove"] == 1) {
|
16 |
echo "Removed IM Set Up. <br><br>";
|
17 |
|
18 |
-
json_to_array(
|
19 |
}
|
20 |
-
$iminfo = json_to_array(
|
21 |
|
22 |
if (isset($iminfo->bots)) { // Can set up IM ?>
|
23 |
|
15 |
if (isset($_GET["remove"]) && $_GET["remove"] == 1) {
|
16 |
echo "Removed IM Set Up. <br><br>";
|
17 |
|
18 |
+
json_to_array(zopim_post_request(ZOPIM_IMREMOVE_URL, $salt));
|
19 |
}
|
20 |
+
$iminfo = json_to_array(zopim_post_request(ZOPIM_IMINFO_URL, $salt));
|
21 |
|
22 |
if (isset($iminfo->bots)) { // Can set up IM ?>
|
23 |
|
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.2.
|
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 |
|
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.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 |
|
zopim.php
CHANGED
@@ -5,7 +5,7 @@ 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.
|
9 |
Author URI: http://www.zopim.com/?iref=wp_plugin
|
10 |
*/
|
11 |
|
@@ -33,17 +33,17 @@ require_once dirname( __FILE__ ) . '/imintegration.php';
|
|
33 |
|
34 |
// We need some CSS to position the paragraph
|
35 |
function zopimme() {
|
36 |
-
|
37 |
|
38 |
-
|
39 |
|
40 |
-
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
|
46 |
-
|
47 |
<script type=\"text/javascript\">
|
48 |
window.\$zopim||(function(d,s){var z=\$zopim=function(c){z._.push(c)},$=z.s=
|
49 |
d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
|
@@ -53,44 +53,44 @@ type='text/javascript';e.parentNode.insertBefore($,e)})(document,'script');
|
|
53 |
</script>
|
54 |
<!--End of Zopim Live Chat Script-->";
|
55 |
|
56 |
-
|
57 |
-
|
58 |
$theoptions[] = " language: '".get_option('zopimLang')."'";
|
59 |
|
60 |
-
|
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 |
-
|
68 |
|
69 |
-
|
70 |
echo '$zopim.livechat.set({'.implode(", ", $theoptions)."});";
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
|
76 |
-
|
77 |
-
|
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({
|
85 |
'online' : ['".addslashes($greetings->online->bar)."', '".addslashes($greetings->online->window)."'],
|
86 |
'offline': ['".addslashes($greetings->offline->bar)."', '".addslashes($greetings->offline->window)."'],
|
87 |
'away' : ['".addslashes($greetings->away->bar)."', '".addslashes($greetings->away->window)."'] });";
|
88 |
-
|
89 |
-
|
90 |
|
91 |
if (get_option('zopimUseBubble') == "zopimUseBubble") {
|
92 |
-
|
93 |
-
|
94 |
}
|
95 |
|
96 |
if (get_option('zopimBubbleEnable') == "show")
|
@@ -99,23 +99,23 @@ type='text/javascript';e.parentNode.insertBefore($,e)})(document,'script');
|
|
99 |
echo "\n\$zopim.livechat.bubble.hide(true);";
|
100 |
|
101 |
// this must be called last
|
102 |
-
|
103 |
echo "\n\$zopim.livechat.button.setHideWhenOffline(true);";
|
104 |
-
|
105 |
}
|
106 |
|
107 |
function zopim_create_menu() {
|
108 |
-
|
109 |
-
|
110 |
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
|
117 |
-
|
118 |
-
|
119 |
}
|
120 |
|
121 |
function check_zopimCode() {
|
@@ -126,114 +126,93 @@ function check_zopimCode() {
|
|
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 |
-
|
130 |
}
|
131 |
|
132 |
function zopim_loader() {
|
133 |
-
|
134 |
}
|
135 |
|
136 |
add_action( 'init', 'zopim_loader' );
|
137 |
|
138 |
function zopim_about() {
|
139 |
-
|
140 |
}
|
141 |
|
142 |
function zopim_dashboard() {
|
143 |
-
|
144 |
';
|
145 |
}
|
146 |
|
147 |
// Register the option settings we will be using
|
148 |
-
function
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
}
|
180 |
|
181 |
add_action('get_footer', 'zopimme');
|
182 |
// create custom plugin settings menu
|
183 |
add_action('admin_menu', 'zopim_create_menu');
|
184 |
|
185 |
-
function
|
186 |
{
|
187 |
-
|
188 |
-
|
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 |
|
198 |
-
|
|
|
|
|
199 |
|
200 |
-
|
201 |
-
curl_setopt($ch, CURLOPT_POST, true);
|
202 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
|
203 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
204 |
-
|
205 |
-
$response = curl_exec($ch);
|
206 |
-
curl_close($ch);
|
207 |
|
208 |
-
|
|
|
|
|
209 |
}
|
210 |
|
211 |
function json_to_array($json) {
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
}
|
216 |
|
217 |
function to_json($variable) {
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
}
|
222 |
|
223 |
function getAccountDetails($salt) {
|
224 |
-
|
225 |
-
|
226 |
-
}
|
227 |
-
|
228 |
-
function curl_get_url($filename) {
|
229 |
-
$ch = curl_init();
|
230 |
-
$timeout = 5; // set to zero for no timeout
|
231 |
-
curl_setopt ($ch, CURLOPT_URL, $filename);
|
232 |
-
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
|
233 |
-
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
|
234 |
-
$file_contents = curl_exec($ch);
|
235 |
-
curl_close($ch);
|
236 |
-
return $file_contents;
|
237 |
}
|
238 |
|
239 |
?>
|
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.1
|
9 |
Author URI: http://www.zopim.com/?iref=wp_plugin
|
10 |
*/
|
11 |
|
33 |
|
34 |
// We need some CSS to position the paragraph
|
35 |
function zopimme() {
|
36 |
+
global $current_user, $zopimshown;
|
37 |
|
38 |
+
$code = get_option('zopimCode');
|
39 |
|
40 |
+
if (($code == "" || $code=="zopim") && (!ereg("zopim", $_GET["page"]))&& (!ereg("zopim", $_SERVER["SERVER_NAME"]))) { return; }
|
41 |
|
42 |
+
// dont show this more than once
|
43 |
+
if (isset($zopimshown) && $zopimshown == 1) { return; }
|
44 |
+
$zopimshown = 1;
|
45 |
|
46 |
+
echo "<!--Start of Zopim Live Chat Script-->
|
47 |
<script type=\"text/javascript\">
|
48 |
window.\$zopim||(function(d,s){var z=\$zopim=function(c){z._.push(c)},$=z.s=
|
49 |
d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
|
53 |
</script>
|
54 |
<!--End of Zopim Live Chat Script-->";
|
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')."');");
|
74 |
+
get_option('zopimColor') != "" && print("\n\$zopim.livechat.window.setColor('".get_option('zopimColor')."');");
|
75 |
|
76 |
+
if (get_option('zopimUseGreetings') == "zopimUseGreetings") {
|
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({
|
85 |
'online' : ['".addslashes($greetings->online->bar)."', '".addslashes($greetings->online->window)."'],
|
86 |
'offline': ['".addslashes($greetings->offline->bar)."', '".addslashes($greetings->offline->window)."'],
|
87 |
'away' : ['".addslashes($greetings->away->bar)."', '".addslashes($greetings->away->window)."'] });";
|
88 |
+
}
|
89 |
+
}
|
90 |
|
91 |
if (get_option('zopimUseBubble') == "zopimUseBubble") {
|
92 |
+
get_option('zopimBubbleTitle') != "" && print("\n\$zopim.livechat.bubble.setTitle('".addslashes(get_option('zopimBubbleTitle'))."');");
|
93 |
+
get_option('zopimBubbleText') != "" && print("\n\$zopim.livechat.bubble.setText('".addslashes(get_option('zopimBubbleText'))."');");
|
94 |
}
|
95 |
|
96 |
if (get_option('zopimBubbleEnable') == "show")
|
99 |
echo "\n\$zopim.livechat.bubble.hide(true);";
|
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 |
|
107 |
function zopim_create_menu() {
|
108 |
+
//create new top-level menu
|
109 |
+
add_menu_page('Account Configuration', 'Zopim Chat', 'administrator', 'zopim_account_config', 'zopim_account_config', ZOPIM_SMALL_LOGO);
|
110 |
|
111 |
+
// add_submenu_page('zopim_about', "About", "About", "administrator", 'zopim_about', 'zopim_about');
|
112 |
+
add_submenu_page('zopim_account_config', 'Account Configuration', 'Account Setup', 'administrator', 'zopim_account_config', 'zopim_account_config');
|
113 |
+
add_submenu_page('zopim_account_config', 'Customize Widget', 'Customize', 'administrator', 'zopim_customize_widget', 'zopim_customize_widget');
|
114 |
+
add_submenu_page('zopim_account_config', 'IM Integration', 'IM Chat Bots', 'administrator', 'zopim_instant_messaging', 'zopim_instant_messaging');
|
115 |
+
add_submenu_page('zopim_account_config', 'Dashboard', 'Dashboard', 'administrator', 'zopim_dashboard', 'zopim_dashboard');
|
116 |
|
117 |
+
//call register settings function
|
118 |
+
add_action( 'admin_init', 'register_zopim_plugin_settings' );
|
119 |
}
|
120 |
|
121 |
function check_zopimCode() {
|
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 |
}
|
131 |
|
132 |
function zopim_loader() {
|
133 |
+
add_action( 'admin_menu', 'check_zopimCode' );
|
134 |
}
|
135 |
|
136 |
add_action( 'init', 'zopim_loader' );
|
137 |
|
138 |
function zopim_about() {
|
139 |
+
echo "about";
|
140 |
}
|
141 |
|
142 |
function zopim_dashboard() {
|
143 |
+
echo '<div id="dashboarddiv"><iframe id="dashboardiframe" src="'.ZOPIM_DASHBOARD_URL.'i" 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
|
148 |
+
function register_zopim_plugin_settings() {
|
149 |
+
|
150 |
+
// Authentication and codes
|
151 |
+
register_setting( 'zopim-settings-group', 'zopimCode' );
|
152 |
+
register_setting( 'zopim-settings-group', 'zopimUsername' );
|
153 |
+
register_setting( 'zopim-settings-group', 'zopimSalt' );
|
154 |
+
register_setting( 'zopim-settings-group', 'zopimUseSSL' );
|
155 |
+
// General Widget settings
|
156 |
+
register_setting( 'zopim-settings-group', 'zopimGetVisitorInfo' );
|
157 |
+
register_setting( 'zopim-settings-group', 'zopimLang' );
|
158 |
+
// Chat button settings
|
159 |
+
register_setting( 'zopim-settings-group', 'zopimPosition' );
|
160 |
+
register_setting( 'zopim-settings-group', 'zopimHideOnOffline' );
|
161 |
+
register_setting( 'zopim-settings-group', 'zopimBubbleTitle' );
|
162 |
+
register_setting( 'zopim-settings-group', 'zopimBubbleText' );
|
163 |
+
register_setting( 'zopim-settings-group', 'zopimBubbleEnable' );
|
164 |
+
register_setting( 'zopim-settings-group', 'zopimUseBubble' );
|
165 |
+
// Themes / Color
|
166 |
+
register_setting( 'zopim-settings-group', 'zopimColor' );
|
167 |
+
register_setting( 'zopim-settings-group', 'zopimTheme' );
|
168 |
+
// Message Settings
|
169 |
+
register_setting( 'zopim-settings-group', 'zopimGreetings' );
|
170 |
+
register_setting( 'zopim-settings-group', 'zopimUseGreetings' );
|
171 |
+
|
172 |
+
get_option('zopimCode') == "" && update_option('zopimCode', "zopim");
|
173 |
+
get_option('zopimBubbleTitle') == "" && update_option('zopimBubbleTitle', "Questions?");
|
174 |
+
get_option('zopimBubbleText') == "" && update_option('zopimBubbleText', "Click here to chat with us!");
|
175 |
+
get_option('zopimBubbleEnable') == "" && update_option('zopimBubbleEnable', "checked");
|
176 |
+
get_option('zopimUseGreetings') == "" && update_option('zopimUseGreetings', "disabled");
|
177 |
+
get_option('zopimUseBubble') == "" && update_option('zopimUseBubble', "disabled");
|
178 |
+
get_option('zopimGreetings') == "" && update_option('zopimGreetings', '{"away":{"window":"If you leave a question or comment, our agents will be notified and will try to attend to you shortly =)","bar":"Click here to chat"},"offline":{"window":"We are offline, but if you leave your message and contact details, we will try to get back to you =)","bar":"Leave a message"},"online":{"window":"Leave a question or comment and our agents will try to attend to you shortly =)","bar":"Click here to chat"}}');
|
179 |
}
|
180 |
|
181 |
add_action('get_footer', 'zopimme');
|
182 |
// create custom plugin settings menu
|
183 |
add_action('admin_menu', 'zopim_create_menu');
|
184 |
|
185 |
+
function zopim_post_request($url, $_data, $optional_headers = null)
|
186 |
{
|
187 |
+
if (get_option('zopimUseSSL') != "zopimUseSSL")
|
188 |
+
$url = str_replace("https", "http", $url);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
|
190 |
+
$args = array('body' => $_data);
|
191 |
+
$response = wp_remote_post( $url, $args );
|
192 |
+
return $response['body'];
|
193 |
|
194 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
|
196 |
+
function zopim_url_get($filename) {
|
197 |
+
$response = wp_remote_get($filename);
|
198 |
+
return $response['body'];
|
199 |
}
|
200 |
|
201 |
function json_to_array($json) {
|
202 |
+
require_once('JSON.php');
|
203 |
+
$jsonparser = new Services_JSON();
|
204 |
+
return ($jsonparser->decode($json));
|
205 |
}
|
206 |
|
207 |
function to_json($variable) {
|
208 |
+
require_once('JSON.php');
|
209 |
+
$jsonparser = new Services_JSON();
|
210 |
+
return ($jsonparser->encode($variable));
|
211 |
}
|
212 |
|
213 |
function getAccountDetails($salt) {
|
214 |
+
$salty = array("salt" => get_option('zopimSalt'));
|
215 |
+
return json_to_array(zopim_post_request(ZOPIM_GETACCOUNTDETAILS_URL, $salty));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
}
|
217 |
|
218 |
?>
|