Use AutoLoader to load classes:
[lhc/web/wiklou.git] / includes / Credits.php
index ff33de7..6721687 100644 (file)
 /**
  * This is largely cadged from PageHistory::history
  */
-function showCreditsPage($article) {
-       global $wgOut;
+class Credits {
+       function showCreditsPage($article) {
+               global $wgOut;
 
-       $fname = 'showCreditsPage';
+               $fname = 'Credits::showCreditsPage';
 
-       wfProfileIn( $fname );
+               wfProfileIn( $fname );
        
-       $wgOut->setPageTitle( $article->mTitle->getPrefixedText() );
-       $wgOut->setSubtitle( wfMsg( 'creditspage' ) );
-       $wgOut->setArticleFlag( false );
-       $wgOut->setArticleRelated( true );
-       $wgOut->setRobotpolicy( 'noindex,nofollow' );
-
-       if( $article->mTitle->getArticleID() == 0 ) {
-               $s = wfMsg( 'nocredits' );
-       } else {
-               $s = getCredits($article, -1);
-       }
+               $wgOut->setPageTitle( $article->mTitle->getPrefixedText() );
+               $wgOut->setSubtitle( wfMsg( 'creditspage' ) );
+               $wgOut->setArticleFlag( false );
+               $wgOut->setArticleRelated( true );
+               $wgOut->setRobotpolicy( 'noindex,nofollow' );
+
+               if( $article->mTitle->getArticleID() == 0 ) {
+                       $s = wfMsg( 'nocredits' );
+               } else {
+                       $s = Credits::getCredits($article, -1);
+               }
 
-       $wgOut->addHTML( $s );
+               $wgOut->addHTML( $s );
 
-       wfProfileOut( $fname );
-}
+               wfProfileOut( $fname );
+       }
 
-function getCredits($article, $cnt, $showIfMax=true) {
-       $fname = 'getCredits';
-       wfProfileIn( $fname );
-       $s = '';
+       function getCredits($article, $cnt, $showIfMax=true) {
+               $fname = 'Credits::getCredits';
+               wfProfileIn( $fname );
+               $s = '';
 
-       if (isset($cnt) && $cnt != 0) {
-               $s = getAuthorCredits($article);
-               if ($cnt > 1 || $cnt < 0) {
-                       $s .= ' ' . getContributorCredits($article, $cnt - 1, $showIfMax);
+               if (isset($cnt) && $cnt != 0) {
+                       $s = Credits::getAuthorCredits($article);
+                       if ($cnt > 1 || $cnt < 0) {
+                               $s .= ' ' . Credits::getContributorCredits($article, $cnt - 1, $showIfMax);
+                       }
                }
+
+               wfProfileOut( $fname );
+               return $s;
        }
 
-       wfProfileOut( $fname );
-       return $s;
-}
+       /**
+        *
+        */
+       function getAuthorCredits($article) {
+               global $wgLang, $wgAllowRealName;
 
-/**
- *
- */
-function getAuthorCredits($article) {
-       global $wgLang, $wgAllowRealName;
+               $last_author = $article->getUser();
 
-       $last_author = $article->getUser();
+               if ($last_author == 0) {
+                       $author_credit = wfMsg('anonymous');
+               } else {
+                       if($wgAllowRealName) { $real_name = User::whoIsReal($last_author); }
+                       $user_name = User::whoIs($last_author);
 
-       if ($last_author == 0) {
-               $author_credit = wfMsg('anonymous');
-       } else {
-               if($wgAllowRealName) { $real_name = User::whoIsReal($last_author); }
-               $user_name = User::whoIs($last_author);
+                       if (!empty($real_name)) {
+                               $author_credit = Credits::creditLink($user_name, $real_name);
+                       } else {
+                               $author_credit = wfMsg('siteuser', Credits::creditLink($user_name));
+                       }
+               }
 
-               if (!empty($real_name)) {
-                       $author_credit = creditLink($user_name, $real_name);
+               $timestamp = $article->getTimestamp();
+               if ($timestamp) {
+                       $d = $wgLang->timeanddate($article->getTimestamp(), true);
                } else {
-                       $author_credit = wfMsg('siteuser', creditLink($user_name));
+                       $d = '';
                }
+               return wfMsg('lastmodifiedby', $d, $author_credit);
        }
 
-       $timestamp = $article->getTimestamp();
-       if ($timestamp) {
-               $d = $wgLang->timeanddate($article->getTimestamp(), true);
-       } else {
-               $d = '';
-       }
-       return wfMsg('lastmodifiedby', $d, $author_credit);
-}
+       /**
+        *
+        */
+       function getContributorCredits($article, $cnt, $showIfMax) {
 
-/**
- *
- */
-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) {
-               $others_link = creditOthersLink($article);
-               if (!$showIfMax) {
-                       return wfMsg('othercontribs', $others_link);
-               } else {
-                       $contributors = array_slice($contributors, 0, $cnt);
+               if ($cnt > 0 && count($contributors) > $cnt) {
+                       $others_link = Credits::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) {
-               if ($user_parts[0] != 0) {
-                       if ($wgAllowRealName && !empty($user_parts[2])) {
-                               $real_names[] = creditLink($user_parts[1], $user_parts[2]);
+               foreach ($contributors as $user_parts) {
+                       if ($user_parts[0] != 0) {
+                               if ($wgAllowRealName && !empty($user_parts[2])) {
+                                       $real_names[] = Credits::creditLink($user_parts[1], $user_parts[2]);
+                               } else {
+                                       $user_names[] = Credits::creditLink($user_parts[1]);
+                               }
                        } else {
-                               $user_names[] = creditLink($user_parts[1]);
+                               $anon = wfMsg('anonymous');
                        }
-               } 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) {
-               if (!empty($s)) {
-                       array_push($fulllist, $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 ));
-}
+       /**
       *
       */
+       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 ));
+       }
 
-/**
- *
- */
-function creditOthersLink($article) {
-       global $wgUser;
-       $skin = $wgUser->getSkin();
-       return $skin->makeKnownLink($article->mTitle->getPrefixedText(), wfMsg('others'), 'action=credits');
+       /**
+        *
+        */
+       function creditOthersLink($article) {
+               global $wgUser;
+               $skin = $wgUser->getSkin();
+               return $skin->makeKnownLink($article->mTitle->getPrefixedText(), wfMsg('others'), 'action=credits');
+       }
 }
-
 ?>