class SkinLegacy extends SkinTemplate {
var $useHeadElement = true;
+ protected $mWatchLinkNum = 0; // Appended to end of watch link id's
/**
* Add skin specific stylesheets
return 0;
}
$q = $wgUser->getOption( 'quickbar', 0 );
+ if( $q == 5 ) {
+ # 5 is the default, which chooses the setting
+ # depending on the directionality of your interface language
+ global $wgLang;
+ return $wgLang->isRTL() ? 2 : 1;
+ }
return $q;
}
$this->html( 'headelement' );
echo $this->beforeContent();
$this->html( 'bodytext' );
+ echo '<div class="printfooter">';
+ $this->html( 'printfooter' );
+ echo '</div>';
+ $this->html( 'debughtml' );
echo "\n";
echo $this->afterContent();
$this->html( 'dataAfterContent' );
if ( !$shove ) {
$s .= "<td class='top' align='left' valign='top' rowspan='{$rows}'>\n" .
- $this->logoText() . '</td>';
+ $this->getSkin()->logoText() . '</td>';
} elseif ( $left ) {
$s .= $this->getQuickbarCompensator( $rows );
}
$s .= "</tr>\n</table>\n</div>\n";
$s .= "\n<div id='article'>\n";
- $notice = wfGetSiteNotice();
+ $notice = $this->getSkin()->getSiteNotice();
if ( $notice ) {
$s .= "\n<div id='siteNotice'>$notice</div>\n";
}
if ( $wgMaxCredits != 0 ) {
- $s .= ' ' . Credits::getCredits( $article, $wgMaxCredits, $wgShowCreditsIfMax );
+ $s .= ' ' . Action::factory( 'credits', $article )->getCredits( $wgMaxCredits, $wgShowCreditsIfMax );
} else {
$s .= $this->data['lastmod'];
}
function specialPagesList() {
global $wgContLang, $wgServer, $wgRedirectScript;
- $pages = array_merge( SpecialPage::getRegularPages(), SpecialPage::getRestrictedPages() );
+ $pages = SpecialPageFactory::getUsablePages();
foreach ( $pages as $name => $page ) {
$pages[$name] = $page->getDescription();
}
function printableLink() {
- global $wgOut, $wgFeedClasses, $wgRequest, $wgLang;
+ global $wgOut, $wgRequest, $wgLang;
$s = array();
if ( !$wgOut->isPrintable() ) {
- $printurl = $wgRequest->escapeAppendQuery( 'printable=yes' );
+ $printurl = htmlspecialchars( $this->getSkin()->getTitle()->getLocalUrl(
+ $wgRequest->appendQueryValue( 'printable', 'yes', true ) ) );
$s[] = "<a href=\"$printurl\" rel=\"alternate\">" . wfMsg( 'printableversion' ) . '</a>';
}
if ( $wgOut->isSyndicated() ) {
- foreach ( $wgFeedClasses as $format => $class ) {
- $feedurl = $wgRequest->escapeAppendQuery( "feed=$format" );
+ foreach ( $wgOut->getSyndicationLinks() as $format => $link ) {
+ $feedurl = htmlspecialchars( $link );
$s[] = "<a href=\"$feedurl\" rel=\"alternate\" type=\"application/{$format}+xml\""
. " class=\"feedlink\">" . wfMsgHtml( "feed-$format" ) . "</a>";
}
}
function watchThisPage() {
- global $wgOut;
+ global $wgOut, $wgUser;
++$this->mWatchLinkNum;
+ // Cache
+ $title = $this->getSkin()->getTitle();
+
if ( $wgOut->isArticleRelated() ) {
- if ( $this->getSkin()->getTitle()->userIsWatching() ) {
+ if ( $title->userIsWatching() ) {
$text = wfMsg( 'unwatchthispage' );
- $query = array( 'action' => 'unwatch' );
+ $query = array(
+ 'action' => 'unwatch',
+ 'token' => UnwatchAction::getUnwatchToken( $title, $wgUser ),
+ );
$id = 'mw-unwatch-link' . $this->mWatchLinkNum;
} else {
$text = wfMsg( 'watchthispage' );
- $query = array( 'action' => 'watch' );
+ $query = array(
+ 'action' => 'watch',
+ 'token' => WatchAction::getWatchToken( $title, $wgUser ),
+ );
$id = 'mw-watch-link' . $this->mWatchLinkNum;
}
$s = $this->getSkin()->link(
- $this->getSkin()->getTitle(),
+ $title,
$text,
array( 'id' => $id ),
$query,