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

Reply via email to