aboutsummaryrefslogtreecommitdiffstats
path: root/mod/register.php
diff options
context:
space:
mode:
authorOlivier Migeot <olivier@migeot.org>2011-03-28 12:11:10 +0200
committerOlivier Migeot <olivier@migeot.org>2011-03-28 12:11:10 +0200
commitda546588db1863dd240a4c738644372fc4d183e6 (patch)
treedd6c869207098867aa6c7207f29ab5a2e9b6dc69 /mod/register.php
parent19d7e7fefeb3d20697d6a7e0b1fc7a16d9127c64 (diff)
parent1f6c6c466a449ba422c4e67744577f6c35b3ce0b (diff)
downloadvolse-hubzilla-da546588db1863dd240a4c738644372fc4d183e6.tar.gz
volse-hubzilla-da546588db1863dd240a4c738644372fc4d183e6.tar.bz2
volse-hubzilla-da546588db1863dd240a4c738644372fc4d183e6.zip
Merge remote branch 'mike/master'
Diffstat (limited to 'mod/register.php')
-rw-r--r--mod/register.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/mod/register.php b/mod/register.php
index 95e9d581f..06ed1e0f1 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -199,6 +199,24 @@ function register_post(&$a) {
return;
}
+ /**
+ * if somebody clicked submit twice very quickly, they could end up with two accounts
+ * due to race condition. Remove this one.
+ */
+
+ $r = q("SELECT `uid` FROM `user`
+ WHERE `nickname` = '%s' ",
+ dbesc($nickname)
+ );
+ if((count($r) > 1) && $newuid) {
+ $err .= t('Nickname is already registered. Please choose another.') . EOL;
+ q("DELETE FROM `user` WHERE `uid` = %d LIMIT 1",
+ intval($newuid)
+ );
+ notice ($err);
+ return;
+ }
+
if(x($newuid) !== false) {
$r = q("INSERT INTO `profile` ( `uid`, `profile-name`, `is-default`, `name`, `photo`, `thumb`, `publish`, `net-publish` )
VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, %d ) ",