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;
}
$underline = $undopt ? 'underline' : 'none';
$s .= "a { text-decoration: $underline; }\n";
}
- if( !$wgUser->getOption( 'highlightbroken' ) ) {
+ if( $wgUser->getOption( 'highlightbroken' ) ) {
+ $s .= "a.new, #quickbar a.new { color: #CC2200; }\n";
+ } else {
$s .= <<<CSS
a.new, #quickbar a.new,
a.stub, #quickbar a.stub {
* @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 ) {
}
$bar = array();
- $this->addToSidebar( $bar, wfMsgForContentNoTrans( 'sidebar' ) );
+ $this->addToSidebar( $bar, 'sidebar' );
wfRunHooks( 'SkinBuildSidebar', array( $this, &$bar ) );
if ( $wgEnableSidebarCache ) {
wfProfileOut( __METHOD__ );
return $bar;
}
+ /**
+ * Add content from a sidebar system message
+ * Currently only used for MediaWiki:Sidebar (but may be used by Extensions)
+ *
+ * This is just a wrapper around addToSidebarPlain() for backwards compatibility
+ *
+ * @param &$bar array
+ * @param $message String
+ */
+ function addToSidebar( &$bar, $message ) {
+ $this->addToSidebarPlain( $bar, wfMsgForContent( $message ) );
+ }
/**
- * Add content to the sidebar from text
- * @since 1.16
+ * Add content from plain text
+ * @since 1.17
* @param &$bar array
* @param $text string
- *
- * @return array
*/
- function addToSidebar( &$bar, $text ) {
+ 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.
} else {
$line = trim( $line, '* ' );
if( strpos( $line, '|' ) !== false ) { // sanity check
- global $wgMessageCache;
- $line = $wgMessageCache->transform( $line );
-
$line = array_map( 'trim', explode( '|', $line, 2 ) );
$link = wfMsgForContent( $line[0] );
if( $link == '-' ) {