aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/profilefields
diff options
context:
space:
mode:
authorPayBas <contact@paybas.com>2014-03-31 14:06:58 +0200
committerPayBas <contact@paybas.com>2014-05-03 17:54:36 +0200
commitb3b0e5ccf2503e7bba72ee922dda175337d1b4e9 (patch)
tree81661ed7c627cf3eb2d26afe6cf4ed5b1b6cab26 /phpBB/phpbb/profilefields
parentb60108dc78af581fe5327fce4037731555203320 (diff)
downloadforums-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.php32
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;
}