diff options
| author | Nils Adermann <naderman@naderman.de> | 2014-10-25 16:55:29 -0700 | 
|---|---|---|
| committer | Nils Adermann <naderman@naderman.de> | 2014-10-25 16:55:29 -0700 | 
| commit | 4859cec0c50cc522e73dba5555def308835b1357 (patch) | |
| tree | 3a14ab74c35a76081d53361b143c454f21b7473e /phpBB/includes | |
| parent | 07e7cde5609342c655c1f8d7d0e01a98cddc040b (diff) | |
| parent | 0dcb874c0987156b0c4bb2ef4e935ff6b6f2fd46 (diff) | |
| download | forums-4859cec0c50cc522e73dba5555def308835b1357.tar forums-4859cec0c50cc522e73dba5555def308835b1357.tar.gz forums-4859cec0c50cc522e73dba5555def308835b1357.tar.bz2 forums-4859cec0c50cc522e73dba5555def308835b1357.tar.xz forums-4859cec0c50cc522e73dba5555def308835b1357.zip  | |
Merge remote-tracking branch 'github-marc1706/ticket/13207' into prep-release-3.1.0
* github-marc1706/ticket/13207:
  [ticket/13207] Add notification manager mock to user_add method in tests
  [ticket/13207] Move default user notifications settings to user_add()
  [ticket/13207] Add default subscription options for newly registered users
Diffstat (limited to 'phpBB/includes')
| -rw-r--r-- | phpBB/includes/functions_user.php | 28 | 
1 files changed, 27 insertions, 1 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index e4479f07b0..f79a8998c4 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -161,9 +161,10 @@ function user_update_name($old_name, $new_name)  *  * @param mixed $user_row An array containing the following keys (and the appropriate values): username, group_id (the group to place the user in), user_email and the user_type(usually 0). Additional entries not overridden by defaults will be forwarded.  * @param string $cp_data custom profile fields, see custom_profile::build_insert_sql_array +* @param array $notifications_data The notifications settings for the new user  * @return the new user's ID.  */ -function user_add($user_row, $cp_data = false) +function user_add($user_row, $cp_data = false, $notifications_data = null)  {  	global $db, $user, $auth, $config, $phpbb_root_path, $phpEx;  	global $phpbb_dispatcher, $phpbb_container; @@ -347,6 +348,31 @@ function user_add($user_row, $cp_data = false)  		set_config('newest_user_colour', $row['group_colour'], true);  	} +	// Use default notifications settings if notifications_data is not set +	if ($notifications_data === null) +	{ +		$notifications_data = array( +			array( +				'item_type'	=> 'notification.type.post', +				'method'	=> 'notification.method.email', +			), +			array( +				'item_type'	=> 'notification.type.topic', +				'method'	=> 'notification.method.email', +			), +		); +	} + +	// Subscribe user to notifications if necessary +	if (!empty($notifications_data)) +	{ +		$phpbb_notifications = $phpbb_container->get('notification_manager'); +		foreach ($notifications_data as $subscription) +		{ +			$phpbb_notifications->add_subscription($subscription['item_type'], 0, $subscription['method'], $user_id); +		} +	} +  	/**  	* Event that returns user id, user detals and user CPF of newly registared user  	*  | 
