diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-04-19 12:57:57 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-04-19 12:57:57 -0700 |
commit | 99818af994e0731542beebc1045cfc33dcf746f1 (patch) | |
tree | e2bba7c37665740a67333cb453cebbe065ff5bab /fs_selfservice/wordpress/freeside_selfservice.php | |
parent | 786daeef39e4009958f732744cacc0d24d16d021 (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.php | 18 |
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"); |