clean up comments & hints
[lhc/web/wiklou.git] / skins / Nostalgia.php
1 <?php
2 /**
3 * Nostalgia: A skin which looks like Wikipedia did in its first year (2001).
4 *
5 * @file
6 * @ingroup Skins
7 */
8
9 if( !defined( 'MEDIAWIKI' ) ) {
10 die( -1 );
11 }
12
13 /**
14 * @todo document
15 * @ingroup Skins
16 */
17 class SkinNostalgia extends SkinLegacy {
18 var $skinname = 'nostalgia', $stylename = 'nostalgia',
19 $template = 'NostalgiaTemplate';
20
21 /**
22 * @param $out OutputPage
23 */
24 function setupSkinUserCss( OutputPage $out ){
25 parent::setupSkinUserCss( $out );
26 $out->addModuleStyles( 'skins.nostalgia' );
27 }
28
29 }
30
31 class NostalgiaTemplate extends LegacyTemplate {
32
33 /**
34 * @return string
35 */
36 function doBeforeContent() {
37 $s = "\n<div id='content'>\n<div id='top'>\n";
38 $s .= '<div id="logo">' . $this->getSkin()->logoText( 'right' ) . '</div>';
39
40 $s .= $this->pageTitle();
41 $s .= $this->pageSubtitle() . "\n";
42
43 $s .= '<div id="topbar">';
44 $s .= $this->topLinks() . "\n<br />";
45
46 $notice = $this->getSkin()->getSiteNotice();
47 if( $notice ) {
48 $s .= "\n<div id='siteNotice'>$notice</div>\n";
49 }
50 $s .= $this->pageTitleLinks();
51
52 $ol = $this->otherLanguages();
53 if( $ol ) {
54 $s .= '<br />' . $ol;
55 }
56
57 $s .= $this->getSkin()->getCategories();
58
59 $s .= "<br clear='all' /></div><hr />\n</div>\n";
60 $s .= "\n<div id='article'>";
61
62 return $s;
63 }
64
65 /**
66 * @return string
67 */
68 function topLinks() {
69 $sep = " |\n";
70
71 $s = $this->getSkin()->mainPageLink() . $sep
72 . Linker::specialLink( 'Recentchanges' );
73
74 if ( $this->data['isarticle'] ) {
75 $s .= $sep . '<strong>' . $this->editThisPage() . '</strong>' . $sep . $this->talkLink() .
76 $sep . $this->historyLink();
77 }
78
79 /* show links to different language variants */
80 $s .= $this->variantLinks();
81 $s .= $this->extensionTabLinks();
82 if ( !$this->data['loggedin'] ) {
83 $s .= $sep . Linker::specialLink( 'Userlogin' );
84 } else {
85 /* show user page and user talk links */
86 $user = $this->getSkin()->getUser();
87 $s .= $sep . Linker::link( $user->getUserPage(), wfMsgHtml( 'mypage' ) );
88 $s .= $sep . Linker::link( $user->getTalkPage(), wfMsgHtml( 'mytalk' ) );
89 if ( $user->getNewtalk() ) {
90 $s .= ' *';
91 }
92 /* show watchlist link */
93 $s .= $sep . Linker::specialLink( 'Watchlist' );
94 /* show my contributions link */
95 $s .= $sep . Linker::link(
96 SpecialPage::getSafeTitleFor( 'Contributions', $this->data['username'] ),
97 wfMsgHtml( 'mycontris' ) );
98 /* show my preferences link */
99 $s .= $sep . Linker::specialLink( 'Preferences' );
100 /* show upload file link */
101 if( UploadBase::isEnabled() && UploadBase::isAllowed( $user ) === true ) {
102 $s .= $sep . $this->getUploadLink();
103 }
104
105 /* show log out link */
106 $s .= $sep . Linker::specialLink( 'Userlogout' );
107 }
108
109 $s .= $sep . $this->specialPagesList();
110
111 return $s;
112 }
113
114 /**
115 * @return string
116 */
117 function doAfterContent() {
118 $s = "\n</div><br clear='all' />\n";
119
120 $s .= "\n<div id='footer'><hr />";
121
122 $s .= $this->bottomLinks();
123 $s .= "\n<br />" . $this->pageStats();
124 $s .= "\n<br />" . $this->getSkin()->mainPageLink()
125 . ' | ' . $this->getSkin()->aboutLink()
126 . ' | ' . $this->searchForm();
127
128 $s .= "\n</div>\n</div>\n";
129
130 return $s;
131 }
132 }