merge latest master into Wikidata branch
[lhc/web/wiklou.git] / includes / resourceloader / ResourceLoaderWikiModule.php
index 623a269..28c3426 100644 (file)
@@ -68,12 +68,6 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
         * @return null|string
         */
        protected function getContent( $title ) {
-               if ( $title->getNamespace() === NS_MEDIAWIKI ) {
-                       // The first "true" is to use the database, the second is to use the content langue
-                       // and the last one is to specify the message key already contains the language in it ("/de", etc.)
-                       $text = MessageCache::singleton()->get( $title->getDBkey(), true, true, true );
-                       return $text === false ? '' : $text;
-               }
                if ( !$title->isCssJsSubpage() && !$title->isCssOrJsPage() ) {
                        return null;
                }
@@ -81,7 +75,16 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
                if ( !$revision ) {
                        return null;
                }
-               return $revision->getRawText();
+
+               $content = $revision->getContent( Revision::RAW );
+               $model = $content->getModel();
+
+               if ( $model !== CONTENT_MODEL_CSS && $model !== CONTENT_MODEL_JAVASCRIPT ) {
+                       wfDebug( __METHOD__ . "bad content model #$model for JS/CSS page!\n" );
+                       return null;
+               }
+
+               return $content->getNativeData(); //NOTE: this is safe, we know it's JS or CSS
        }
 
        /* Methods */
@@ -138,12 +141,12 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
                        }
                        $style = CSSMin::remap( $style, false, $wgScriptPath, true );
                        if ( !isset( $styles[$media] ) ) {
-                               $styles[$media] = '';
+                               $styles[$media] = array();
                        }
                        if ( strpos( $titleText, '*/' ) === false ) {
-                               $styles[$media] .=  "/* $titleText */\n";
+                               $style =  "/* $titleText */\n" . $style;
                        }
-                       $styles[$media] .= $style . "\n";
+                       $styles[$media][] = $style;
                }
                return $styles;
        }