Follow-up r72829: we also have the hasOption() method for that
[lhc/web/wiklou.git] / skins / Simple.php
index 7178e92..61564c2 100644 (file)
@@ -1,30 +1,70 @@
 <?php
 /**
- * See skin.txt
+ * Simple: A lightweight skin with a simple white-background sidebar and no
+ * top bar.
  *
- * @todo document
- * @package MediaWiki
- * @subpackage Skins
+ * @file
+ * @ingroup Skins
  */
 
 if( !defined( 'MEDIAWIKI' ) )
-       die();
+       die( -1 );
 
 /** */
-require_once('MonoBook.php');
+require_once( dirname(__FILE__) . '/MonoBook.php' );
 
 /**
- * @todo document
- * @package MediaWiki
- * @subpackage Skins
+ * Inherit main code from SkinTemplate, set the CSS and template filter.
+ * @ingroup Skins
  */
 class SkinSimple extends SkinTemplate {
-       function initPage( &$out ) {
-               SkinTemplate::initPage( $out );
-               $this->skinname  = 'simple';
-               $this->stylename = 'simple';
-               $this->template  = 'MonoBookTemplate';
+       var $skinname = 'simple', $stylename = 'simple',
+               $template = 'MonoBookTemplate', $useHeadElement = true;
+
+       function setupSkinUserCss( OutputPage $out ){
+               parent::setupSkinUserCss( $out );
+
+               $out->addStyle( 'simple/main.css', 'screen' );
+               $out->addStyle( 'simple/rtl.css', '', '', 'rtl' );
        }
-}
 
-?>
+       function reallyGenerateUserStylesheet() {
+               global $wgUser;
+               $s = '';
+               if( ( $undopt = $wgUser->getOption( 'underline' ) ) != 2 ) {
+                       $underline = $undopt ? 'underline' : 'none';
+                       $s .= "a { text-decoration: $underline; }\n";
+               }
+               if( $wgUser->getOption( 'highlightbroken' ) ) {
+                       $s .= "a.new, #quickbar a.new { text-decoration: line-through; }\n";
+               } else {
+                       $s .= <<<CSS
+a.new, #quickbar a.new,
+a.stub, #quickbar a.stub {
+       color: inherit;
+       text-decoration: inherit;
+}
+a.new:after, #quickbar a.new:after {
+       content: "?";
+       color: #CC2200;
+       text-decoration: $underline;
+}
+a.stub:after, #quickbar a.stub:after {
+       content: "!";
+       color: #772233;
+       text-decoration: $underline;
+}
+CSS;
+               }
+               if( $wgUser->getOption( 'justify' ) ) {
+                       $s .= "#article, #bodyContent { text-align: justify; }\n";
+               }
+               if( !$wgUser->getOption( 'showtoc' ) ) {
+                       $s .= "#toc { display: none; }\n";
+               }
+               if( !$wgUser->getOption( 'editsection' ) ) {
+                       $s .= ".editsection { display: none; }\n";
+               }
+               return $s;
+       }
+}