From 6896d7a391439a60bddc5213f5d966aae673a84f Mon Sep 17 00:00:00 2001 From: Roan Kattouw Date: Fri, 5 Jun 2009 19:17:45 +0000 Subject: [PATCH] API: Fix bug where deleting a file description page without an associated file resulted in "Unknown error: ``nofile''" --- includes/api/ApiDelete.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/includes/api/ApiDelete.php b/includes/api/ApiDelete.php index 49cb5ad67e..198408366e 100644 --- a/includes/api/ApiDelete.php +++ b/includes/api/ApiDelete.php @@ -78,10 +78,6 @@ class ApiDelete extends ApiBase { $this->dieUsageMsg(reset($retval)); } else { $articleObj = new Article($titleObj); - if($articleObj->isBigDeletion() && !$wgUser->isAllowed('bigdelete')) { - global $wgDeleteRevisionsLimit; - $this->dieUsageMsg(array('delete-toobig', $wgDeleteRevisionsLimit)); - } $retval = self::delete($articleObj, $params['token'], $reason); if(count($retval)) @@ -122,6 +118,10 @@ class ApiDelete extends ApiBase { public static function delete(&$article, $token, &$reason = NULL) { global $wgUser; + if($article->isBigDeletion() && !$wgUser->isAllowed('bigdelete')) { + global $wgDeleteRevisionsLimit; + return array(array('delete-toobig', $wgDeleteRevisionsLimit))); + } $title = $article->getTitle(); $errors = self::getPermissionsError($title, $token); if (count($errors)) return $errors; @@ -164,7 +164,7 @@ class ApiDelete extends ApiBase { $oldfile = RepoGroup::singleton()->getLocalRepo()->newFromArchiveName( $title, $oldimage ); if( !FileDeleteForm::haveDeletableFile($file, $oldfile, $oldimage) ) - return array(array('nofile')); + return self::delete(new Article($title), $token, $reason); if (is_null($reason)) # Log and RC don't like null reasons $reason = ''; $status = FileDeleteForm::doDelete( $title, $file, $oldimage, $reason, $suppress ); -- 2.20.1