diff --git a/Config.txt b/Config.txt index badc21f..02b5003 100644 --- a/Config.txt +++ b/Config.txt @@ -20,3 +20,7 @@ 13102 - No valid time specified 13103 - No chosen answer specified 13104 - No game for specified user + += rename.php = +14101 - User name doesn't match rules +14102 - User name already exists diff --git a/Database.php b/Database.php index b3ff83c..cc3b555 100644 --- a/Database.php +++ b/Database.php @@ -56,9 +56,9 @@ class Database return 'Success.'; case 10101: return 'SQL statement did not give a result.'; - case 11101: + case 11101 || 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 11102 || 14102: return 'User name already exists. Please pick a different name.'; case 12101 || 13101: return 'User ID not specified. This is an internal error.'; diff --git a/rename.php b/rename.php new file mode 100644 index 0000000..ffdc1f3 --- /dev/null +++ b/rename.php @@ -0,0 +1,32 @@ +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; + } else { + $data = array('uid' => $uid, 'name' => $name); + } + } + $response = Database::create_response($data, $error); + print $response; + +?> \ No newline at end of file