diff options
Diffstat (limited to 'mod/openid_server/views')
8 files changed, 301 insertions, 0 deletions
diff --git a/mod/openid_server/views/default/forms/openid_server/trust.php b/mod/openid_server/views/default/forms/openid_server/trust.php new file mode 100755 index 000000000..b9e4c3333 --- /dev/null +++ b/mod/openid_server/views/default/forms/openid_server/trust.php @@ -0,0 +1,34 @@ +<?php
 +
 +/**
 + * Elgg openid_server trust page
 + * 
 + * @package openid_server
 + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
 + * @author Kevin Jardiner <kevin@radagast.biz>
 + * @copyright Curverider Ltd 2008-2009
 + * @link http://elgg.com/
 + * 
 + * @uses the following values in $vars:
 + *
 + * 'openid'               the user's OpenID
 + * 'trust_root'           the trust root for the OpenID client requesting authentication
 + */
 +
 +$user = elgg_get_logged_in_user_entity();
 +$openid_trust_root = elgg_extract('openid_trust_root', $vars);
 +
 +echo '<div>' . elgg_echo('openid_server:trust_question', array($openid_trust_root, elgg_get_site_entity()->name . ":" .  $user->username));
 +
 +/*echo '<div class="mll">'.elgg_view('input/checkbox', array(
 +	'name' => 'name',
 +*/
 +
 +echo '<div class="elgg-footer">';
 +echo elgg_view('input/hidden', array('name' => 'trust_root', 'value' => $openid_trust_root));
 +echo elgg_view('input/submit', array('name' => 'trust', 'value' => elgg_echo('openid_server:confirm_trust')));
 +echo elgg_view('input/submit', array('name' => 'reject', 'value' => elgg_echo('openid_server:reject_trust')));
 +echo '</div>';
 +
 +echo '<div>'.elgg_view('input/checkbox', array('name' => 'remember', 'id' => 'remember', 'checked' => true));
 +echo '<label for="remember">'.elgg_echo('openid_server:remember_trust') .'</label></div>';
 diff --git a/mod/openid_server/views/default/openid_server/forms/admin.php b/mod/openid_server/views/default/openid_server/forms/admin.php new file mode 100755 index 000000000..e19a97e8e --- /dev/null +++ b/mod/openid_server/views/default/openid_server/forms/admin.php @@ -0,0 +1,154 @@ +<?php
 +
 +/**
 + * Elgg openid_server trust page
 + * 
 + * @package openid_server
 + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
 + * @author Kevin Jardiner <kevin@radagast.biz>
 + * @copyright Curverider Ltd 2008-2009
 + * @link http://elgg.com/
 + * 
 + * @uses the following values in $vars:
 + *
 + * 'trust'               the trust object with the database information and action type
 + */
 +
 +global $CONFIG;
 +
 +$trust = $vars['trust'];
 +
 +if (!$trust->ident) {
 +	$trust->ident = 0;
 +}
 +
 +$trust_root_msg = elgg_echo('openid_server:trust_root');
 +$trust_site_msg = elgg_echo('openid_server:trust_site');
 +$auto_login_msg = elgg_echo('openid_server:autologin_url');
 +$auto_logout_msg = elgg_echo('openid_server:autologout_url');
 +$iframe_width_msg = elgg_echo('openid_server:iframe_width');
 +$iframe_height_msg = elgg_echo('openid_server:iframe_height');
 +$explanation = elgg_echo('openid_server:admin_explanation');
 +if ($trust->action == 'change') {
 +	$button_msg = elgg_echo('openid_server:change_button');
 +} else {
 +	$button_msg = elgg_echo('openid_server:add_button');
 +}
 +
 +
 +$form = <<< END
 +		<style type="text/css">
 +		label,input {
 +		   display: block;
 +		   float: left;
 +		   margin-bottom: 5px;
 +		}
 +		label {
 +		   text-align: left;
 +		   width: 125px;
 +		   padding-right: 20px;
 +		}			
 +		br {
 +		   clear: left;
 +		}
 +		</style> 
 +	$explanation
 +	<form action="{$CONFIG->wwwroot}mod/openid_server/actions/admin.php" method="post">
 +	<label for="trust_root">$trust_root_msg:</label> <input type="text" name="trust_root" size="80" value="{$trust->trust_root}"><br />
 +	<label for="site_name">$trust_site_msg:</label> <input type="text" name="site_name" value="{$trust->site_name}"><br />
 +	<label for="auto_login">$auto_login_msg:</label>  <input type="text" name="auto_login" size="80" value="{$trust->auto_login}"><br />
 +	<label for="auto_logout">$auto_logout_msg:</label>  <input type="text" name="auto_logout" size="80" value="{$trust->auto_logout}"><br />
 +	<label for="width">$iframe_width_msg:</label>  <input type="text" name="width" size="10" value="{$trust->width}"><br />
 +	<label for="height">$iframe_height_msg:</label> <input type="text" name="height" size="10" value="{$trust->height}"><br />
 +	<input type="hidden" name="action" value="{$trust->action}">
 +	<input type="hidden" name="trust_id" value="{$trust->ident}">
 +	<input type="submit" name="submit" value="$button_msg">
 +	</form>
 +END;
 +	return $form;
 +}
 +		
 +
 +if (logged_on && run("users:flags:get", array("admin", $_SESSION['userid']))) {
 +	$action = trim(optional_param('action'));
 +	$trust_id = optional_param('trust_id',0,PARAM_INT);
 +	$show_full_form = true;
 +	$body = '';
 +	if ($action) {
 +		$trust = new StdClass;
 +		$trust->trust_root = optional_param('trust_root');
 +		$trust->site_name = optional_param('site_name');
 +		$trust->auto_login = optional_param('auto_login');
 +		$trust->auto_logout = optional_param('auto_logout');
 +		$trust->width = optional_param('width');
 +		$trust->height = optional_param('height');
 +		
 +		switch($action) {
 +			case 'change':
 +				$trust->ident = $trust_id;
 +				update_record('openid_server_trust',$trust);
 +				$messages[] = gettext("Trust root updated");
 +				break;
 +			case 'add':
 +				insert_record('openid_server_trust',$trust,false);
 +				$messages[] = gettext("Trust root added");
 +				break;
 +			case 'delete':
 +				delete_records('openid_server_trust','ident',$trust_id);
 +				$messages[] = gettext("Trust root deleted");
 +				break;
 +		}
 +	} else {
 +		if ($trust_id) {
 +			$trust = get_record('openid_server_trust','ident',$trust_id);
 +			$trust->action = 'change';
 +			$body = generate_trust_form($trust);
 +			$title = gettext("Edit trust record");
 +			$show_full_form = false;
 +		}
 +	}
 +	
 +	if ($show_full_form) {			
 +		$edit_url = $CFG->wwwroot.'mod/openid_server/admin.php?trust_id=';
 +		$delete_url = $CFG->wwwroot.'mod/openid_server/admin.php?action=delete&trust_id=';
 +		$title = gettext("Manage default trust roots");
 +		$results = get_records_sql("SELECT ident, site_name, trust_root FROM {$CFG->prefix}openid_server_trust WHERE openid_url IS NULL OR openid_url = ''");
 +		if ($results) {
 +			$body .= '<h2>'.gettext("Default trust roots").'</h2>'."\n";
 +			$body.= '<table border="0">'."\n";
 +			foreach($results as $item) {
 +				$body .= '<tr><td width="150">'.$item->site_name.'</td><td width="250">'.$item->trust_root.'</td><td><a href="'
 +					.$edit_url.$item->ident.'">'.gettext("Edit").'</a></td><td><a href="'
 +					.$delete_url.$item->ident.'">'.gettext("Delete").'</a></td></tr>'."\n";
 +			}
 +		}
 +		$body .= "</table>\n";
 +		$body .= '<h2>'.gettext("Add default trust root").'</h2>';
 +		$trust = new StdClass;
 +		$trust->trust_root = '';
 +		$trust->site_name = '';
 +		$trust->auto_login = '';
 +		$trust->auto_logout = '';
 +		$trust->width = 0;
 +		$trust->height = 0;
 +		$trust->action = 'add';
 +		$body .= generate_trust_form($trust);
 +	}
 +}		
 +
 +define("context", "admin");
 +
 +templates_page_setup();    
 +
 +echo templates_page_draw( array(
 +                sitename,
 +                templates_draw(array(
 +                                                'body' => $body,
 +                                                'title' => $title,
 +                                                'context' => 'contentholder'
 +                                            )
 +                                            )
 +        )
 +        );
 +
 +?>
 diff --git a/mod/openid_server/views/default/openid_server/forms/autologin.php b/mod/openid_server/views/default/openid_server/forms/autologin.php new file mode 100755 index 000000000..6880e1543 --- /dev/null +++ b/mod/openid_server/views/default/openid_server/forms/autologin.php @@ -0,0 +1,22 @@ +<!--
 +/**
 + * Elgg openid_server: autologin form view
 + * 
 + * @package ElggOpenID
 + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
 + * @author Kevin Jardine <kevin@radagast.biz>
 + * @copyright Curverider Ltd 2008-2009
 + * @link http://elgg.org/
 + */
 +-->
 +<html>
 +<head>
 +<title>
 +<?php echo elgg_echo('openid_server:autologin_title'); ?>
 +</title>
 +<meta http-equiv="refresh" content="3;<?php echo $vars['return_url']; ?>"/>
 +</head>
 +<body>
 +<?php echo elgg_echo('openid_server:autologin_body')."<br /><br />\n".$vars['iframes'] ?>
 +</body>
 +</html>
\ No newline at end of file diff --git a/mod/openid_server/views/default/openid_server/forms/autologout.php b/mod/openid_server/views/default/openid_server/forms/autologout.php new file mode 100755 index 000000000..86b5c9682 --- /dev/null +++ b/mod/openid_server/views/default/openid_server/forms/autologout.php @@ -0,0 +1,24 @@ +<!--
 +/**
 + * Elgg openid_server: autologout form view
 + * 
 + * @package ElggOpenID
 + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
 + * @author Kevin Jardine <kevin@radagast.biz>
 + * @copyright Curverider Ltd 2008-2009
 + * @link http://elgg.org/
 + */
 + 
 + -->
 +
 +<html>
 +<head>
 +<title>
 +<?php echo elgg_echo('openid_server:autologout_title'); ?>
 +</title>
 +<meta http-equiv="refresh" content="3;<?php echo $CONFIG->wwwroot; ?>"/>
 +</head>
 +<body>
 +<?php echo elgg_echo('openid_server:autologout_body')."<br /><br />\n".$vars['iframes'] ?>
 +</body>
 +</html>
\ No newline at end of file diff --git a/mod/openid_server/views/default/openid_server/forms/trust.php b/mod/openid_server/views/default/openid_server/forms/trust.php new file mode 100755 index 000000000..5a1e05ca1 --- /dev/null +++ b/mod/openid_server/views/default/openid_server/forms/trust.php @@ -0,0 +1,35 @@ +<?php
 +
 +/**
 + * Elgg openid_server trust page
 + * 
 + * @package openid_server
 + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
 + * @author Kevin Jardiner <kevin@radagast.biz>
 + * @copyright Curverider Ltd 2008-2009
 + * @link http://elgg.com/
 + * 
 + * @uses the following values in $vars:
 + *
 + * 'openid'               the user's OpenID
 + * 'trust_root'           the trust root for the OpenID client requesting authentication
 + */
 +?>
 +
 +<div class="layout_canvas">
 +<div class="one_column">
 +<div class="contentWrapper">
 +<div class="form">
 +  <p><?php echo sprintf(elgg_echo('openid_server:trust_question'),$vars['openid_url'],$vars['openid_trust_root']) ?></p>
 +  <form method="post" action="<?php echo $vars['url'] ?>mod/openid_server/actions/trust.php">
 +    <input type="checkbox" name="remember" value="on" id="remember" /><label
 +        for="remember"><?php echo elgg_echo('openid_server:remember_trust') ?></label> 
 +    <br />
 +    <input type="hidden" name="trust_root" value="<?php echo $vars['openid_trust_root']; ?>" />
 +    <input type="submit" name="trust" value="<?php echo elgg_echo('openid_server:confirm_trust') ?>" />
 +    <input type="submit" name = "reject" value="<?php echo elgg_echo('openid_server:reject_trust') ?>" />
 +  </form>
 +</div>
 +</div>
 +</div>
 +</div>
 diff --git a/mod/openid_server/views/default/openid_server/metatags.php b/mod/openid_server/views/default/openid_server/metatags.php new file mode 100755 index 000000000..eddc174d4 --- /dev/null +++ b/mod/openid_server/views/default/openid_server/metatags.php @@ -0,0 +1,6 @@ +<?php
 +$owner = elgg_get_page_owner_entity();
 +echo '<link rel="openid2.provider openid.server" href="' . elgg_get_site_url() . 'mod/openid_server/server.php" />';
 +if ($owner) {
 +	echo '<link rel="openid2.local_id openid.delegate" href="' . elgg_get_site_url() . 'profile/' . $owner->username . '" />';
 +}
 diff --git a/mod/openid_server/views/xrds/openid_server/profile.php b/mod/openid_server/views/xrds/openid_server/profile.php new file mode 100644 index 000000000..9b34a6b7b --- /dev/null +++ b/mod/openid_server/views/xrds/openid_server/profile.php @@ -0,0 +1,11 @@ +<?php +	/* +	XRDS info to validate delegated identities +	*/ +	$user = elgg_get_page_owner_entity(); +?> +          <Service priority="0"> +            <Type>http://specs.openid.net/auth/2.0/signon</Type> +            <LocalID><?php echo $vars['url']; ?>mod/openid_server/server.php</LocalID> +            <URI><?php echo $vars['url']; ?>mod/openid_server/server.php</URI> +          </Service> diff --git a/mod/openid_server/views/xrds/openid_server/service.php b/mod/openid_server/views/xrds/openid_server/service.php new file mode 100644 index 000000000..269df5c2e --- /dev/null +++ b/mod/openid_server/views/xrds/openid_server/service.php @@ -0,0 +1,15 @@ +<?php +	/* +	XRD info to identify do eaut email to profile mapping +        and identify openid 2.0 server. +	*/ +?> +          <Service priority="0"> +            <Type>http://specs.eaut.org/1.0/template</Type> +            <URI><?php echo $vars['url']; ?>profile/%7Busername%7D</URI> +          </Service> +          <Service priority="10"> +            <Type>http://specs.openid.net/auth/2.0/server</Type> +            <URI><?php echo $vars['url']; ?>mod/openid_server/server.php</URI> +          </Service> +  | 
