| 
<?php
 if (isset($_SERVER['PATH_INFO'])) {
 $userId = substr($_SERVER['PATH_INFO'], 1);
 } else {
 $userId = FALSE;
 }
 
 $globalConfig = SimpleSAML_Configuration::getInstance();
 $server = sspmod_openidProvider_Server::getInstance();
 $identity = $server->getIdentity();
 
 if (!$userId && $identity) {
 /*
 * We are accessing the front-page, but are logged in.
 * Redirect to the correct page.
 */
 SimpleSAML_Utilities::redirectTrustedURL($identity);
 }
 
 /* Determine whether we are at the users own page. */
 if ($userId && $userId === $server->getUserId()) {
 $ownPage = TRUE;
 } else {
 $ownPage = FALSE;
 }
 
 if ($_SERVER['REQUEST_METHOD'] === 'POST') {
 if ($ownPage) {
 foreach ($_POST as $k => $v) {
 $op = explode('_', $k, 2);
 if (count($op) == 1 || $op[0] !== 'remove') {
 continue;
 }
 
 $site = $op[1];
 $site = pack("H*" , $site);
 $server->removeTrustRoot($identity, $site);
 }
 }
 
 SimpleSAML_Utilities::redirectTrustedURL($identity);
 }
 
 if ($ownPage) {
 $trustedSites = $server->getTrustRoots($identity);
 } else {
 $trustedSites = array();
 }
 
 $userBase = SimpleSAML_Module::getModuleURL('openidProvider/user.php');
 
 $xrds = SimpleSAML_Module::getModuleURL('openidProvider/xrds.php');
 if ($userId !== FALSE) {
 $xrds = SimpleSAML_Utilities::addURLparameter($xrds, array('user' => $userId));
 }
 
 $as = $server->getAuthSource();
 $t = new SimpleSAML_XHTML_Template($globalConfig, 'openidProvider:user.tpl.php');
 $t->data['identity'] = $identity;
 $t->data['loggedInAs'] = $server->getUserId();
 $t->data['loginURL'] = $as->getLoginURL($userBase);
 $t->data['logoutURL'] = $as->getLogoutURL();
 $t->data['ownPage'] = $ownPage;
 $t->data['serverURL'] = $server->getServerURL();
 $t->data['trustedSites'] = $trustedSites;
 $t->data['userId'] = $userId;
 $t->data['userIdURL'] = $userBase . '/' . $userId;
 $t->data['xrdsURL'] = $xrds;
 
 $t->show();
 exit(0);
 
 |