http://www.mediawiki.org/wiki/Special:Code/MediaWiki/99314
Revision: 99314 Author: ashley Date: 2011-10-08 17:42:10 +0000 (Sat, 08 Oct 2011) Log Message: ----------- commit Theme extension by Skizzerz from http://www.mediawiki.org/wiki/Extension:Theme Added Paths: ----------- trunk/extensions/Theme/ trunk/extensions/Theme/Theme.php Added: trunk/extensions/Theme/Theme.php =================================================================== --- trunk/extensions/Theme/Theme.php (rev 0) +++ trunk/extensions/Theme/Theme.php 2011-10-08 17:42:10 UTC (rev 99314) @@ -0,0 +1,34 @@ +<?php + +//Theme "extension" (allows using themes of skins) + +$wgExtensionCredits['other'][] = array( + 'name' => 'Theme', + 'description' => 'Theme loader extension for skins', + 'version' => '1.0', + 'author' => 'Ryan Schmidt', +); + +$wgHooks['BeforePageDisplay'][] = 'efDisplayTheme'; + +function efDisplayTheme( &$out, &$sk ) { + global $wgRequest, $wgStylePath, $wgStyleDirectory, $wgDefaultTheme, $wgValidSkinNames; + $theme = $wgRequest->getVal( 'usetheme', false ); + $useskin = $wgRequest->getVal( 'useskin', false ); + $skin = $useskin ? $useskin : $sk->getSkinName(); + if( !array_key_exists( strtolower( $skin ), $wgValidSkinNames ) ) { + $skin = $sk->getSkinName(); //so we don't load themes for skins when we can't actually load the skin + } + if( $theme ) { + $url = $skin . '/themes/' . $theme . '.css'; + } elseif( isset( $wgDefaultTheme ) && $wgDefaultTheme != 'default' ) { + $url = $skin . '/themes/' . $wgDefaultTheme . '.css'; + } else { + $url = false; + } + if( !$url || !file_exists( $wgStyleDirectory . '/' . $url ) ) { + return true; + } + $out->addExtensionStyle( $wgStylePath . '/' . $url ); + return true; +} \ No newline at end of file Property changes on: trunk/extensions/Theme/Theme.php ___________________________________________________________________ Added: svn:eol-style + native _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs