Fix the last assignment in conditional, bit of code duplication, as the next isn...
[lhc/web/wiklou.git] / includes / api / ApiDelete.php
index bfae025..0eba219 100644 (file)
@@ -1,10 +1,10 @@
 <?php
 /**
- * API for MediaWiki 1.8+
+ *
  *
  * Created on Jun 30, 2007
  *
- * Copyright © 2007 Roan Kattouw <Firstname>.<Lastname>@home.nl
+ * Copyright © 2007 Roan Kattouw <Firstname>.<Lastname>@gmail.com
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 }
 
 /**
- * API module that facilitates deleting pages. The API eqivalent of action=delete.
+ * API module that facilitates deleting pages. The API equivalent of action=delete.
  * Requires API write mode to be enabled.
  *
  * @ingroup API
@@ -146,22 +146,18 @@ class ApiDelete extends ApiBase {
                }
 
                $error = '';
-               if ( !wfRunHooks( 'ArticleDelete', array( &$article, &$wgUser, &$reason, $error ) ) ) {
-                       return array( array( 'hookaborted', $error ) );
-               }
-
                // Luckily, Article.php provides a reusable delete function that does the hard work for us
-               if ( $article->doDeleteArticle( $reason ) ) {
-                       wfRunHooks( 'ArticleDeleteComplete', array( &$article, &$wgUser, $reason, $article->getId() ) );
+               if ( $article->doDeleteArticle( $reason, false, 0, true, $error ) ) {
                        return array();
+               } else {
+                       return array( array( 'cannotdelete', $article->mTitle->getPrefixedText() ) );
                }
-               return array( array( 'cannotdelete', $article->mTitle->getPrefixedText() ) );
        }
 
        /**
         * @static
         * @param $token
-        * @param $title
+        * @param $title Title
         * @param $oldimage
         * @param $reason
         * @param $suppress bool
@@ -232,7 +228,7 @@ class ApiDelete extends ApiBase {
                                ApiBase::PARAM_DFLT => false,
                                ApiBase::PARAM_DEPRECATED => true,
                        ),
-                       'oldimage' => null
+                       'oldimage' => null,
                );
        }
 
@@ -255,12 +251,15 @@ class ApiDelete extends ApiBase {
        }
 
        public function getPossibleErrors() {
-               return array_merge( parent::getPossibleErrors(), array(
-                       array( 'invalidtitle', 'title' ),
-                       array( 'nosuchpageid', 'pageid' ),
-                       array( 'notanarticle' ),
-                       array( 'hookaborted', 'error' ),
-               ) );
+               return array_merge( parent::getPossibleErrors(),
+                       $this->getRequireOnlyOneParameterErrorMessages( array( 'title', 'pageid' ) ),
+                       array(
+                               array( 'invalidtitle', 'title' ),
+                               array( 'nosuchpageid', 'pageid' ),
+                               array( 'notanarticle' ),
+                               array( 'hookaborted', 'error' ),
+                       )
+               );
        }
 
        public function needsToken() {
@@ -281,4 +280,4 @@ class ApiDelete extends ApiBase {
        public function getVersion() {
                return __CLASS__ . ': $Id$';
        }
-}
\ No newline at end of file
+}