From c64f137497cb2963445b34e17ed45a3044135bab Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 30 Jun 2008 13:03:42 -0400 Subject: refactor common behaviour in settings pages darcs-hash:20080630170342-84dde-5d7feb88a0a707b24c8070802a7ec99dd1f35687.gz --- actions/openidsettings.php | 59 ++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 34 deletions(-) (limited to 'actions/openidsettings.php') diff --git a/actions/openidsettings.php b/actions/openidsettings.php index a915542a6..c7cceebf9 100644 --- a/actions/openidsettings.php +++ b/actions/openidsettings.php @@ -23,28 +23,19 @@ require_once(INSTALLDIR.'/lib/settingsaction.php'); require_once(INSTALLDIR.'/lib/openid.php'); class OpenidsettingsAction extends SettingsAction { - - function show_top($arr) { - $msg = $arr[0]; - $success = $arr[1]; - - if ($msg) { - $this->message($msg, $success); - } else { - common_element('div', 'instructions', - _t('Manage your associated OpenIDs from here.')); - } - - $this->settings_menu(); + + function get_instructions() { + return _t('[OpenID](%%doc.openid%%) lets you log into many sites ' . + ' with the same user account. '. + ' Manage your associated OpenIDs from here.'); } - + function show_form($msg=NULL, $success=false) { - + $user = common_current_user(); - - common_show_header(_t('OpenID settings'), NULL, array($msg, $success), - array($this, 'show_top')); - + + $this->form_header(_t('OpenID settings'), $msg, $success); + common_element_start('form', array('method' => 'POST', 'id' => 'openidadd', 'action' => @@ -66,36 +57,36 @@ class OpenidsettingsAction extends SettingsAction { 'value' => _t('Add'))); common_element_end('p'); common_element_end('form'); - + $oid = new User_openid(); $oid->user_id = $user->id; - + $cnt = $oid->find(); - + if ($cnt > 0) { - + common_element('h2', NULL, _t('Remove OpenID')); - + if ($cnt == 1 && !$user->password) { - + common_element('p', NULL, _t('Removing your only OpenID would make it impossible to log in! ' . 'If you need to remove it, add another OpenID first.')); - + if ($oid->fetch()) { common_element_start('p'); common_element('a', array('href' => $oid->canonical), $oid->display); common_element_end('p'); } - + } else { - + common_element('p', NULL, _t('You can remove an OpenID from your account '. 'by clicking the button marked "Remove".')); $idx = 0; - + while ($oid->fetch()) { common_element_start('form', array('method' => 'POST', 'id' => 'openiddelete' . $idx, @@ -119,10 +110,10 @@ class OpenidsettingsAction extends SettingsAction { } } } - + common_show_footer(); } - + function handle_post() { if ($this->arg('add')) { $result = oid_authenticate($this->trimmed('openid_url'), 'finishaddopenid'); @@ -135,9 +126,9 @@ class OpenidsettingsAction extends SettingsAction { $this->show_form(_t('Something weird happened.')); } } - + function remove_openid() { - + $openid_url = $this->trimmed('openid_url'); $oid = User_openid::staticGet('canonical', $openid_url); if (!$oid) { @@ -153,4 +144,4 @@ class OpenidsettingsAction extends SettingsAction { $this->show_form(_t('OpenID removed.'), true); return; } -} \ No newline at end of file +} -- cgit v1.2.3-54-g00ecf