From 71828ee8df7fe4d1be551a89086dd8de4df146a9 Mon Sep 17 00:00:00 2001 From: RobertHeim Date: Fri, 27 Feb 2015 18:01:26 +0100 Subject: [PATCH 1/2] [ticket/13658] add event before and after topics are deleted PHPBB3-13658 --- phpBB/includes/functions_admin.php | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index b016659541..e8f8e40443 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -618,7 +618,7 @@ function move_posts($post_ids, $topic_id, $auto_sync = true) */ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_sync = true, $call_delete_posts = true) { - global $db, $config, $phpbb_container; + global $db, $config, $phpbb_container, $phpbb_dispatcher; $approved_topics = 0; $forum_ids = $topic_ids = array(); @@ -672,6 +672,18 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s $table_ary = array(BOOKMARKS_TABLE, TOPICS_TRACK_TABLE, TOPICS_POSTED_TABLE, POLL_VOTES_TABLE, POLL_OPTIONS_TABLE, TOPICS_WATCH_TABLE, TOPICS_TABLE); + /** + * Perform additional actions before topic(s) deletion + * + * @event core.delete_topics_before + * @var array topic_ids Array of topic ids to delete + * @since 3.1.4-RC1 + */ + $vars = array( + 'topic_ids', + ); + extract($phpbb_dispatcher->trigger_event('core.delete_topics_before', compact($vars))); + foreach ($table_ary as $table) { $sql = "DELETE FROM $table @@ -680,6 +692,18 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s } unset($table_ary); + /** + * Perform additional actions after topic(s) deletion + * + * @event core.delete_topics_after + * @var array topic_ids Array of topic ids that were deleted + * @since 3.1.4-RC1 + */ + $vars = array( + 'topic_ids', + ); + extract($phpbb_dispatcher->trigger_event('core.delete_topics_after', compact($vars))); + $moved_topic_ids = array(); // update the other forums From 2ad87c662f3d9312f7dc997a976906f7aa461a62 Mon Sep 17 00:00:00 2001 From: Robert Heim Date: Fri, 27 Feb 2015 21:04:08 +0100 Subject: [PATCH 2/2] [ticket/13658] renamed events and added table_ary parameter - added suffix '_query' to event names - added table_ary to before event PHPBB3-13658 --- phpBB/includes/functions_admin.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index e8f8e40443..79f9db2f3f 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -675,14 +675,16 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s /** * Perform additional actions before topic(s) deletion * - * @event core.delete_topics_before + * @event core.delete_topics_before_query + * @var array table_ary Array of tables from which all rows will be deleted that hold a topic_id occuring in topic_ids * @var array topic_ids Array of topic ids to delete * @since 3.1.4-RC1 */ $vars = array( + 'table_ary', 'topic_ids', ); - extract($phpbb_dispatcher->trigger_event('core.delete_topics_before', compact($vars))); + extract($phpbb_dispatcher->trigger_event('core.delete_topics_before_query', compact($vars))); foreach ($table_ary as $table) { @@ -695,14 +697,14 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s /** * Perform additional actions after topic(s) deletion * - * @event core.delete_topics_after + * @event core.delete_topics_after_query * @var array topic_ids Array of topic ids that were deleted * @since 3.1.4-RC1 */ $vars = array( 'topic_ids', ); - extract($phpbb_dispatcher->trigger_event('core.delete_topics_after', compact($vars))); + extract($phpbb_dispatcher->trigger_event('core.delete_topics_after_query', compact($vars))); $moved_topic_ids = array();