if( isset( $skinNames[$key] ) ) {
return $key;
+ } else if( isset( $skinNames[$wgDefaultSkin] ) ) {
+ return $wgDefaultSkin;
} else {
- return 'monobook';
+ return 'vector';
}
}
# except by SQL manipulation if a previously valid skin name
# is no longer valid.
wfDebug( "Skin class does not exist: $className\n" );
- $className = 'SkinMonobook';
- require_once( "{$wgStyleDirectory}/MonoBook.php" );
+ $className = 'SkinVector';
+ require_once( "{$wgStyleDirectory}/Vector.php" );
}
}
$skin = new $className;
global $wgUseAjax, $wgAjaxWatch;
global $wgVersion, $wgEnableAPI, $wgEnableWriteAPI;
global $wgRestrictionTypes;
- global $wgMWSuggestTemplate, $wgDBname, $wgEnableMWSuggest;
+ global $wgDBname, $wgEnableMWSuggest;
global $wgSitename;
$ns = $wgTitle->getNamespace();
implode( "\t", $digitTransTable ),
);
- $mainPage = Title::newFromText( wfMsgForContent( 'mainpage' ) );
+ $mainPage = Title::newMainPage();
$vars = array(
'skin' => $skinName,
'stylepath' => $wgStylePath,
// if on upload page output the extension list & js_upload
if( SpecialPage::resolveAlias( $wgTitle->getDBkey() ) == 'Upload' ) {
- global $wgFileExtensions, $wgAjaxUploadInterface;
+ global $wgFileExtensions;
$vars['wgFileExtensions'] = $wgFileExtensions;
}
* @private
*/
function setupUserCss( OutputPage $out ) {
- global $wgRequest, $wgContLang, $wgUser;
- global $wgAllowUserCss, $wgUseSiteCss, $wgSquidMaxage, $wgStylePath;
+ global $wgRequest, $wgUser;
+ global $wgAllowUserCss, $wgUseSiteCss, $wgSquidMaxage;
wfProfileIn( __METHOD__ );
// Per-site custom styles
if( $wgUseSiteCss ) {
global $wgHandheldStyle;
- $query = wfArrayToCGI( array(
- 'usemsgcache' => 'yes',
- 'ctype' => 'text/css',
- 'smaxage' => $wgSquidMaxage
- ) + $siteargs );
+ $query = wfArrayToCGI( self::getDynamicStylesheetQuery() );
# Site settings must override extension css! (bug 15025)
$out->addStyle( self::makeNSUrl( 'Common.css', $query, NS_MEDIAWIKI ) );
$out->addStyle( self::makeNSUrl( 'Print.css', $query, NS_MEDIAWIKI ), 'print' );
wfProfileOut( __METHOD__ );
}
+
+ /**
+ * Get the query to generate a dynamic stylesheet
+ *
+ * @return array
+ */
+ public static function getDynamicStylesheetQuery() {
+ global $wgSquidMaxage;
+ return array(
+ 'action' => 'raw',
+ 'maxage' => $wgSquidMaxage,
+ 'usemsgcache' => 'yes',
+ 'ctype' => 'text/css',
+ 'smaxage' => $wgSquidMaxage,
+ );
+ }
/**
* Add skin specific stylesheets
$parenttree = $this->mTitle->getParentCategoryTree();
# Skin object passed by reference cause it can not be
# accessed under the method subfunction drawCategoryBrowser
- $tempout = explode( "\n", Skin::drawCategoryBrowser( $parenttree, $this ) );
+ $tempout = explode( "\n", $this->drawCategoryBrowser( $parenttree, $this ) );
# Clean out bogus first entry and sort them
unset( $tempout[0] );
asort( $tempout );
$return .= "\n";
} else {
# grab the others elements
- $return .= Skin::drawCategoryBrowser( $parent, $skin ) . ' > ';
+ $return .= $this->drawCategoryBrowser( $parent, $skin ) . ' > ';
}
# add our current element to the list
$eltitle = Title::newFromText( $element );
}
function getQuickbarCompensator( $rows = 1 ) {
- return "<td width='152' rowspan='{$rows}'> </td>";
+ return "<td width='152' rowspan='{$rows}'> </td>";
}
/**
}
function getUndeleteLink() {
- global $wgUser, $wgContLang, $wgLang, $wgRequest;
+ global $wgUser, $wgLang, $wgRequest;
$action = $wgRequest->getVal( 'action', 'view' );
. '<input type="submit" name="go" value="' . wfMsg( 'searcharticle' ) . '" />';
if( $wgUseTwoButtonsSearchForm ) {
- $s .= ' <input type="submit" name="fulltext" value="' . wfMsg( 'searchbutton' ) . "\" />\n";
+ $s .= ' <input type="submit" name="fulltext" value="' . wfMsg( 'searchbutton' ) . "\" />\n";
} else {
$s .= ' <a href="' . $this->escapeSearchLink() . '" rel="search">' . wfMsg( 'powersearch-legend' ) . "</a>\n";
}
return $out;
}
// Allow for site and per-namespace customization of copyright notice.
+ $forContent = true;
if( isset( $wgArticle ) ) {
- wfRunHooks( 'SkinCopyrightFooter', array( $wgArticle->getTitle(), $type, &$msg, &$link ) );
+ wfRunHooks( 'SkinCopyrightFooter', array( $wgArticle->getTitle(), $type, &$msg, &$link, &$forContent ) );
}
- $out .= wfMsgForContent( $msg, $link );
+ if ( $forContent ) {
+ $out .= wfMsgForContent( $msg, $link );
+ } else {
+ $out .= wfMsg( $msg, $link );
+ }
return $out;
}
* Show a drop-down box of special pages
*/
function specialPagesList() {
- global $wgUser, $wgContLang, $wgServer, $wgRedirectScript;
+ global $wgContLang, $wgServer, $wgRedirectScript;
$pages = array_merge( SpecialPage::getRegularPages(), SpecialPage::getRestrictedPages() );
foreach ( $pages as $name => $page ) {
$pages[$name] = $page->getDescription();
$nt = Title::newFromText( $l );
$url = $nt->escapeFullURL();
$text = $wgContLang->getLanguageName( $nt->getInterwiki() );
+ $title = htmlspecialchars( $nt->getText() );
if ( $text == '' ) {
$text = $l;
}
$style = $this->getExternalLinkAttributes();
- $s .= "<a href=\"{$url}\"{$style}>{$text}</a>";
+ $s .= "<a href=\"{$url}\" title=\"{$title}\"{$style}>{$text}</a>";
}
if( $wgContLang->isRTL() ) {
$s .= '</span>';
);
}
- function uploadLink() {
+ function getUploadLink() {
global $wgUploadNavigationUrl;
if( $wgUploadNavigationUrl ) {
- $title = Title::newFromText( $wgUploadNavigationUrl );
- }
- if( !isset( $title ) ) {
- $title = SpecialPage::getTitleFor('Upload');
+ # Using an empty class attribute to avoid automatic setting of "external" class
+ return $this->makeExternalLink( $wgUploadNavigationUrl, wfMsgHtml( 'upload' ), false, null, array( 'class' => '') );
+ } else {
+ return $this->link(
+ SpecialPage::getTitleFor('Upload'),
+ wfMsgHtml( 'upload' ),
+ array(),
+ array(),
+ array( 'known', 'noclasses' )
+ );
}
-
- return $this->link(
- $title,
- wfMsgHtml( 'upload' ),
- array(),
- array(),
- array( 'known', 'noclasses' )
- );
}
/* these are used extensively in SkinTemplate, but also some other places */
*/
function addToSidebarPlain( &$bar, $text ) {
$lines = explode( "\n", $text );
+ $wikiBar = array(); # We need to handle the wikitext on a different variable, to avoid trying to do an array operation on text, which would be a fatal error.
+
$heading = '';
foreach( $lines as $line ) {
if( strpos( $line, '*' ) !== 0 ) {
$bar[$heading] = array();
}
} else {
+ $line = trim( $line, '* ' );
if( strpos( $line, '|' ) !== false ) { // sanity check
- $line = array_map( 'trim', explode( '|', trim( $line, '* ' ), 2 ) );
+ $line = array_map( 'trim', explode( '|', $line, 2 ) );
$link = wfMsgForContent( $line[0] );
if( $link == '-' ) {
continue;
'id' => 'n-' . strtr( $line[1], ' ', '-' ),
'active' => false
);
+ } else if ( (substr($line, 0, 2) == '{{') && (substr($line, -2) == '}}') ) {
+ global $wgParser, $wgTitle;
+
+ $line = substr($line, 2, strlen($line) - 4 );
+
+ if (is_null($wgParser->mOptions))
+ $wgParser->mOptions = new ParserOptions();
+
+ $wgParser->mOptions->setEditSection(false);
+ $wikiBar[$heading] = $wgParser->parse( wfMsgForContentNoTrans( $line ) , $wgTitle, $wgParser->mOptions )->getText();
} else {
continue;
}
}
}
+
+ if ( count($wikiBar) > 0 )
+ $bar = array_merge($bar, $wikiBar);
+
+ return $bar;
}
/**