123 lines
3 KiB
PHP
123 lines
3 KiB
PHP
<?php
|
|
/**
|
|
* Nostalgia: A skin which looks like Wikipedia did in its first year (2001).
|
|
*
|
|
* @file
|
|
* @ingroup Skins
|
|
*/
|
|
|
|
if( !defined( 'MEDIAWIKI' ) ) {
|
|
die( -1 );
|
|
}
|
|
|
|
/**
|
|
* @todo document
|
|
* @ingroup Skins
|
|
*/
|
|
class SkinNostalgia extends SkinLegacy {
|
|
var $skinname = 'nostalgia', $stylename = 'nostalgia',
|
|
$template = 'NostalgiaTemplate';
|
|
|
|
function setupSkinUserCss( OutputPage $out ){
|
|
parent::setupSkinUserCss( $out );
|
|
$out->addModuleStyles( 'skins.nostalgia' );
|
|
}
|
|
|
|
}
|
|
|
|
class NostalgiaTemplate extends LegacyTemplate {
|
|
|
|
function doBeforeContent() {
|
|
$s = "\n<div id='content'>\n<div id='top'>\n";
|
|
$s .= '<div id="logo">' . $this->getSkin()->logoText( 'right' ) . '</div>';
|
|
|
|
$s .= $this->pageTitle();
|
|
$s .= $this->pageSubtitle() . "\n";
|
|
|
|
$s .= '<div id="topbar">';
|
|
$s .= $this->topLinks() . "\n<br />";
|
|
|
|
$notice = $this->getSkin()->getSiteNotice();
|
|
if( $notice ) {
|
|
$s .= "\n<div id='siteNotice'>$notice</div>\n";
|
|
}
|
|
$s .= $this->pageTitleLinks();
|
|
|
|
$ol = $this->otherLanguages();
|
|
if( $ol ) {
|
|
$s .= '<br />' . $ol;
|
|
}
|
|
|
|
$cat = $this->getSkin()->getCategoryLinks();
|
|
if( $cat ) {
|
|
$s .= '<br />' . $cat;
|
|
}
|
|
|
|
$s .= "<br clear='all' /></div><hr />\n</div>\n";
|
|
$s .= "\n<div id='article'>";
|
|
|
|
return $s;
|
|
}
|
|
|
|
function topLinks() {
|
|
global $wgOut, $wgUser;
|
|
$sep = " |\n";
|
|
|
|
$s = $this->getSkin()->mainPageLink() . $sep
|
|
. Linker::specialLink( 'Recentchanges' );
|
|
|
|
if ( $wgOut->isArticle() ) {
|
|
$s .= $sep . '<strong>' . $this->editThisPage() . '</strong>' . $sep . $this->talkLink() .
|
|
$sep . $this->historyLink();
|
|
}
|
|
|
|
/* show links to different language variants */
|
|
$s .= $this->variantLinks();
|
|
$s .= $this->extensionTabLinks();
|
|
if ( $wgUser->isAnon() ) {
|
|
$s .= $sep . Linker::specialLink( 'Userlogin' );
|
|
} else {
|
|
/* show user page and user talk links */
|
|
$s .= $sep . Linker::link( $wgUser->getUserPage(), wfMsgHtml( 'mypage' ) );
|
|
$s .= $sep . Linker::link( $wgUser->getTalkPage(), wfMsgHtml( 'mytalk' ) );
|
|
if ( $wgUser->getNewtalk() ) {
|
|
$s .= ' *';
|
|
}
|
|
/* show watchlist link */
|
|
$s .= $sep . Linker::specialLink( 'Watchlist' );
|
|
/* show my contributions link */
|
|
$s .= $sep . Linker::link(
|
|
SpecialPage::getSafeTitleFor( 'Contributions', $wgUser->getName() ),
|
|
wfMsgHtml( 'mycontris' ) );
|
|
/* show my preferences link */
|
|
$s .= $sep . Linker::specialLink( 'Preferences' );
|
|
/* show upload file link */
|
|
if( UploadBase::isEnabled() && UploadBase::isAllowed( $wgUser ) === true ) {
|
|
$s .= $sep . $this->getUploadLink();
|
|
}
|
|
|
|
/* show log out link */
|
|
$s .= $sep . $this->getSkin()->specialLink( 'Userlogout' );
|
|
}
|
|
|
|
$s .= $sep . $this->specialPagesList();
|
|
|
|
return $s;
|
|
}
|
|
|
|
function doAfterContent() {
|
|
$s = "\n</div><br clear='all' />\n";
|
|
|
|
$s .= "\n<div id='footer'><hr />";
|
|
|
|
$s .= $this->bottomLinks();
|
|
$s .= "\n<br />" . $this->pageStats();
|
|
$s .= "\n<br />" . $this->getSkin()->mainPageLink()
|
|
. ' | ' . $this->getSkin()->aboutLink()
|
|
. ' | ' . $this->searchForm();
|
|
|
|
$s .= "\n</div>\n</div>\n";
|
|
|
|
return $s;
|
|
}
|
|
}
|