Wikinaut has uploaded a new change for review.
https://gerrit.wikimedia.org/r/51278
Change subject: (bug 45323) preference tab "OpenID" adds a list of "trust"
records
......................................................................
(bug 45323) preference tab "OpenID" adds a list of "trust" records
= list of "consumer" domains and services for which the user
allowed to use their MediaWiki OpenID
Change-Id: Id2d1a0710f698d904e339ed194be6494937ceb5d
---
M CHANGES
M OpenID.hooks.php
M OpenID.i18n.php
M OpenID.php
M SpecialOpenIDServer.body.php
5 files changed, 88 insertions(+), 19 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/OpenID
refs/changes/78/51278/1
diff --git a/CHANGES b/CHANGES
index 16d2e5d..ad69a31 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
CHANGES
=======
+2.03 20130227 fix bug45323 preference tab "OpenID" shows list of "trust"
records
2.01 20130209 fix to allow identity selection bug44416
fix bug40068, bug40067 $wgOpenIDConsumerForce
changed default value $wgOpenIDShowProviderIcons = true;
diff --git a/OpenID.hooks.php b/OpenID.hooks.php
index 0305c57..0ff5702 100644
--- a/OpenID.hooks.php
+++ b/OpenID.hooks.php
@@ -142,7 +142,7 @@
return true;
}
- private static function getInfoTable( $user ) {
+ private static function getAssociatedOpenIDsTable( $user ) {
global $wgLang;
$openid_urls_registration =
SpecialOpenID::getUserOpenIDInformation( $user );
$delTitle = SpecialPage::getTitleFor( 'OpenIDConvert', 'Delete'
);
@@ -199,9 +199,41 @@
return $info;
}
+ private static function getTrustTable( $user ) {
+
+ $trusted_sites = SpecialOpenIDServer::GetUserTrustArray( $user
);
+ wfDebug( "OpenID: +++ trusted sites +++ " . print_r(
$trusted_sites, true ) . "\n" );
+ $rows = '';
+
+ foreach ( $trusted_sites as $key => $value ) {
+
+ if ( $key !== "" ) {
+
+ $rows .= Xml::tags( 'tr', array(),
+ Xml::tags( 'td',
+ array(),
+ Xml::element( 'a', array( 'href' =>
$key ), $key )
+ )
+ ) . "\n";
+
+ }
+ }
+
+ $trusted_sites_table = Xml::tags( 'table', array( 'class' =>
'wikitable' ),
+ Xml::tags( 'tr', array(),
+ Xml::element( 'th',
+ array(),
+ wfMessage(
'openid-trusted-sites-table-header' )->text() )
+ ) . "\n" .
+ $rows
+ );
+
+ return $trusted_sites_table;
+ }
+
public static function onGetPreferences( $user, &$preferences ) {
global $wgOpenIDShowUrlOnUserPage, $wgAllowRealName;
- global $wgAuth, $wgUser, $wgLang;
+ global $wgAuth, $wgUser, $wgLang, $wgOpenIDOnlyClient,
$wgOpenIDIdentifiersURL;
if ( $wgOpenIDShowUrlOnUserPage == 'user' ) {
$preferences['openid-hide'] =
@@ -234,16 +266,47 @@
array(
'type' => 'info',
'label-message' => 'openid-urls-desc',
- 'default' => self::getInfoTable( $user ),
+ 'default' => self::getAssociatedOpenIDsTable(
$user ),
'raw' => true,
'section' => 'openid',
);
+ if ( !$wgOpenIDOnlyClient ) {
+
+ if ( $wgOpenIDIdentifiersURL ) {
+ $openid = preg_replace( '/\{ID\}/',
$user->getID(), $wgOpenIDIdentifiersURL );
+ } else {
+ $local_identity = SpecialPage::getTitleFor(
'OpenIDIdentifier', $user->getID() );
+ $openid = $local_identity->getFullURL();
+ }
+
+ $preferences['openid-your-openid'] =
+ array(
+ 'type' => 'info',
+ 'label-message' => 'openid-your-openid',
+ 'default' => Xml::element( 'a', array(
'href' => $openid ), $openid ) ,
+ 'raw' => true,
+ 'section' => 'openid',
+ );
+
+ $preferences['openid-trusted-sites'] =
+ array(
+ 'type' => 'info',
+ 'label-message' =>
'openid-trusted-sites',
+ 'default' => self::getTrustTable( $user
),
+ 'raw' => true,
+ 'section' => 'openid',
+ );
+ }
+
if ( $wgAuth->allowPasswordChange() ) {
- $resetlink = $wgUser->getSkin()->link(
SpecialPage::getTitleFor( 'PasswordReset' ),
- wfMsgHtml( 'passwordreset' ), array(),
- array( 'returnto' => SpecialPage::getTitleFor(
'Preferences' ) ) );
+ $resetlink = $wgUser->getSkin()->link(
+ SpecialPage::getTitleFor( 'PasswordReset' ),
+ wfMessage( 'passwordreset' )->text(),
+ array(),
+ array( 'returnto' => SpecialPage::getTitleFor(
'Preferences' ) )
+ );
if ( empty( $wgUser->mPassword ) && empty(
$wgUser->mNewpassword ) ) {
$preferences['password'] = array(
@@ -268,11 +331,10 @@
unset( $preferences['rememberpassword'] );
$preferences['rememberpassword'] = array(
'type' => 'toggle',
- 'label' => wfMsgExt(
+ 'label' => wfMessage(
'tog-rememberpassword',
- array( 'parsemag' ),
$wgLang->formatNum( ceil(
$wgCookieExpiration / ( 3600 * 24 ) ) )
- ),
+ )->text(),
'section' => 'personal/info',
);
}
diff --git a/OpenID.i18n.php b/OpenID.i18n.php
index 1f015c0..bedb9cb 100644
--- a/OpenID.i18n.php
+++ b/OpenID.i18n.php
@@ -114,7 +114,7 @@
You would not able to log in without an OpenID.',
'openiddelete-sucess' => 'The OpenID has been successfully removed from
your account.',
'openiddelete-error' => 'An error occurred while removing the OpenID
from your account.',
- 'openid-openids-were-not-merged' => 'OpenID(s) were not merged when
merging the user accounts.',
+ 'openid-openids-were-not-merged' => 'OpenID(s) were not merged when
merging the user accounts.',
'prefs-openid' => 'OpenID',
'openid-prefstext' => '[//openid.net/ OpenID] preferences',
@@ -126,7 +126,10 @@
'openid-urls-registration' => 'Registration time',
'openid-urls-registration-date-time' => '$1', # only translate this
message to other languages if you have to change it
'openid-urls-delete' => 'Delete',
- 'openid-add-url' => 'Add a new OpenID',
+ 'openid-your-openid' => 'Your OpenID:',
+ 'openid-trusted-sites' => 'Sites you trust and where you have used your
OpenID for logging in:',
+ 'openid-trusted-sites-table-header' => 'Trusted sites',
+ 'openid-add-url' => 'Add a new OpenID to your account',
'openid-login-or-create-account' => 'Log in or create a new account',
'openid-provider-label-openid' => 'Enter your OpenID URL',
@@ -1426,7 +1429,10 @@
'openid-urls-action' => 'Aktion',
'openid-urls-registration' => 'Registrierungszeitpunkt',
'openid-urls-delete' => 'Löschen',
- 'openid-add-url' => 'Eine neue OpenID hinzufügen',
+ 'openid-add-url' => 'Eine neue OpenID zu deinem Benutzerkonto
hinzufügen',
+ 'openid-your-openid' => 'Deine OpenID:',
+ 'openid-trusted-sites' => 'Websites, denen du vertraust, und bei denen
du mit deiner OpenID bekannt bist:',
+ 'openid-trusted-sites-table-header' => 'Websites, denen du vertraust',
'openid-login-or-create-account' => 'Anmelden oder ein neues
Benutzerkonto erstellen',
'openid-provider-label-openid' => 'Gib deine OpenID-URL an',
'openid-provider-label-google' => 'Mit deinem Google-Benutzerkonto
anmelden',
@@ -3455,10 +3461,10 @@
あなたの OpenID は $2 です。
-これを含むすべての OpenID は個人設定の [[Special:Preferences#mw-prefsection-openid|OpenID
タブ]]で管理できます。<br />
-アカウントパスワード (省略可能)
は[[Special:Preferences#mw-prefsection-personal|利用者情報]]で追加できます。",
+これと他の OpenID(省略可能)は個人設定の [[Special:Preferences#mw-prefsection-openid|OpenID
タブ]]で管理できます。<br />
+アカウントパスワード(省略可能)は[[Special:Preferences#mw-prefsection-personal|利用者情報]]で追加できます。",
'openidusernameprefix' => 'OpenID ユーザー',
- 'openidserverlogininstructions' => '利用者 $2 のページ $1 (これがあなたの OpenID URL
です) に対応するパスワードを入力することを、$3 が要求しています',
+ 'openidserverlogininstructions' => '利用者 $2 のページ $1(これがあなたの OpenID URL
です)に対応するパスワードを入力するように、$3 が要求しています',
'openidtrustinstructions' => '$1 とデータを共有したいか確認してください。',
'openidallowtrust' => '$1 がこの利用者アカウントを信用するのを許可する。',
'openidnopolicy' => 'サイトはプライバシーに関する方針を明記していません。',
diff --git a/OpenID.php b/OpenID.php
index 1d0f3de..7eab249 100644
--- a/OpenID.php
+++ b/OpenID.php
@@ -29,7 +29,7 @@
exit( 1 );
}
-define( 'MEDIAWIKI_OPENID_VERSION', '2.02 20130214' );
+define( 'MEDIAWIKI_OPENID_VERSION', '2.03 20130227' );
$path = dirname( __FILE__ );
set_include_path( implode( PATH_SEPARATOR, array( $path ) ) . PATH_SEPARATOR .
get_include_path() );
diff --git a/SpecialOpenIDServer.body.php b/SpecialOpenIDServer.body.php
index 62a1d06..1d776af 100644
--- a/SpecialOpenIDServer.body.php
+++ b/SpecialOpenIDServer.body.php
@@ -480,7 +480,7 @@
$this->SetUserTrustArray( $user, $trust_array );
}
- function GetUserTrustArray( $user ) {
+ static function GetUserTrustArray( $user ) {
$trust_array = array();
$trust_str = $user->getOption( 'openid_trust' );
if ( strlen( $trust_str ) > 0 ) {
@@ -492,7 +492,7 @@
$trust_array[$trust_root] = false;
} else {
$fields = array_map( 'trim', $fields );
- $fields = array_filter( $fields, array(
$this, 'ValidField' ) );
+ $fields = array_filter( $fields, array(
'SpecialOpenIDServer', 'ValidField' ) );
$trust_array[$trust_root] = $fields;
}
}
@@ -522,7 +522,7 @@
$user->setOption( 'openid_trust', $trust_str );
}
- function ValidField( $name ) {
+ static function ValidField( $name ) {
# FIXME: eventually add timezone
static $fields = array( 'nickname', 'email', 'fullname',
'language' );
return in_array( $name, $fields );
--
To view, visit https://gerrit.wikimedia.org/r/51278
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id2d1a0710f698d904e339ed194be6494937ceb5d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/OpenID
Gerrit-Branch: master
Gerrit-Owner: Wikinaut <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits