diff options
Diffstat (limited to 'phpBB/includes/functions_admin.php')
| -rw-r--r-- | phpBB/includes/functions_admin.php | 76 | 
1 files changed, 65 insertions, 11 deletions
| diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index ae9dc94fc0..b844bd1966 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; +	global $db, $config, $phpbb_container;  	$approved_topics = 0;  	$forum_ids = $topic_ids = array(); @@ -715,6 +715,14 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s  		set_config_count('num_topics', $approved_topics * (-1), true);  	} +	$phpbb_notifications = $phpbb_container->get('notification_manager'); + +	$phpbb_notifications->delete_notifications(array( +		'topic', +		'approve_topic', +		'topic_in_queue', +	), $topic_ids); +  	return $return;  } @@ -723,7 +731,7 @@ function delete_topics($where_type, $where_ids, $auto_sync = true, $post_count_s  */  function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync = true, $post_count_sync = true, $call_delete_topics = true)  { -	global $db, $config, $phpbb_root_path, $phpEx, $auth, $user; +	global $db, $config, $phpbb_root_path, $phpEx, $auth, $user, $phpbb_container;  	if ($where_type === 'range')  	{ @@ -892,6 +900,16 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync =  		delete_topics('topic_id', $remove_topics, $auto_sync, $post_count_sync, false);  	} +	$phpbb_notifications = $phpbb_container->get('notification_manager'); + +	$phpbb_notifications->delete_notifications(array( +		'quote', +		'bookmark', +		'post', +		'approve_post', +		'post_in_queue', +	), $post_ids); +  	return sizeof($post_ids);  } @@ -2326,13 +2344,17 @@ function auto_prune($forum_id, $prune_mode, $prune_flags, $prune_days, $prune_fr  }  /** -* Cache moderators, called whenever permissions are changed via admin_permissions. Changes of username -* and group names must be carried through for the moderators table +* Cache moderators. Called whenever permissions are changed +* via admin_permissions. Changes of usernames and group names +* must be carried through for the moderators table. +* +* @param phpbb_db_driver $db Database connection +* @param phpbb_cache_driver_interface Cache driver +* @param phpbb_auth $auth Authentication object +* @return null  */ -function cache_moderators() +function phpbb_cache_moderators($db, $cache, $auth)  { -	global $db, $cache, $auth, $phpbb_root_path, $phpEx; -  	// Remove cached sql results  	$cache->destroy('sql', MODERATOR_CACHE_TABLE); @@ -2503,6 +2525,20 @@ function cache_moderators()  }  /** +* Cache moderators. Called whenever permissions are changed +* via admin_permissions. Changes of usernames and group names +* must be carried through for the moderators table. +* +* @deprecated 3.1 +* @return null +*/ +function cache_moderators() +{ +	global $db, $cache, $auth; +	return phpbb_cache_moderators($db, $cache, $auth); +} + +/**  * View log  * If $log_count is set to false, we will skip counting all entries in the database.  */ @@ -2774,12 +2810,16 @@ function view_log($mode, &$log, &$log_count, $limit = 0, $offset = 0, $forum_id  }  /** -* Update foes - remove moderators and administrators from foe lists... +* Removes moderators and administrators from foe lists. +* +* @param phpbb_db_driver $db Database connection +* @param phpbb_auth $auth Authentication object +* @param array|bool $group_id If an array, remove all members of this group from foe lists, or false to ignore +* @param array|bool $user_id If an array, remove this user from foe lists, or false to ignore +* @return null  */ -function update_foes($group_id = false, $user_id = false) +function phpbb_update_foes($db, $auth, $group_id = false, $user_id = false)  { -	global $db, $auth; -  	// update foes for some user  	if (is_array($user_id) && sizeof($user_id))  	{ @@ -2889,6 +2929,20 @@ function update_foes($group_id = false, $user_id = false)  }  /** +* Removes moderators and administrators from foe lists. +* +* @deprecated 3.1 +* @param array|bool $group_id If an array, remove all members of this group from foe lists, or false to ignore +* @param array|bool $user_id If an array, remove this user from foe lists, or false to ignore +* @return null +*/ +function update_foes($group_id = false, $user_id = false) +{ +	global $db, $auth; +	return phpbb_update_foes($db, $auth, $group_id, $user_id); +} + +/**  * Lists inactive users  */  function view_inactive_users(&$users, &$user_count, $limit = 0, $offset = 0, $limit_days = 0, $sort_by = 'user_inactive_time DESC') | 
