"Standard", 'nostalgia' => "Nostalgia", 'cologneblue' => "CologneBlue" ); if( $wgUsePHPTal ) { #$wgValidSkinNames[] = "PHPTal"; #$wgValidSkinNames['davinci'] = "DaVinci"; #$wgValidSkinNames['mono'] = "Mono"; $wgValidSkinNames['monobook'] = "MonoBook"; #$wgValidSkinNames['monobookminimal'] = "MonoBookMinimal"; } include_once( "RecentChange.php" ); # For some odd PHP bug, this function can't be part of a class function getCategories () { global $wgOut , $wgTitle , $wgUseCategoryMagic , $wgUser , $wgParser ; if ( !isset ( $wgUseCategoryMagic ) || !$wgUseCategoryMagic ) return "" ; if ( count ( $wgOut->mCategoryLinks ) == 0 ) return "" ; if ( !$wgOut->isArticle() ) return "" ; $sk = $wgUser->getSkin() ; $s = "" ; $s .= $sk->makeKnownLink ( "Special:Categories" , "Categories" , "article=".$wgTitle->getDBkey() ) ; $t = implode ( " | " , $wgOut->mCategoryLinks ) ; if ( $t != "" ) $s .= ": " ; $s .= $t ; return "
$s
"; } class RCCacheEntry extends RecentChange { var $secureName, $link; var $curlink , $lastlink , $usertalklink , $versionlink ; var $userlink, $timestamp, $watched; function newFromParent( $rc ) { $rc2 = new RCCacheEntry; $rc2->mAttribs = $rc->mAttribs; $rc2->mExtra = $rc->mExtra; return $rc2; } } ; class Skin { /* private */ var $lastdate, $lastline; var $linktrail ; # linktrail regexp var $rc_cache ; # Cache for Enhanced Recent Changes var $rcCacheIndex ; # Recent Changes Cache Counter for visibility toggle var $rcMoveIndex; function Skin() { $this->linktrail = wfMsg("linktrail"); } function getSkinNames() { global $wgValidSkinNames; return $wgValidSkinNames; } function getStylesheet() { return "wikistandard.css"; } function qbSetting() { global $wgOut, $wgUser; if ( $wgOut->isQuickbarSuppressed() ) { return 0; } $q = $wgUser->getOption( "quickbar" ); if ( "" == $q ) { $q = 0; } return $q; } function initPage( &$out ) { $fname = "Skin::initPage"; wfProfileIn( $fname ); $out->addLink( array( "rel" => "shortcut icon", "href" => "/favicon.ico" ) ); $this->addMetadataLinks($out); wfProfileOut( $fname ); } function addMetadataLinks( &$out ) { global $wgTitle, $wgEnableDublinCoreRdf, $wgEnableCreativeCommonsRdf, $wgRdfMimeType, $action; global $wgRightsPage, $wgRightsUrl; if( $out->isArticleRelated() ) { # note: buggy CC software only reads first "meta" link if( $wgEnableCreativeCommonsRdf ) { $out->addMetadataLink( array( 'title' => 'Creative Commons', 'type' => 'application/rdf+xml', 'href' => $wgTitle->getLocalURL( "action=creativecommons") ) ); } if( $wgEnableDublinCoreRdf ) { $out->addMetadataLink( array( 'title' => 'Dublin Core', 'type' => 'application/rdf+xml', 'href' => $wgTitle->getLocalURL( "action=dublincore" ) ) ); } } $copyright = ""; if( $wgRightsPage ) { $copy = Title::newFromText( $wgRightsPage ); if( $copy ) { $copyright = $copy->getLocalURL(); } } if( !$copyright && $wgRightsUrl ) { $copyright = $wgRightsUrl; } if( $copyright ) { $out->addLink( array( "rel" => "copyright", "href" => $copyright ) ); } } function outputPage( &$out ) { global $wgDebugComments; wfProfileIn( "Skin::outputPage" ); $this->initPage( $out ); $out->out( $out->headElement() ); $out->out( "\ngetBodyOptions(); foreach ( $ops as $name => $val ) { $out->out( " $name='$val'" ); } $out->out( ">\n" ); if ( $wgDebugComments ) { $out->out( "\n" ); } $out->out( $this->beforeContent() ); $out->out( $out->mBodytext . "\n" ); $out->out( $this->afterContent() ); wfProfileClose(); $out->out( $out->reportTime() ); $out->out( "\n