[freeside-commits] branch FREESIDE_4_BRANCH updated. a0001672ba855d7402ef891ee3db4488af3e9314
Ivan
ivan at 420.am
Wed Apr 19 12:57:59 PDT 2017
The branch, FREESIDE_4_BRANCH has been updated
via a0001672ba855d7402ef891ee3db4488af3e9314 (commit)
from c2755a86c484557d4ec7cbc51a998c5d7ac5bc2a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a0001672ba855d7402ef891ee3db4488af3e9314
Author: Ivan Kohler <ivan at freeside.biz>
Date: Wed Apr 19 12:57:58 2017 -0700
add logout to example wordpress self-service, RT#75279
diff --git a/fs_selfservice/wordpress/README.txt b/fs_selfservice/wordpress/README.txt
index 759f839..f068e82 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 2bfb5b3..6e5049c 100644
--- a/fs_selfservice/wordpress/example_selfservice.php
+++ b/fs_selfservice/wordpress/example_selfservice.php
@@ -60,6 +60,7 @@ get_header();
<p><a href="view_invoice.php?invnum=<?php echo $max_invnum ?>">View my Bill</a></p>
<p><a href="change_bill.php">Change Bill Deliver Options</a></p>
+<p><a href="process_logout.php">Logout</a></p>
<h3>Services</h3>
diff --git a/fs_selfservice/wordpress/freeside_selfservice.php b/fs_selfservice/wordpress/freeside_selfservice.php
index d26c56f..852c22e 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 0000000..398fb22
--- /dev/null
+++ b/fs_selfservice/wordpress/process_logout.php
@@ -0,0 +1,13 @@
+<?php
+
+$GLOBALS['FREESIDE_PROCESS_LOGOUT'] = true;
+
+require( dirname( __FILE__ ) . '/wp-blog-header.php' );
+
+get_header();
+
+?>
+
+You have been logged out.
+
+<?php get_footer(); ?>
-----------------------------------------------------------------------
Summary of changes:
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
More information about the freeside-commits
mailing list