From 087eda5646f54d9be4b4ce8303fae3b842475f57 Mon Sep 17 00:00:00 2001 From: Leander Date: Fri, 21 Apr 2017 09:03:16 +0200 Subject: [PATCH] T201704210903 --- Config.txt | 3 ++- Database.php | 3 ++- rename.php | 8 ++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Config.txt b/Config.txt index d8c4d2b..574276e 100644 --- a/Config.txt +++ b/Config.txt @@ -24,7 +24,8 @@ = rename.php = 14101 - User name doesn't match rules -14102 - User name already exists +14102 - User ID not specified +14103 - User name already exists = highscores.php = 15101 - User ID not specified diff --git a/Database.php b/Database.php index a2ab755..1813be5 100644 --- a/Database.php +++ b/Database.php @@ -60,10 +60,11 @@ class Database case 14101: return 'User name does not match rules. User name must be 6 to 20 characters and consist of English letters and numbers only.'; case 11102: - case 14102: + case 14103: return 'User name already exists. Please pick a different name.'; case 12101: case 13101: + case 14102: case 15101: return 'User ID not specified. This is an internal error.'; case 12102: diff --git a/rename.php b/rename.php index 77c9b63..2ce7149 100644 --- a/rename.php +++ b/rename.php @@ -11,17 +11,17 @@ define('PATTERN', '/^[a-zA-Z0-9 ]{6,20}$/'); $data = ''; $error = 0; $name = isset($_GET['name']) ? $_GET['name'] : ''; -$uid = md5(uniqid(rand(), true)); +$uid = isset($_GET['uid']) ? $_GET['uid'] : ''; $db = new Database(); if(preg_match(PATTERN, $name) != 1) { $error = 14101; +} else if($uid = '') { + $error = 14102; } else { - // Create user. $db->query('UPDATE "Users" SET "name" = $1 WHERE "ID" = $2', array($name, $uid)); - // Create error if user to create already exists. if(preg_match('/violates unique constraint "Users_name_unique"/', pg_last_error()) == 1) { - $error = 14102; + $error = 14103; } else { $data = array('uid' => $uid, 'name' => $name); }