TODO |
------+
+ BUGS |
+ ------+
+ - usermgmt: add user delete (with mail)
+ DONE - constraint on username (no more than 2 consecutive digits)
+ - manage isolation consistently
+
+ FEATURES |
+ ----------+
+ * Users Network construction
+ - minisplash at end of the match
+ - differentiate table authorization
+ * add new kind of isolation for apprentice
+
+ * Double click on chat to open preferences
+
+ * APPRENTICE
+ Phase2
+ DONE - match counters (part 2)
+ DONE . migration script for old users
+ - guarantee for apprentice
+
+
+
BUGS |
------+
DONE - Not sequence of 3 same chars
DONE . check server side with test
DONE - Global vars checker
- <release>
- - usermgmt: add user delete
DONE - 10002 message when already clicked
DONE - trim spaces in apprentice form
DONE - Remove books from chat
FEATURES |
----------+
- WIP * inherited info
+ * inherited info
* Users Network construction
DONE - sql
DONE - dbase API
}
}
+/* function login_consistency:
+ name length must be less or equal than 12 chars,
+ no more than 2 consecutive same character (or generic digits) are allowed */
function login_consistency($name)
{
$old_c = '';
for ($i = 0 ; $i < mb_strlen($name) ; $i++) {
$c = mb_substr($name, $i, 1);
if (mb_ereg_match ("[a-zA-Z0-9]", $c)) {
+ if (mb_ereg_match ("[0-9]", $c)) {
+ $c = "0";
+ }
if ($old_c != $c) {
$old_c = $c;
$old_ct = 1;
<div id="apprentice_div" style="display: none;" class="apprentice">
<br>
Inserisci il tuo nickname e il tuo indirizzo e-mail.<br>
- Il tuo nickname non può essere più lungo di 12 caratteri,<br>deve essere composto soltanto da lettere non accentate e numeri,<br>senza ripetere lo stesso carattere per più di 3 volte consecutive.<br><br>
+ Il tuo nickname non può essere più lungo di 12 caratteri,<br>deve essere composto soltanto da lettere non accentate e numeri,<br>senza ripetere più di due volte lo stesso carattere (o delle cifre) consecutivamente.<br><br>
<form accept-charset="utf-8" method="post" action="" onsubmit="return j_new_apprentice(this);">
<input type="hidden" name="realsub" value="666">
<table class="login">
function j_check_login(login, ret)
{
+ var cmp;
+
if (login.length > 12) {
// FIXME LANG
ret.ret += (g_lang == 'en' ? "Nickname too long." : "Nickname troppo lungo.");
if ((login[i] >= '0' && login[i] <= '9') ||
(login[i] >= 'a' && login[i] <= 'z') ||
(login[i] >= 'A' && login[i] <= 'Z')) {
- if (old_c != login[i]) {
- old_c = login[i];
+ if (login[i] >= '0' && login[i] <= '9')
+ cmp = '0';
+ else
+ cmp = login[i];
+
+ if (old_c != cmp) {
+ old_c = cmp;
old_ct = 1;
}
else {
if (old_ct > 2) {
// FIXME LANG
- ret.ret = (g_lang == 'en' ? "More than two contiguous '" + old_c + "' not allowed." :
- "Il nickname contiene più di 2 caratteri '" + old_c + "' consecutivi.");
+ if (old_c == '0')
+ ret.ret = (g_lang == 'en' ? "More than two contiguous digits not allowed." :
+ "Il nickname contiene più di 2 cifre consecutive.");
+ else
+ ret.ret = (g_lang == 'en' ? "More than two contiguous '" + old_c + "' not allowed." :
+ "Il nickname contiene più di 2 caratteri '" + old_c + "' consecutivi.");
return (false);
}
}