diff options
author | PayBas <contact@paybas.com> | 2014-03-31 14:06:58 +0200 |
---|---|---|
committer | PayBas <contact@paybas.com> | 2014-05-03 17:54:36 +0200 |
commit | b3b0e5ccf2503e7bba72ee922dda175337d1b4e9 (patch) | |
tree | 81661ed7c627cf3eb2d26afe6cf4ed5b1b6cab26 /phpBB/phpbb/profilefields | |
parent | b60108dc78af581fe5327fce4037731555203320 (diff) | |
download | forums-b3b0e5ccf2503e7bba72ee922dda175337d1b4e9.tar forums-b3b0e5ccf2503e7bba72ee922dda175337d1b4e9.tar.gz forums-b3b0e5ccf2503e7bba72ee922dda175337d1b4e9.tar.bz2 forums-b3b0e5ccf2503e7bba72ee922dda175337d1b4e9.tar.xz forums-b3b0e5ccf2503e7bba72ee922dda175337d1b4e9.zip |
[ticket/12335] Add Events to phpbb\profilefields\manager
PHPBB3-12335
Diffstat (limited to 'phpBB/phpbb/profilefields')
-rw-r--r-- | phpBB/phpbb/profilefields/manager.php | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/phpBB/phpbb/profilefields/manager.php b/phpBB/phpbb/profilefields/manager.php index 37449c67c4..7d50fd9f24 100644 --- a/phpBB/phpbb/profilefields/manager.php +++ b/phpBB/phpbb/profilefields/manager.php @@ -28,6 +28,12 @@ class manager protected $db; /** + * Event dispatcher object + * @var \phpbb\event\dispatcher + */ + protected $dispatcher; + + /** * Request object * @var \phpbb\request\request */ @@ -64,6 +70,7 @@ class manager * * @param \phpbb\auth\auth $auth Auth object * @param \phpbb\db\driver\driver_interface $db Database object + * @param \phpbb\event\dispatcher $dispatcher Event dispatcher object * @param \phpbb\request\request $request Request object * @param \phpbb\template\template $template Template object * @param \phpbb\di\service_collection $type_collection @@ -72,10 +79,11 @@ class manager * @param string $fields_language_table * @param string $fields_data_table */ - public function __construct(\phpbb\auth\auth $auth, \phpbb\db\driver\driver_interface $db, \phpbb\request\request $request, \phpbb\template\template $template, \phpbb\di\service_collection $type_collection, \phpbb\user $user, $fields_table, $fields_language_table, $fields_data_table) + public function __construct(\phpbb\auth\auth $auth, \phpbb\db\driver\driver_interface $db, \phpbb\event\dispatcher $dispatcher, \phpbb\request\request $request, \phpbb\template\template $template, \phpbb\di\service_collection $type_collection, \phpbb\user $user, $fields_table, $fields_language_table, $fields_data_table) { $this->auth = $auth; $this->db = $db; + $this->dispatcher = $dispatcher; $this->request = $request; $this->template = $template; $this->type_collection = $type_collection; @@ -313,6 +321,17 @@ class manager } $this->db->sql_freeresult($result); + /** + * Event to modify profile fields data retrieved from the database + * + * @event core.grab_profile_fields_data + * @var int|array $user_ids Single user id or an array of ids + * @var array $field_data Array with profile fields data + * @since 3.1-B3 + */ + $vars = array('user_ids', 'field_data'); + extract($this->dispatcher->trigger_event('core.grab_profile_fields_data', compact($vars))); + $user_fields = array(); // Go through the fields in correct order @@ -404,6 +423,17 @@ class manager ); } + /** + * Event to modify template data of the generated profile fields + * + * @event core.generate_profile_fields_template_data + * @var array profile_row Array with users profile field data + * @var array tpl_fields Array with template data fields + * @since 3.1-B3 + */ + $vars = array('profile_row', 'tpl_fields'); + extract($this->dispatcher->trigger_event('core.generate_profile_fields_template_data', compact($vars))); + return $tpl_fields; } |