From 4d04aff2a361ddfaad9550511e84b55d1878eef5 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 23 Apr 2004 22:34:33 +0000 Subject: [PATCH] Changed Metadata to use users' real names, if provided. If not, use their user names, as "$wgSitename user Foo". Added a static method to the User class to fetch a real name given an ID, and added a pattern for specifying user names in Language.php. --- includes/Metadata.php | 19 +++++++++++++++---- includes/User.php | 5 +++++ languages/Language.php | 3 ++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/includes/Metadata.php b/includes/Metadata.php index 48e48eb609..d3366cff10 100644 --- a/includes/Metadata.php +++ b/includes/Metadata.php @@ -107,12 +107,20 @@ function wfCreativeCommonsRdf($article) { dcElement('format', 'text/html'); dcElement('identifier', dcReallyFullUrl($article->mTitle)); dcElement('date', dcDate($article->getTimestamp())); - dcPerson('creator', $article->getUser()); + + $last_editor = $article->getUser(); + + if ($last_editor == 0) { + dcPerson('creator', 0); + } else { + dcPerson('creator', $last_editor, $article->getUserText(), + User::whoIsReal($last_editor)); + } $contributors = $article->getContributors(); foreach ($contributors as $cid => $user_parts) { - dcPerson('contributor', $cid, $user_parts[0]); + dcPerson('contributor', $cid, $user_parts[0], $user_parts[1]); } dcRights($article); @@ -204,16 +212,19 @@ function wfCreativeCommonsRdf($article) { print " \n"; } -/* private */ function dcPerson($name, $id, $user_name="") { +/* private */ function dcPerson($name, $id, $user_name="", $user_real_name="") { global $wgLang; if ($id == 0) { dcElement($name, wfMsg("anonymous")); + } else if ( !empty($user_real_name) ) { + dcElement($name, $user_real_name); } else { + # XXX: This shouldn't happen. if( empty( $user_name ) ) { $user_name = User::whoIs($id); } - dcPageOrString($name, $wgLang->getNsText(NS_USER) . ":" . $user_name, $user_name); + dcPageOrString($name, $wgLang->getNsText(NS_USER) . ":" . $user_name, wfMsg("siteuser", $user_name)); } } diff --git a/includes/User.php b/includes/User.php index 509183d20a..6b0632db03 100644 --- a/includes/User.php +++ b/includes/User.php @@ -36,6 +36,11 @@ class User { return wfGetSQL( "user", "user_name", "user_id=$id" ); } + /* static */ function whoIsReal( $id ) + { + return wfGetSQL( "user", "user_real_name", "user_id=$id" ); + } + /* static */ function idFromName( $name ) { $nt = Title::newFromText( $name ); diff --git a/languages/Language.php b/languages/Language.php index 9fc5adacf7..7d962f0a8a 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -1559,7 +1559,8 @@ amusement.", # Attribution -"anonymous" => "Anonymous user(s) of $wgSitename" +"anonymous" => "Anonymous user(s) of $wgSitename", +"siteuser" => "$wgSitename user $1" ); #-------------------------------------------------------------------------- -- 2.20.1