summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Translate/tag/TranslateDeleteJob.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Translate/tag/TranslateDeleteJob.php')
-rw-r--r--www/wiki/extensions/Translate/tag/TranslateDeleteJob.php38
1 files changed, 20 insertions, 18 deletions
diff --git a/www/wiki/extensions/Translate/tag/TranslateDeleteJob.php b/www/wiki/extensions/Translate/tag/TranslateDeleteJob.php
index 0c78e7f2..a59f2c6d 100644
--- a/www/wiki/extensions/Translate/tag/TranslateDeleteJob.php
+++ b/www/wiki/extensions/Translate/tag/TranslateDeleteJob.php
@@ -5,7 +5,7 @@
* @file
* @author Niklas Laxström
* @copyright Copyright © 2008-2013, Niklas Laxström
- * @license GPL-2.0+
+ * @license GPL-2.0-or-later
*/
/**
@@ -15,14 +15,14 @@
*/
class TranslateDeleteJob extends Job {
/**
- * @param $target Title
- * @param $base
- * @param $full
- * @param $performer
- * @param $reason
- * @return TranslateDeleteJob
+ * @param Title $target
+ * @param string $base
+ * @param string $full
+ * @param User $performer
+ * @param string $reason
+ * @return self
*/
- public static function newJob( Title $target, $base, $full, /*User*/$performer, $reason ) {
+ public static function newJob( Title $target, $base, $full, /*User*/ $performer, $reason ) {
$job = new self( $target );
$job->setUser( FuzzyBot::getUser() );
$job->setFull( $full );
@@ -38,10 +38,9 @@ class TranslateDeleteJob extends Job {
/**
* @param Title $title
* @param array $params
- * @param int $id
*/
- public function __construct( $title, $params = array(), $id = 0 ) {
- parent::__construct( __CLASS__, $title, $params, $id );
+ public function __construct( $title, $params = [] ) {
+ parent::__construct( __CLASS__, $title, $params );
}
public function run() {
@@ -55,15 +54,17 @@ class TranslateDeleteJob extends Job {
$reason = $this->getReason();
PageTranslationHooks::$allowTargetEdit = true;
+ PageTranslationHooks::$jobQueueRunning = true;
$error = '';
$wikipage = new WikiPage( $title );
- $ok = $wikipage->doDeleteArticle( "{$summary}: $reason", false, 0, true, $error, $user );
- if ( !$ok ) {
- $params = array(
+ $status = $wikipage->doDeleteArticleReal( "{$summary}: $reason", false, 0, true, $error,
+ $user, [], 'delete', true );
+ if ( !$status->isGood() ) {
+ $params = [
'target' => $base,
- 'error' => $ok,
- );
+ 'errors' => $status->getErrorsArray(),
+ ];
$type = $this->getFull() ? 'deletefnok' : 'deletelnok';
$entry = new ManualLogEntry( 'pagetranslation', $type );
@@ -97,6 +98,7 @@ class TranslateDeleteJob extends Job {
$page->invalidateCache();
}
$title->invalidateCache();
+ PageTranslationHooks::$jobQueueRunning = false;
}
return true;
@@ -127,7 +129,7 @@ class TranslateDeleteJob extends Job {
}
/**
- * @param $performer User|string
+ * @param User|string $performer
*/
public function setPerformer( $performer ) {
if ( is_object( $performer ) ) {
@@ -142,7 +144,7 @@ class TranslateDeleteJob extends Job {
}
/**
- * @param $user User|string
+ * @param User|string $user
*/
public function setUser( $user ) {
if ( is_object( $user ) ) {