From 18269245e7cb18c69f9743b49a6aad79ffa58b68 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 9 Sep 2019 12:13:57 +0200 Subject: [adduser] Check if adding user succeeded Fixes #3573 --- modules-available/adduser/page.inc.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'modules-available/adduser/page.inc.php') 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'); -- cgit v1.2.3-55-g7522