From b4dff524096696ae345a0005fb99e16ce00ef9f9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Robert=20Stojni=C4=87?= Date: Thu, 3 Apr 2008 15:09:56 +0000 Subject: [PATCH] Suboptimal solution for one of the issues behind bug 12049 (i.e. that don't get deleted from search index) : * hooks ArticleDelete[Complete] are now called from FileDeleteForm as well, this seems to be the expected behavior by most extensions (OAI, TitleKey, Rsync, ...). * delete via API however still misses these hooks Other possible solutions: * move hooks into backend - bad since we want a clean backend * create FileDelete hook (per bug 11276) - seems to me as unnecessary duplication of code logic since article might or might not be deleted during file deletion * make a new Article function and wrap calls - will pollute clean Article doDelete and doDeleteArticle calls --- includes/FileDeleteForm.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/includes/FileDeleteForm.php b/includes/FileDeleteForm.php index 8a6f058884..8d6fc9ae2a 100644 --- a/includes/FileDeleteForm.php +++ b/includes/FileDeleteForm.php @@ -91,8 +91,11 @@ class FileDeleteForm { $status = $this->file->delete( $reason, $suppress ); if( $status->ok ) { // Need to delete the associated article - $article = new Article( $this->title ); - $article->doDeleteArticle( $reason, $suppress ); + $article = new Article( $this->title ); + if( wfRunHooks('ArticleDelete', array(&$article, &$wgUser, &$reason)) ){ + if( $article->doDeleteArticle( $reason, $suppress ) ) + wfRunHooks('ArticleDeleteComplete', array(&$article, &$wgUser, $reason)); + } } } if( $status->isGood() ) wfRunHooks('FileDeleteComplete', array( -- 2.20.1