And some cleanup for image page
authorNiklas Laxström <nikerabbit@users.mediawiki.org>
Mon, 27 Apr 2009 11:18:49 +0000 (11:18 +0000)
committerNiklas Laxström <nikerabbit@users.mediawiki.org>
Mon, 27 Apr 2009 11:18:49 +0000 (11:18 +0000)
includes/ImagePage.php

index 354b6ef..a6da109 100644 (file)
@@ -780,9 +780,7 @@ class ImageHistoryList {
                $img = $iscur ? $file->getName() : $file->getArchiveName();
                $user = $file->getUser('id');
                $usertext = $file->getUser('text');
-               $size = $file->getSize();
                $description = $file->getDescription();
-               $dims = $file->getDimensionsString();
                $sha1 = $file->getSha1();
 
                $local = $this->current->isLocal();
@@ -868,35 +866,19 @@ class ImageHistoryList {
                        $url = $iscur ? $this->current->getUrl() : $this->current->getArchiveUrl( $img );
                        $row .= Xml::element( 'a', array( 'href' => $url ), $wgLang->timeAndDate( $timestamp, true ) );
                }
+               $row .= "</td>";
 
                // Thumbnail
-               if( $file->isMissing() ) {
-                       $row .= '</td><td><strong class="error">' . wfMsgHtml( 'filehist-missing' ) . '</strong>';
-               } elseif( $file->allowInlineDisplay() && $file->userCan( File::DELETED_FILE ) && !$file->isDeleted( File::DELETED_FILE ) ) {
-                       $params = array(
-                               'width' => '120',
-                               'height' => '120',
-                       );
-                       $thumbnail = $file->transform( $params );
-                       $options = array(
-                               'alt' => wfMsg( 'filehist-thumbtext', $wgLang->timeAndDate( $timestamp, true ) ),
-                               'file-link' => true,
-                       );
-                       $row .= '</td><td>' . ( $thumbnail ? $thumbnail->toHtml( $options ) : 
-                                                                                                       wfMsgHtml( 'filehist-nothumb' ) );
-               } else {
-                       $row .= '</td><td>' . wfMsgHtml( 'filehist-nothumb' );
-               }
-               $row .= "</td><td>";
+               $row .= '<td>' . $this->getThumbForLine( $file ) . '</td>';
 
-               // Image dimensions
-               $row .= htmlspecialchars( $dims );
-
-               // File size
-               $row .= " <span style='white-space: nowrap;'>(" . $this->skin->formatSize( $size ) . ')</span>';
+               // Image dimensions + size
+               $row .= '<td>';
+               $row .= htmlspecialchars( $file->getDimensionsString() );
+               $row .= " <span style='white-space: nowrap;'>(" . $this->skin->formatSize( $file->getSize() ) . ')</span>';
+               $row .= '</td>';
 
                // Uploading user
-               $row .= '</td><td>';
+               $row .= '<td>';
                if( $local ) {
                        // Hide deleted usernames
                        if( $file->isDeleted(File::DELETED_USER) ) {
@@ -923,6 +905,32 @@ class ImageHistoryList {
 
                return "<tr{$classAttr}>{$row}</tr>\n";
        }
+
+       protected function getThumbForLine( $file ) {
+               global $wgLang;
+
+               if( $file->isMissing() ) {
+                       return '<strong class="error">' . wfMsgHtml( 'filehist-missing' ) . '</strong>';
+               } elseif( $file->allowInlineDisplay() && $file->userCan( File::DELETED_FILE ) && !$file->isDeleted( File::DELETED_FILE ) ) {
+                       $params = array(
+                               'width' => '120',
+                               'height' => '120',
+                       );
+                       $timestamp = wfTimestamp(TS_MW, $file->getTimestamp());
+
+                       $thumbnail = $file->transform( $params );
+                       $options = array(
+                               'alt' => wfMsg( 'filehist-thumbtext', $wgLang->timeAndDate( $timestamp, true ) ),
+                               'file-link' => true,
+                       );
+                       
+                       if ( !$thumbnail ) return wfMsgHtml( 'filehist-nothumb' );
+
+                       return $thumbnail->toHtml( $options );
+               } else {
+                       return wfMsgHtml( 'filehist-nothumb' );
+               }
+       }
 }
 
 class ImageHistoryPseudoPager extends ReverseChronologicalPager {
@@ -958,12 +966,7 @@ class ImageHistoryPseudoPager extends ReverseChronologicalPager {
                if( count($this->mHist) ) {
                        $list = new ImageHistoryList( $this->mImagePage );
                        # Generate prev/next links
-                       $navLink = '';
-
-                       # Only add navigation links when needed
-                       if ( !$this->mIsFirst && !$this->mIsLast ) {
-                               $navLink = $this->getNavigationBar();
-                       }
+                       $navLink = $this->getNavigationBar();
                        $s = $list->beginImageHistoryList($navLink);
                        // Skip rows there just for paging links
                        for( $i = $this->mRange[0]; $i <= $this->mRange[1]; $i++ ) {