$this->dupes = null;
$this->repo = null;
}
+
+ public function setFile( $file ) {
+ $this->displayImg = $file;
+ $this->img = $file;
+ $this->fileLoaded = true;
+ }
protected function loadFile() {
if( $this->fileLoaded ) {
$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() ) {
array( 'id' => 'filelinks' ),
wfMsg( 'imagelinks' ) ) . "\n" );
$this->imageDupes();
- // TODO: We may want to find local images redirecting to a foreign
- // file: "The following local files redirect to this file"
- if( $this->img->isLocal() ) {
- $this->imageRedirects();
- }
+ $this->imageRedirects();
$this->imageLinks();
if( $showmeta ) {
$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';
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() ) . '&wpForReUpload=1' );
}
/**
'alt' => wfMsg( 'filehist-thumbtext', $wgLang->timeAndDate( $timestamp, true ) ),
'file-link' => true,
);
- $row .= '</td><td>' . $thumbnail->toHtml( $options );
+ $row .= '</td><td>' . ( $thumbnail ? $thumbnail->toHtml( $options ) :
+ wfMsgHtml( 'filehist-nothumb' ) );
} else {
$row .= '</td><td>' . wfMsgHtml( 'filehist-nothumb' );
}
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;