Changed Metadata to use users' real names, if provided. If not, use their
authorEvan Prodromou <evanprodromou@users.mediawiki.org>
Fri, 23 Apr 2004 22:34:33 +0000 (22:34 +0000)
committerEvan Prodromou <evanprodromou@users.mediawiki.org>
Fri, 23 Apr 2004 22:34:33 +0000 (22:34 +0000)
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
includes/User.php
languages/Language.php

index 48e48eb..d3366cf 100644 (file)
@@ -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 "    <dc:{$name} rdf:resource=\"{$url}\" />\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));
        }
 }
 
index 509183d..6b0632d 100644 (file)
@@ -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 );
index 9fc5ada..7d962f0 100644 (file)
@@ -1559,7 +1559,8 @@ amusement.",
 
 # Attribution
 
-"anonymous" => "Anonymous user(s) of $wgSitename"
+"anonymous" => "Anonymous user(s) of $wgSitename",
+"siteuser" => "$wgSitename user $1"                                   
 );
 
 #--------------------------------------------------------------------------