From 0b8b67d74a51586c5a45012e9e0f7bbe54f7e954 Mon Sep 17 00:00:00 2001 From: Pablo Martin Date: Wed, 17 Oct 2012 02:38:11 +0000 Subject: Elgg OpenID server adapted for Elgg 1.8. --- views/default/forms/openid_server/trust.php | 34 +++++ views/default/openid_server/forms/admin.php | 154 +++++++++++++++++++++++ views/default/openid_server/forms/autologin.php | 22 ++++ views/default/openid_server/forms/autologout.php | 24 ++++ views/default/openid_server/forms/trust.php | 35 ++++++ views/default/openid_server/metatags.php | 16 +++ views/default/openid_server/metatags.php.old | 23 ++++ views/xrds/openid_server/service.php | 9 ++ 8 files changed, 317 insertions(+) create mode 100755 views/default/forms/openid_server/trust.php create mode 100755 views/default/openid_server/forms/admin.php create mode 100755 views/default/openid_server/forms/autologin.php create mode 100755 views/default/openid_server/forms/autologout.php create mode 100755 views/default/openid_server/forms/trust.php create mode 100755 views/default/openid_server/metatags.php create mode 100755 views/default/openid_server/metatags.php.old create mode 100644 views/xrds/openid_server/service.php (limited to 'views') diff --git a/views/default/forms/openid_server/trust.php b/views/default/forms/openid_server/trust.php new file mode 100755 index 000000000..3dac9b648 --- /dev/null +++ b/views/default/forms/openid_server/trust.php @@ -0,0 +1,34 @@ + + * @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 '
' . elgg_echo('openid_server:trust_question', array($openid_trust_root, elgg_get_site_entity()->name, $user->username)); + +/*echo '
'.elgg_view('input/checkbox', array( + 'name' => 'name', +*/ + +echo ''; + +echo '
'.elgg_view('input/checkbox', array('name' => 'remember', 'id' => 'remember', 'checked' => true)); +echo '
'; diff --git a/views/default/openid_server/forms/admin.php b/views/default/openid_server/forms/admin.php new file mode 100755 index 000000000..e19a97e8e --- /dev/null +++ b/views/default/openid_server/forms/admin.php @@ -0,0 +1,154 @@ + + * @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 + + $explanation +
+
+
+
+
+
+
+ + + +
+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 .= '

'.gettext("Default trust roots").'

'."\n"; + $body.= ''."\n"; + foreach($results as $item) { + $body .= ''."\n"; + } + } + $body .= "
'.$item->site_name.''.$item->trust_root.''.gettext("Edit").''.gettext("Delete").'
\n"; + $body .= '

'.gettext("Add default trust root").'

'; + $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/views/default/openid_server/forms/autologin.php b/views/default/openid_server/forms/autologin.php new file mode 100755 index 000000000..6880e1543 --- /dev/null +++ b/views/default/openid_server/forms/autologin.php @@ -0,0 +1,22 @@ + + + + +<?php echo elgg_echo('openid_server:autologin_title'); ?> + + + + +
\n".$vars['iframes'] ?> + + \ No newline at end of file diff --git a/views/default/openid_server/forms/autologout.php b/views/default/openid_server/forms/autologout.php new file mode 100755 index 000000000..86b5c9682 --- /dev/null +++ b/views/default/openid_server/forms/autologout.php @@ -0,0 +1,24 @@ + + + + + +<?php echo elgg_echo('openid_server:autologout_title'); ?> + + + + +
\n".$vars['iframes'] ?> + + \ No newline at end of file diff --git a/views/default/openid_server/forms/trust.php b/views/default/openid_server/forms/trust.php new file mode 100755 index 000000000..5a1e05ca1 --- /dev/null +++ b/views/default/openid_server/forms/trust.php @@ -0,0 +1,35 @@ + + * @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 + */ +?> + +
+
+
+
+

+
+ +
+ + + +
+
+
+
+
diff --git a/views/default/openid_server/metatags.php b/views/default/openid_server/metatags.php new file mode 100755 index 000000000..9b486568e --- /dev/null +++ b/views/default/openid_server/metatags.php @@ -0,0 +1,16 @@ + + * @copyright Curverider Ltd 2008-2009 + * @link http://elgg.org/ + * + */ + + global $CONFIG; +?> + diff --git a/views/default/openid_server/metatags.php.old b/views/default/openid_server/metatags.php.old new file mode 100755 index 000000000..fddca8ceb --- /dev/null +++ b/views/default/openid_server/metatags.php.old @@ -0,0 +1,23 @@ + + * @copyright Curverider Ltd 2008-2009 + * @link http://elgg.org/ + * + */ + +?> + + \ No newline at end of file diff --git a/views/xrds/openid_server/service.php b/views/xrds/openid_server/service.php new file mode 100644 index 000000000..7daafbbed --- /dev/null +++ b/views/xrds/openid_server/service.php @@ -0,0 +1,9 @@ + + + http://specs.eaut.org/1.0/template + profile/%7Busername%7D + -- cgit v1.2.3