Merge "Provide a way to restore an old revision with multiple slots."
[lhc/web/wiklou.git] / includes / filerepo / file / LocalFile.php
index 7920e9c..b6c249b 100644 (file)
@@ -63,7 +63,7 @@ class LocalFile extends File {
        /** @var string MEDIATYPE_xxx (bitmap, drawing, audio...) */
        protected $media_type;
 
-       /** @var string MIME type, determined by MimeMagic::guessMimeType */
+       /** @var string MIME type, determined by MimeAnalyzer::guessMimeType */
        protected $mime;
 
        /** @var int Size in bytes (loadFromXxx) */
@@ -2116,16 +2116,21 @@ class LocalFile extends File {
         * @return string|false
         */
        function getDescriptionText( Language $lang = null ) {
-               $revision = Revision::newFromTitle( $this->title, false, Revision::READ_NORMAL );
+               $store = MediaWikiServices::getInstance()->getRevisionStore();
+               $revision = $store->getRevisionByTitle( $this->title, 0, Revision::READ_NORMAL );
                if ( !$revision ) {
                        return false;
                }
-               $content = $revision->getContent();
-               if ( !$content ) {
+
+               $renderer = MediaWikiServices::getInstance()->getRevisionRenderer();
+               $rendered = $renderer->getRenderedRevision( $revision, new ParserOptions( null, $lang ) );
+
+               if ( !$rendered ) {
+                       // audience check failed
                        return false;
                }
-               $pout = $content->getParserOutput( $this->title, null, new ParserOptions( null, $lang ) );
 
+               $pout = $rendered->getRevisionParserOutput();
                return $pout->getText();
        }