mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-28 18:23:00 +02:00
[ticket/15833] Add core.avatar_manager_avatar_delete_after event
PHPBB3-15833
This commit is contained in:
parent
001f32da95
commit
6a35385308
@ -3,6 +3,7 @@ services:
|
||||
class: phpbb\avatar\manager
|
||||
arguments:
|
||||
- '@config'
|
||||
- '@dispatcher'
|
||||
- '@avatar.driver_collection'
|
||||
|
||||
# ----- Avatar drivers -----
|
||||
|
@ -21,6 +21,12 @@ class manager
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* phpBB event dispatcher
|
||||
* @var \phpbb\event\dispatcher_interface
|
||||
*/
|
||||
protected $phpbb_dispatcher;
|
||||
|
||||
/**
|
||||
* Array that contains a list of enabled drivers
|
||||
* @var array
|
||||
@ -49,11 +55,13 @@ class manager
|
||||
* Construct an avatar manager object
|
||||
*
|
||||
* @param \phpbb\config\config $config phpBB configuration
|
||||
* @param \phpbb\event\dispatcher_interface $phpbb_dispatcher phpBB event dispatcher
|
||||
* @param array $avatar_drivers Avatar drivers passed via the service container
|
||||
*/
|
||||
public function __construct(\phpbb\config\config $config, $avatar_drivers)
|
||||
public function __construct(\phpbb\config\config $config, \phpbb\event\dispatcher_interface $phpbb_dispatcher, $avatar_drivers)
|
||||
{
|
||||
$this->config = $config;
|
||||
$this->phpbb_dispatcher = $phpbb_dispatcher;
|
||||
$this->register_avatar_drivers($avatar_drivers);
|
||||
}
|
||||
|
||||
@ -331,6 +339,19 @@ class manager
|
||||
WHERE user_avatar = '" . $db->sql_escape($avatar_data['avatar']) . "'";
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* Event is triggered after user avatar has been deleted
|
||||
*
|
||||
* @event core.avatar_manager_avatar_delete_after
|
||||
* @var \phpbb\user user phpBB user object
|
||||
* @var array avatar_data Normalised avatar-related user data
|
||||
* @var string table Table to delete avatar from
|
||||
* @var string prefix Column prefix to delete avatar from
|
||||
* @since 3.2.4-RC1
|
||||
*/
|
||||
$vars = array('user', 'avatar_data', 'table', 'prefix');
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.avatar_manager_avatar_delete_after', compact($vars)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -99,7 +99,7 @@ class phpbb_avatar_manager_test extends \phpbb_database_test_case
|
||||
$this->config['allow_avatar_' . get_class($this->avatar_barfoo)] = false;
|
||||
|
||||
// Set up avatar manager
|
||||
$this->manager = new \phpbb\avatar\manager($this->config, $avatar_drivers, $phpbb_container);
|
||||
$this->manager = new \phpbb\avatar\manager($this->config, $dispatcher, $avatar_drivers);
|
||||
$this->db = $this->new_dbal();
|
||||
$lang_loader = new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx);
|
||||
$lang = new \phpbb\language\language($lang_loader);
|
||||
|
Loading…
x
Reference in New Issue
Block a user