T201704210903

This commit is contained in:
Leander
2017-04-21 09:03:16 +02:00
parent 7981dac12a
commit 087eda5646
3 changed files with 8 additions and 6 deletions

View File

@@ -24,7 +24,8 @@
= rename.php = = rename.php =
14101 - User name doesn't match rules 14101 - User name doesn't match rules
14102 - User name already exists 14102 - User ID not specified
14103 - User name already exists
= highscores.php = = highscores.php =
15101 - User ID not specified 15101 - User ID not specified

View File

@@ -60,10 +60,11 @@ class Database
case 14101: 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.'; 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 11102:
case 14102: case 14103:
return 'User name already exists. Please pick a different name.'; return 'User name already exists. Please pick a different name.';
case 12101: case 12101:
case 13101: case 13101:
case 14102:
case 15101: case 15101:
return 'User ID not specified. This is an internal error.'; return 'User ID not specified. This is an internal error.';
case 12102: case 12102:

View File

@@ -11,17 +11,17 @@ define('PATTERN', '/^[a-zA-Z0-9 ]{6,20}$/');
$data = ''; $data = '';
$error = 0; $error = 0;
$name = isset($_GET['name']) ? $_GET['name'] : ''; $name = isset($_GET['name']) ? $_GET['name'] : '';
$uid = md5(uniqid(rand(), true)); $uid = isset($_GET['uid']) ? $_GET['uid'] : '';
$db = new Database(); $db = new Database();
if(preg_match(PATTERN, $name) != 1) { if(preg_match(PATTERN, $name) != 1) {
$error = 14101; $error = 14101;
} else { } else if($uid = '') {
// 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 = 14102;
} else {
$db->query('UPDATE "Users" SET "name" = $1 WHERE "ID" = $2', array($name, $uid));
if(preg_match('/violates unique constraint "Users_name_unique"/', pg_last_error()) == 1) {
$error = 14103;
} else { } else {
$data = array('uid' => $uid, 'name' => $name); $data = array('uid' => $uid, 'name' => $name);
} }