summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules-available/adduser/lang/de/messages.json1
-rw-r--r--modules-available/adduser/lang/en/messages.json1
-rw-r--r--modules-available/adduser/page.inc.php7
3 files changed, 8 insertions, 1 deletions
diff --git a/modules-available/adduser/lang/de/messages.json b/modules-available/adduser/lang/de/messages.json
index ee633393..389ee3b6 100644
--- a/modules-available/adduser/lang/de/messages.json
+++ b/modules-available/adduser/lang/de/messages.json
@@ -5,6 +5,7 @@
"password-changed": "Passwort ge\u00e4ndert",
"password-mismatch": "Passwort und Passwortbest\u00e4tigung stimmen nicht \u00fcberein",
"roles-updated": "Rollen aktualisiert",
+ "user-already-exists": "Login {{0}} existiert bereits",
"user-deleted": "Benutzer {{0}} (ID={{1}}) gel\u00f6scht",
"user-edited": "Benutzerdaten wurden ge\u00e4ndert",
"user-not-found": "Benutzer mit ID {{0}} nicht gefunden"
diff --git a/modules-available/adduser/lang/en/messages.json b/modules-available/adduser/lang/en/messages.json
index 67bca6f9..deaae19d 100644
--- a/modules-available/adduser/lang/en/messages.json
+++ b/modules-available/adduser/lang/en/messages.json
@@ -5,6 +5,7 @@
"password-changed": "Password changed",
"password-mismatch": "Password and password confirmation do not match",
"roles-updated": "Roles have been updated",
+ "user-already-exists": "Login {{0}} already exists",
"user-deleted": "Deleted user {{0}} (ID={{1}})",
"user-edited": "User data has been updated",
"user-not-found": "User with ID {{0}} not found"
diff --git a/modules-available/adduser/page.inc.php b/modules-available/adduser/page.inc.php
index cffe33f9..c8acb554 100644
--- a/modules-available/adduser/page.inc.php
+++ b/modules-available/adduser/page.inc.php
@@ -47,7 +47,12 @@ class Page_AddUser extends Page
'phone' => $phone,
'email' => $email,
);
- Database::exec('INSERT INTO user SET login = :login, passwd = :pass, fullname = :fullname, phone = :phone, email = :email', $data);
+ $ret = Database::exec('INSERT INTO user
+ SET login = :login, passwd = :pass, fullname = :fullname, phone = :phone, email = :email', $data, true);
+ if ($ret === false) {
+ Message::addError('user-already-exists', $login);
+ return;
+ }
$id = Database::lastInsertId();
// Make it superadmin if first user. This method sucks as it's a race condition but hey...
$ret = Database::queryFirst('SELECT Count(*) AS num FROM user');