If 'tables' is a string that starts with a space, treat it as user-enforced FROM...
[lhc/web/wiklou.git] / includes / Credits.php
index 0242312..87382a8 100644 (file)
  *
  *  You should have received a copy of the GNU General Public License
  *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * @author <evan@wikitravel.org>
- * @package MediaWiki
  */
 
 /**
  * This is largely cadged from PageHistory::history
  */
 function showCreditsPage($article) {
-    global $wgOut;
+       global $wgOut;
 
-    $fname = 'showCreditsPage';
+       $fname = 'showCreditsPage';
 
-    wfProfileIn( $fname );
+       wfProfileIn( $fname );
+       
+       $wgOut->setPageTitle( $article->mTitle->getPrefixedText() );
+       $wgOut->setSubtitle( wfMsg( 'creditspage' ) );
+       $wgOut->setArticleFlag( false );
+       $wgOut->setArticleRelated( true );
+       $wgOut->setRobotpolicy( 'noindex,nofollow' );
 
-    $wgOut->setPageTitle( $article->mTitle->getPrefixedText() );
-    $wgOut->setSubtitle( wfMsg( 'creditspage' ) );
-    $wgOut->setArticleFlag( false );
-    $wgOut->setArticleRelated( true );
-    $wgOut->setRobotpolicy( 'noindex,nofollow' );
-
-    if( $article->mTitle->getArticleID() == 0 ) {
+       if( $article->mTitle->getArticleID() == 0 ) {
                $s = wfMsg( 'nocredits' );
-    } else {
+       } else {
                $s = getCredits($article, -1);
-    }
+       }
 
-    $wgOut->addHTML( $s );
+       $wgOut->addHTML( $s );
 
-    wfProfileOut( $fname );
+       wfProfileOut( $fname );
 }
 
 function getCredits($article, $cnt, $showIfMax=true) {
+       $fname = 'getCredits';
+       wfProfileIn( $fname );
+       $s = '';
 
-    $s = '';
-
-    if (isset($cnt) && $cnt != 0) {
+       if (isset($cnt) && $cnt != 0) {
                $s = getAuthorCredits($article);
                if ($cnt > 1 || $cnt < 0) {
                        $s .= ' ' . getContributorCredits($article, $cnt - 1, $showIfMax);
                }
-    }
+       }
 
-    return $s;
+       wfProfileOut( $fname );
+       return $s;
 }
 
 /**
  *
  */
 function getAuthorCredits($article) {
-    global $wgLang;
+       global $wgLang, $wgAllowRealName;
 
-    $last_author = $article->getUser();
+       $last_author = $article->getUser();
 
-    if ($last_author == 0) {
+       if ($last_author == 0) {
                $author_credit = wfMsg('anonymous');
-    } else {
-
-               $real_name = User::whoIsReal($last_author);
+       } else {
+               if($wgAllowRealName) { $real_name = User::whoIsReal($last_author); }
                $user_name = User::whoIs($last_author);
 
                if (!empty($real_name)) {
@@ -82,15 +82,17 @@ function getAuthorCredits($article) {
                } else {
                        $author_credit = wfMsg('siteuser', creditLink($user_name));
                }
-    }
+       }
 
-    $timestamp = $article->getTimestamp();
-    if ($timestamp) {
-               $d = $wgLang->timeanddate($article->getTimestamp(), true);
-    } else {
+       $timestamp = $article->getTimestamp();
+       if ($timestamp) {
+               $d = $wgLang->date($article->getTimestamp(), true);
+               $t = $wgLang->time($article->getTimestamp(), true);
+       } else {
                $d = '';
-    }
-    return wfMsg('lastmodifiedby', $d, $author_credit);
+               $t = '';
+       }
+       return wfMsg('lastmodifiedatby', $d, $t, $author_credit);
 }
 
 /**
@@ -98,31 +100,31 @@ function getAuthorCredits($article) {
  */
 function getContributorCredits($article, $cnt, $showIfMax) {
 
-    global $wgLang, $wgAllowRealName;
+       global $wgLang, $wgAllowRealName;
 
-    $contributors = $article->getContributors();
+       $contributors = $article->getContributors();
 
-    $others_link = '';
+       $others_link = '';
 
-    # Hmm... too many to fit!
+       # Hmm... too many to fit!
 
-    if ($cnt > 0 && count($contributors) > $cnt) {
+       if ($cnt > 0 && count($contributors) > $cnt) {
                $others_link = creditOthersLink($article);
                if (!$showIfMax) {
                        return wfMsg('othercontribs', $others_link);
                } else {
                        $contributors = array_slice($contributors, 0, $cnt);
                }
-    }
+       }
 
-    $real_names = array();
-    $user_names = array();
+       $real_names = array();
+       $user_names = array();
 
-    $anon = '';
+       $anon = '';
 
-    # Sift for real versus user names
+       # Sift for real versus user names
 
-    foreach ($contributors as $user_parts) {
+       foreach ($contributors as $user_parts) {
                if ($user_parts[0] != 0) {
                        if ($wgAllowRealName && !empty($user_parts[2])) {
                                $real_names[] = creditLink($user_parts[1], $user_parts[2]);
@@ -132,55 +134,55 @@ function getContributorCredits($article, $cnt, $showIfMax) {
                } else {
                        $anon = wfMsg('anonymous');
                }
-    }
+       }
 
-    # Two strings: real names, and user names
+       # Two strings: real names, and user names
 
-    $real = $wgLang->listToText($real_names);
-    $user = $wgLang->listToText($user_names);
+       $real = $wgLang->listToText($real_names);
+       $user = $wgLang->listToText($user_names);
 
-    # "ThisSite user(s) A, B and C"
+       # "ThisSite user(s) A, B and C"
 
-    if (!empty($user)) {
-        $user = wfMsg('siteusers', $user);
-    }
+       if (!empty($user)) {
+               $user = wfMsg('siteusers', $user);
+       }
 
-    # This is the big list, all mooshed together. We sift for blank strings
+       # This is the big list, all mooshed together. We sift for blank strings
 
-    $fulllist = array();
+       $fulllist = array();
 
-    foreach (array($real, $user, $anon, $others_link) as $s) {
+       foreach (array($real, $user, $anon, $others_link) as $s) {
                if (!empty($s)) {
                        array_push($fulllist, $s);
                }
-    }
+       }
 
-    # Make the list into text...
+       # Make the list into text...
 
-    $creds = $wgLang->listToText($fulllist);
+       $creds = $wgLang->listToText($fulllist);
 
-    # "Based on work by ..."
+       # "Based on work by ..."
 
-    return (empty($creds)) ? '' : wfMsg('othercontribs', $creds);
+       return (empty($creds)) ? '' : wfMsg('othercontribs', $creds);
 }
 
 /**
  *
  */
 function creditLink($user_name, $link_text = '') {
-    global $wgUser, $wgContLang;
-    $skin = $wgUser->getSkin();
-    return $skin->makeLink($wgContLang->getNsText(NS_USER) . ':' . $user_name,
-                                                  htmlspecialchars( (empty($link_text)) ? $user_name : $link_text ));
+       global $wgUser, $wgContLang;
+       $skin = $wgUser->getSkin();
+       return $skin->makeLink($wgContLang->getNsText(NS_USER) . ':' . $user_name,
+                              htmlspecialchars( (empty($link_text)) ? $user_name : $link_text ));
 }
 
 /**
  *
  */
 function creditOthersLink($article) {
-    global $wgUser, $wgLang;
-    $skin = $wgUser->getSkin();
-    return $skin->makeKnownLink($article->mTitle->getPrefixedText(), wfMsg('others'), 'action=credits');
+       global $wgUser;
+       $skin = $wgUser->getSkin();
+       return $skin->makeKnownLink($article->mTitle->getPrefixedText(), wfMsg('others'), 'action=credits');
 }
 
 ?>