aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2014-10-25 14:50:01 -0700
committerMarc Alexander <admin@m-a-styles.de>2014-10-25 14:50:01 -0700
commit18f24a2270610d18b06a1ba2b6012beffe676603 (patch)
treec63c6e2913ac06619e71a9c8bd590df7be7bef82 /phpBB
parentf22cd2d7348dc3a103e53aa773b6f91abe998ddd (diff)
downloadforums-18f24a2270610d18b06a1ba2b6012beffe676603.tar
forums-18f24a2270610d18b06a1ba2b6012beffe676603.tar.gz
forums-18f24a2270610d18b06a1ba2b6012beffe676603.tar.bz2
forums-18f24a2270610d18b06a1ba2b6012beffe676603.tar.xz
forums-18f24a2270610d18b06a1ba2b6012beffe676603.zip
[ticket/13207] Add default subscription options for newly registered users
PHPBB3-13207
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/functions_user.php13
-rw-r--r--phpBB/includes/ucp/ucp_register.php13
2 files changed, 24 insertions, 2 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php
index e4479f07b0..82a02eeb4b 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 = array())
{
global $db, $user, $auth, $config, $phpbb_root_path, $phpEx;
global $phpbb_dispatcher, $phpbb_container;
@@ -347,6 +348,16 @@ function user_add($user_row, $cp_data = false)
set_config('newest_user_colour', $row['group_colour'], true);
}
+ // 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
*
diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php
index 9a15967bae..3289273658 100644
--- a/phpBB/includes/ucp/ucp_register.php
+++ b/phpBB/includes/ucp/ucp_register.php
@@ -314,13 +314,24 @@ class ucp_register
'user_inactive_time' => $user_inactive_time,
);
+ $user_notifications_data = array(
+ array(
+ 'item_type' => 'notification.type.post',
+ 'method' => 'notification.method.email',
+ ),
+ array(
+ 'item_type' => 'notification.type.topic',
+ 'method' => 'notification.method.email',
+ ),
+ );
+
if ($config['new_member_post_limit'])
{
$user_row['user_new'] = 1;
}
// Register user...
- $user_id = user_add($user_row, $cp_data);
+ $user_id = user_add($user_row, $cp_data, $user_notifications_data);
// This should not happen, because the required variables are listed above...
if ($user_id === false)