if ( $page > 1 ) {
$label = $wgOut->parse( wfMsg( 'imgmultipageprev' ), false );
$link = $sk->makeKnownLinkObj( $this->mTitle, $label, 'page='. ($page-1) );
- $thumb1 = $sk->makeThumbLinkObj( $this->mTitle, $link, $label, 'none',
+ $thumb1 = $sk->makeThumbLinkObj( $this->mTitle, $this->img, $link, $label, 'none',
array( 'page' => $page - 1 ) );
} else {
$thumb1 = '';
{
global $wgUser, $wgOut, $wgRequest;
+ if ( !$this->img->exists() || !$this->img->isLocal() ) {
+ # Use standard article deletion
+ Article::delete();
+ return;
+ }
+
$confirm = $wgRequest->wasPosted();
$reason = $wgRequest->getVal( 'wpReason' );
$image = $wgRequest->getVal( 'image' );
# Deleting old images doesn't require confirmation
if ( !is_null( $oldimage ) || $confirm ) {
if( $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ), $oldimage ) ) {
- $this->doDelete( $reason );
+ $this->doDeleteImage( $reason );
} else {
$wgOut->showFatalError( wfMsg( 'sessionfailure' ) );
}
/*
* Delete an image.
+ * Called doDeleteImage() not doDelete() so that Article::delete() doesn't
+ * call back to here.
+ *
* @param $reason User provided reason for deletion.
*/
- function doDelete( $reason ) {
+ function doDeleteImage( $reason ) {
global $wgOut, $wgRequest;
$oldimage = $wgRequest->getVal( 'oldimage' );
}
$sourcePath = $this->img->getArchiveVirtualUrl( $oldimage );
- $result = $this->img->publish( $sourcePath );
+ $comment = wfMsg( "reverted" );
+ $result = $this->img->upload( $sourcePath, $comment, $comment );
if ( WikiError::isError( $result ) ) {
$this->showError( $result );
return;
}
- # Record upload and update metadata cache
- $this->img->recordUpload( $result, wfMsg( "reverted" ) );
-
$wgOut->setPagetitle( wfMsg( 'actioncomplete' ) );
$wgOut->setRobotpolicy( 'noindex,nofollow' );
$wgOut->addHTML( wfMsg( 'imagereverted' ) );