Merge "Add "extended" file metadata to API"
[lhc/web/wiklou.git] / includes / ImagePage.php
index 8cfbc73..cf05ee2 100644 (file)
@@ -128,7 +128,7 @@ class ImagePage extends Article {
                                $out->setPageTitle( $this->getTitle()->getPrefixedText() );
                                $out->addHTML( $this->viewRedirect( Title::makeTitle( NS_FILE, $this->mPage->getFile()->getName() ),
                                        /* $appendSubtitle */ true, /* $forceKnown */ true ) );
-                               $this->mPage->doViewUpdates( $this->getContext()->getUser() );
+                               $this->mPage->doViewUpdates( $this->getContext()->getUser(), $this->getOldID() );
                                return;
                        }
                }
@@ -165,7 +165,7 @@ class ImagePage extends Article {
                        # Just need to set the right headers
                        $out->setArticleFlag( true );
                        $out->setPageTitle( $this->getTitle()->getPrefixedText() );
-                       $this->mPage->doViewUpdates( $this->getContext()->getUser() );
+                       $this->mPage->doViewUpdates( $this->getContext()->getUser(), $this->getOldID() );
                }
 
                # Show shared description, if needed
@@ -401,6 +401,7 @@ class ImagePage extends Article {
 
                                $isMulti = $this->displayImg->isMultipage() && $this->displayImg->pageCount() > 1;
                                if ( $isMulti ) {
+                                       $out->addModules( 'mediawiki.page.image.pagination' );
                                        $out->addHTML( '<table class="multipageimage"><tr><td>' );
                                }
 
@@ -450,7 +451,6 @@ class ImagePage extends Article {
                                        $formParams = array(
                                                'name' => 'pageselector',
                                                'action' => $wgScript,
-                                               'onchange' => 'document.pageselector.submit();',
                                        );
                                        $options = array();
                                        for ( $i = 1; $i <= $count; $i++ ) {
@@ -600,7 +600,7 @@ EOT
                $this->loadFile();
 
                $descUrl = $this->mPage->getFile()->getDescriptionUrl();
-               $descText = $this->mPage->getFile()->getDescriptionText();
+               $descText = $this->mPage->getFile()->getDescriptionText( $this->getContext()->getLanguage() );
 
                /* Add canonical to head if there is no local page for this shared file */
                if ( $descUrl && $this->mPage->getID() == 0 ) {
@@ -765,7 +765,15 @@ EOT
                                break;
                        }
 
-                       $link = Linker::linkKnown( Title::makeTitle( $element->page_namespace, $element->page_title ) );
+                       $query = array();
+                       # Add a redirect=no to make redirect pages reachable
+                       if ( isset( $redirects[$element->page_title] ) ) {
+                               $query['redirect'] = 'no';
+                       }
+                       $link = Linker::linkKnown(
+                               Title::makeTitle( $element->page_namespace, $element->page_title ),
+                               null, array(), $query
+                       );
                        if ( !isset( $redirects[$element->page_title] ) ) {
                                # No redirects
                                $liContents = $link;