API: Fix profiling errors caused by calling wfProfileClose() from dieUsage()
[lhc/web/wiklou.git] / includes / ImagePage.php
index 49e7f2d..e70e111 100644 (file)
@@ -93,10 +93,11 @@ class ImagePage extends Article {
                        $showmeta = false;
                }
 
-               if( $this->displayImg->exists() )
+               if( !$diff && $this->displayImg->exists() )
                        $wgOut->addHTML( $this->showTOC($showmeta) );
 
-               $this->openShowImage();
+               if( !$diff )
+                       $this->openShowImage();
 
                # No need to display noarticletext, we use our own message, output in openShowImage()
                if( $this->getID() ) {
@@ -249,6 +250,7 @@ class ImagePage extends Article {
                $r .= "{| id=mw_metadata class=mw_metadata\n";
                foreach ( $metadata as $type => $stuff ) {
                        foreach ( $stuff as $v ) {
+                               # FIXME, why is this using escapeId for a class?!
                                $class = Sanitizer::escapeId( $v['id'] );
                                if( $type == 'collapsed' ) {
                                        $class .= ' collapsable';
@@ -555,7 +557,7 @@ EOT
        public function getUploadUrl() {
                $this->loadFile();
                $uploadTitle = SpecialPage::getTitleFor( 'Upload' );
-               return $uploadTitle->getFullUrl( 'wpDestFile=' . urlencode( $this->img->getName() ) );
+               return $uploadTitle->getFullUrl( 'wpDestFile=' . urlencode( $this->img->getName() ) . '&wpReUpload=1' );
        }
 
        /**
@@ -965,13 +967,17 @@ class ImageHistoryList {
 class ImageHistoryPseudoPager extends ReverseChronologicalPager {
        function __construct( $imagePage ) {
                parent::__construct();
-               $this->mImagePage =& $imagePage;
-               $this->mTitle = $imagePage->getTitle();
+               $this->mImagePage = $imagePage;
+               $this->mTitle = clone( $imagePage->getTitle() );
                $this->mTitle->setFragment( '#filehistory' );
                $this->mImg = NULL;
                $this->mHist = array();
                $this->mRange = array( 0, 0 ); // display range
        }
+       
+       function getTitle() {
+               return $this->mTitle;
+       }
 
        function getQueryInfo() {
                return false;