summaryrefslogtreecommitdiff
path: root/fs_selfservice/wordpress/freeside_selfservice.php
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-04-19 12:57:57 -0700
committerIvan Kohler <ivan@freeside.biz>2017-04-19 12:57:57 -0700
commit99818af994e0731542beebc1045cfc33dcf746f1 (patch)
treee2bba7c37665740a67333cb453cebbe065ff5bab /fs_selfservice/wordpress/freeside_selfservice.php
parent786daeef39e4009958f732744cacc0d24d16d021 (diff)
add logout to example wordpress self-service, RT#75279
Diffstat (limited to 'fs_selfservice/wordpress/freeside_selfservice.php')
-rw-r--r--fs_selfservice/wordpress/freeside_selfservice.php18
1 files changed, 17 insertions, 1 deletions
diff --git a/fs_selfservice/wordpress/freeside_selfservice.php b/fs_selfservice/wordpress/freeside_selfservice.php
index d26c56f4a..852c22e75 100644
--- a/fs_selfservice/wordpress/freeside_selfservice.php
+++ b/fs_selfservice/wordpress/freeside_selfservice.php
@@ -46,6 +46,22 @@ function freeside_server_input() {
//TODO: remove freeside_server on uninstall
function freeside_init() {
+
+ if ( $GLOBALS['FREESIDE_PROCESS_LOGOUT'] ) {
+ $GLOBALS['FREESIDE_PROCESS_LOGOUT'] = false;
+
+ $freeside = new FreesideSelfService();
+ $response = $freeside->logout( array(
+ 'session_id' => $_COOKIE['freeside_session_id'],
+ ) );
+ setcookie('freeside_session_id', '', time() - 3600);
+ $error = $response['error'];
+ if ( $error ) {
+ error_log("Logout error: $error");
+ }
+ return;
+ }
+
if ( ! $GLOBALS['FREESIDE_PROCESS_LOGIN'] ) {
return;
} else {
@@ -129,7 +145,7 @@ class FreesideSelfService {
)));
$file = file_get_contents($URL, false, $context);
$response = xmlrpc_decode($file);
- if (xmlrpc_is_fault($response)) {
+ if (isset($response) && xmlrpc_is_fault($response)) {
trigger_error("[FreesideSelfService] XML-RPC communication error: $response[faultString] ($response[faultCode])");
} else {
//error_log("[FreesideSelfService] $response");