From 99818af994e0731542beebc1045cfc33dcf746f1 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Wed, 19 Apr 2017 12:57:57 -0700 Subject: [PATCH] add logout to example wordpress self-service, RT#75279 --- fs_selfservice/wordpress/README.txt | 9 +++++---- fs_selfservice/wordpress/example_selfservice.php | 1 + fs_selfservice/wordpress/freeside_selfservice.php | 18 +++++++++++++++++- fs_selfservice/wordpress/process_logout.php | 13 +++++++++++++ 4 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 fs_selfservice/wordpress/process_logout.php diff --git a/fs_selfservice/wordpress/README.txt b/fs_selfservice/wordpress/README.txt index 759f83963..f068e82de 100644 --- a/fs_selfservice/wordpress/README.txt +++ b/fs_selfservice/wordpress/README.txt @@ -38,10 +38,11 @@ VPN or tunnel. Usage: -See the included example_login.php, process_login.php, example_selfservice.php -and view_invoice.php files. These files perform a self-service login -and display a basic landing page. To use, copy them to the wordpress content -directory (or a subdirectory), and point your browser to example_login.php +See the included example_login.php, process_login.php, process_login.php, +example_selfservice.php and view_invoice.php files. These files perform a +self-service login and display a basic landing page. To use, copy them and +the elements/ subdirectory to the wordpress content directory (or a +subdirectory) and point your browser to example_login.php For full API documentation including all available functions, their arguments and return data, see diff --git a/fs_selfservice/wordpress/example_selfservice.php b/fs_selfservice/wordpress/example_selfservice.php index 2bfb5b35c..6e5049cd4 100644 --- a/fs_selfservice/wordpress/example_selfservice.php +++ b/fs_selfservice/wordpress/example_selfservice.php @@ -60,6 +60,7 @@ get_header();

View my Bill

Change Bill Deliver Options

+

Logout

Services

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"); diff --git a/fs_selfservice/wordpress/process_logout.php b/fs_selfservice/wordpress/process_logout.php new file mode 100644 index 000000000..398fb22bf --- /dev/null +++ b/fs_selfservice/wordpress/process_logout.php @@ -0,0 +1,13 @@ + + +You have been logged out. + + -- 2.11.0