[Toss-devel-svn] SF.net SVN: toss:[1468] trunk/Toss
Status: Beta
Brought to you by:
lukaszkaiser
|
From: <luk...@us...> - 2011-05-31 20:33:09
|
Revision: 1468
http://toss.svn.sourceforge.net/toss/?rev=1468&view=rev
Author: lukaszkaiser
Date: 2011-05-31 20:33:02 +0000 (Tue, 31 May 2011)
Log Message:
-----------
Improving register html.
Modified Paths:
--------------
trunk/Toss/Server/ReqHandler.ml
trunk/Toss/WebClient/Login.js
trunk/Toss/WebClient/register.html
Modified: trunk/Toss/Server/ReqHandler.ml
===================================================================
--- trunk/Toss/Server/ReqHandler.ml 2011-05-30 21:35:49 UTC (rev 1467)
+++ trunk/Toss/Server/ReqHandler.ml 2011-05-31 20:33:02 UTC (rev 1468)
@@ -280,7 +280,6 @@
let m = client_msg ("EVAL LOC MOVES " ^ advr ^ ".0 " ^ loc ^
" TIMEOUT " ^ timeout ^ " 55500 alpha_beta_ord") in
client_set_time ts t;
- print_endline m;
let msg = Array.map strip_ws (split ";" m) in
if Array.length msg < 2 then "" else
let append_emb emb s =
@@ -511,14 +510,17 @@
let adv_ratio = if adv_ratio_data = "none" then "4" else adv_ratio_data in
client_suggest player time adv_ratio in
let register_user ui =
- if Array.length ui <> 5 then false else
+ let mail_in_use email =
+ List.length (dbtable ("email='" ^ email ^ "'") "users") > 0 in
+ if Array.length ui <> 5 then Some "Identifier" else
let (uid, name, surname, email, pwd) =
(ui.(0), ui.(1), ui.(2), ui.(3), ui.(4)) in
- match passwd_from_db uid with Some _ -> false | None ->
- DB.insert_table dbFILE "users" "id, name, surname, email, passwd"
- [uid; name; surname; email; pwd];
- DB.insert_table dbFILE "friends" "id, fid" [uid; "computer"];
- true in
+ if mail_in_use email then Some ("Email " ^ email) else
+ match passwd_from_db uid with Some _ -> Some ("Username "^uid) | None->
+ DB.insert_table dbFILE "users" "id, name, surname, email, passwd"
+ [uid; name; surname; email; pwd];
+ DB.insert_table dbFILE "friends" "id, fid" [uid; "computer"];
+ None in
let login_user uid chk pwd =
match passwd_from_db uid with
| None -> ("no such user registered", [])
@@ -558,11 +560,12 @@
if verif_uid () = "" then "", [] else user_plays (verif_uid ()), []
| "REGISTER" ->
let ui = split "$" data in
- if register_user ui then
- "Registration successful for " ^ ui.(0) ^ ".", []
- else
- "Registration failed:\n username " ^ ui.(0) ^ " already in use." ^
- "\nPlease choose another username and try again.", []
+ (match register_user ui with
+ | None -> "Registration successful for " ^ ui.(0) ^ ".", []
+ | Some msg ->
+ "Registration failed:\n" ^ msg ^ " already in use."^
+ "\nPlease choose another one and try again.", []
+ )
| "LOGIN" ->
let ui = split "$" data in
if Array.length ui = 3 then (
Modified: trunk/Toss/WebClient/Login.js
===================================================================
--- trunk/Toss/WebClient/Login.js 2011-05-30 21:35:49 UTC (rev 1467)
+++ trunk/Toss/WebClient/Login.js 2011-05-31 20:33:02 UTC (rev 1468)
@@ -163,6 +163,25 @@
return;
}
+var UID_MANUAL = false;
+var NAME_MANUAL = false;
+function register_uid_change () { UID_MANUAL = true; }
+function register_name_change () { NAME_MANUAL = true; }
+
+// Email changed in the registration form - update name and username.
+function register_email_change() {
+ var email = document.getElementById('email').value;
+ var n = email;
+ if (email.indexOf("@") > 0) { n = email.substr (0, email.indexOf("@")); }
+ if (! UID_MANUAL) {
+ document.getElementById('username').value = n;
+ }
+ if (! NAME_MANUAL) {
+ var m = n.substr(0,1).toUpperCase() + n.substr(1);
+ document.getElementById('name').value = m;
+ }
+}
+
// Register new user
function register () {
var unv = document.getElementById('username').value;
@@ -196,10 +215,6 @@
alert ("Your name was not given and it is necessary." + CORRMSG);
return;
}
- if (surname == "") {
- alert ("Your surname was not given and it is necessary." + CORRMSG);
- return;
- }
if (email.indexOf("@") < 1 || email.indexOf(".") < 1) {
alert ("Please provide a valid email address.");
return;
@@ -212,6 +227,13 @@
var data = un + "$" + name + "$" + surname + "$" + email;
var resp = CONN.register (data, crypt(TSALT + pwd));
alert (resp);
+ if (resp.indexOf(" successful") > 0) {
+ var resp = CONN.login (un, true, crypt(TSALT + pwd));
+ if (resp == "OK") {
+ var url = "http://" + window.location.host + "/index.html";
+ window.location.replace(url);
+ }
+ }
}
// Change user data
@@ -223,10 +245,6 @@
alert ("Your name was not given and it is necessary." + CORRMSG);
return;
}
- if (surname == "") {
- alert ("Your surname was not given and it is necessary." + CORRMSG);
- return;
- }
if (email.indexOf("@") < 1 || email.indexOf(".") < 1) {
alert ("Please provide a valid email address.");
return;
Modified: trunk/Toss/WebClient/register.html
===================================================================
--- trunk/Toss/WebClient/register.html 2011-05-30 21:35:49 UTC (rev 1467)
+++ trunk/Toss/WebClient/register.html 2011-05-31 20:33:02 UTC (rev 1468)
@@ -25,8 +25,10 @@
<h2>Register on tPlay</h2>
<form id="registerform" action="">
-<p> <span class="reglabel">Username:</span>
- <input class="forminput" type="text" name="username" id="username" /> </p>
+<p> <span class="reglabel">Email:</span>
+ <input class="forminput" type="text" name="email"
+ id="email" onchange="register_email_change()" />
+</p>
<p> <span class="reglabel">Password:</span>
<input class="forminput" type="password" name="password" id="password" />
</p>
@@ -34,16 +36,19 @@
<input class="forminput" type="password" name="rptpassword"
id="rptpassword" />
</p>
+<p><button class="bt" id="registerbt" type="button"
+ onclick="register()">Register</button></p>
+<p> <span class="reglabel">Username:</span>
+ <input class="forminput" type="text" name="username"
+ id="username" onchange="register_uid_change()" />
+</p>
<p> <span class="reglabel">Name:</span>
- <input class="forminput" type="text" name="name" id="name" />
+ <input class="forminput" type="text" name="name"
+ id="name" onchange="register_name_change()" />
</p>
<p> <span class="reglabel">Surname:</span>
<input class="forminput" type="text" name="surname" id="surname" />
</p>
-<p> <span class="reglabel">Email:</span>
- <input class="forminput" type="text" name="email" id="email" />
-</p>
-<p><button class="bt" id="registerbt" type="button" onclick="register()">Register</button></p>
</form>
</div>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|