aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/user_list.php2
-rw-r--r--include/functions_user.inc.php57
-rw-r--r--include/user.inc.php2
-rw-r--r--register.php25
4 files changed, 44 insertions, 42 deletions
diff --git a/admin/user_list.php b/admin/user_list.php
index f9f92cbad..44da05558 100644
--- a/admin/user_list.php
+++ b/admin/user_list.php
@@ -196,7 +196,7 @@ $page['direction_items'] = array(
if (isset($_POST['submit_add']))
{
$page['errors'] = register_user(
- $_POST['login'], $_POST['password'], $_POST['email']);
+ $_POST['login'], $_POST['password'], $_POST['email'], false);
if (count($page['errors']) == 0)
{
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php
index 148c01dc7..16a67fd8d 100644
--- a/include/functions_user.inc.php
+++ b/include/functions_user.inc.php
@@ -66,7 +66,8 @@ where upper('.$conf['user_fields']['email'].') = upper(\''.$mail_address.'\')
}
}
-function register_user($login, $password, $mail_address, $errors = array())
+function register_user($login, $password, $mail_address,
+ $with_notification = true, $errors = array())
{
global $conf;
@@ -113,28 +114,29 @@ SELECT MAX('.$conf['user_fields']['id'].') + 1
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
mass_inserts(USERS_TABLE, array_keys($insert), array($insert));
- // Assign by default groups
- {
- $query = '
+ // Assign by default groups
+ {
+ $query = '
SELECT id
FROM '.GROUPS_TABLE.'
WHERE is_default = \''.boolean_to_string(true).'\'
ORDER BY id ASC
;';
- $result = pwg_query($query);
+ $result = pwg_query($query);
- $inserts = array();
- while ($row = mysql_fetch_array($result))
- {
- array_push
- (
- $inserts,
- array
+ $inserts = array();
+ while ($row = mysql_fetch_array($result))
+ {
+ array_push
(
- 'user_id' => $next_id,
- 'group_id' => $row['id']
- )
- );
+ $inserts,
+ array
+ (
+ 'user_id' => $next_id,
+ 'group_id' => $row['id']
+ )
+ );
+ }
}
if (count($inserts) != 0)
@@ -142,10 +144,31 @@ SELECT id
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
mass_inserts(USER_GROUP_TABLE, array('user_id', 'group_id'), $inserts);
}
- }
create_user_infos($next_id);
+ if ($with_notification and $conf['email_admin_on_new_user'])
+ {
+ include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php');
+ $username = $_POST['login'];
+ $admin_url = get_absolute_root_url()
+ .'admin.php?page=user_list&username='.$username;
+
+ $keyargs_content = array
+ (
+ get_l10n_args('User: %s', $username),
+ get_l10n_args('Email: %s', $_POST['mail_address']),
+ get_l10n_args('', ''),
+ get_l10n_args('Admin: %s', $admin_url)
+ );
+
+ pwg_mail_notification_admins
+ (
+ get_l10n_args('Registration of %s', $username),
+ $keyargs_content
+ );
+ }
+
trigger_action('register_user',
array(
'id'=>$next_id,
diff --git a/include/user.inc.php b/include/user.inc.php
index 047e68723..965cfa262 100644
--- a/include/user.inc.php
+++ b/include/user.inc.php
@@ -65,7 +65,7 @@ if ($conf['apache_authentication'] and isset($_SERVER['REMOTE_USER']))
{
if (!($user['id'] = get_userid($_SERVER['REMOTE_USER'])))
{
- register_user($_SERVER['REMOTE_USER'], '', '');
+ register_user($_SERVER['REMOTE_USER'], '', '', false);
$user['id'] = get_userid($_SERVER['REMOTE_USER']);
}
}
diff --git a/register.php b/register.php
index eed28b847..5eb1d5b5d 100644
--- a/register.php
+++ b/register.php
@@ -52,34 +52,13 @@ if (isset($_POST['submit']))
register_user($_POST['login'],
$_POST['password'],
$_POST['mail_address'],
+ true,
$errors);
if (count($errors) == 0)
{
$user_id = get_userid($_POST['login']);
- log_user( $user_id, false);
-
- if ($conf['email_admin_on_new_user'])
- {
- include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php');
- $username = $_POST['login'];
- $admin_url = get_absolute_root_url()
- .'admin.php?page=user_list&username='.$username;
-
- $keyargs_content = array
- (
- get_l10n_args('User: %s', $username),
- get_l10n_args('Email: %s', $_POST['mail_address']),
- get_l10n_args('', ''),
- get_l10n_args('Admin: %s', $admin_url)
- );
-
- pwg_mail_notification_admins
- (
- get_l10n_args('Registration of %s', $username),
- $keyargs_content
- );
- }
+ log_user($user_id, false);
redirect(make_index_url());
}
}