aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorJakub Senko <jakubsenko@gmail.com>2018-10-08 15:45:21 +0200
committerJakub Senko <jakubsenko@gmail.com>2018-10-28 14:19:33 +0100
commit6a353853084ad7c7022f838e82ff82ff9ea11c9c (patch)
treebd50754093161ffc60a7eee22e95bac4c34f45d8 /phpBB
parent001f32da95d4f8697ccc9a6107afc8dc68cbe48e (diff)
downloadforums-6a353853084ad7c7022f838e82ff82ff9ea11c9c.tar
forums-6a353853084ad7c7022f838e82ff82ff9ea11c9c.tar.gz
forums-6a353853084ad7c7022f838e82ff82ff9ea11c9c.tar.bz2
forums-6a353853084ad7c7022f838e82ff82ff9ea11c9c.tar.xz
forums-6a353853084ad7c7022f838e82ff82ff9ea11c9c.zip
[ticket/15833] Add core.avatar_manager_avatar_delete_after event
PHPBB3-15833
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/config/default/container/services_avatar.yml1
-rw-r--r--phpBB/phpbb/avatar/manager.php23
2 files changed, 23 insertions, 1 deletions
diff --git a/phpBB/config/default/container/services_avatar.yml b/phpBB/config/default/container/services_avatar.yml
index 6cc38516ae..d96aa6239a 100644
--- a/phpBB/config/default/container/services_avatar.yml
+++ b/phpBB/config/default/container/services_avatar.yml
@@ -3,6 +3,7 @@ services:
class: phpbb\avatar\manager
arguments:
- '@config'
+ - '@dispatcher'
- '@avatar.driver_collection'
# ----- Avatar drivers -----
diff --git a/phpBB/phpbb/avatar/manager.php b/phpBB/phpbb/avatar/manager.php
index 26eb17c265..6d9604db04 100644
--- a/phpBB/phpbb/avatar/manager.php
+++ b/phpBB/phpbb/avatar/manager.php
@@ -22,6 +22,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)));
}
/**