'pollnone' => array( 'it' => '<br><br>Al momento non è attivo alcun sondaggio.',
'en' => '<br><br>At this moment no polls are active.'),
'pollchoo' => array( 'it' => '<br><br>Non hai espresso nessuna preferenza.',
- 'en' => '<br><br>You don\'t choose any preference, do it'),
+ 'en' => '<br><br>You don\'t choose any preference, do it'),
'pollagai' => array( 'it' => '<br>Per questo sondaggio hai già votato.<br><br>Non si può esprimere la propria preferenza più di una volta.',
'en' => '<br>You just express your preference about this poll.<br><br>You cannot do it again.'),
'pollrec' => array ('it' => '<br><br>Il tuo voto è stato registrato.',
'btn_stays'=> array( 'it' => 'resta in piedi.',
'en' => 'stay standing.'),
'badsit_a' => array( 'it' => '<br>Tu o qualcuno col tuo stesso indirizzo IP si è alzato da un tavolo senza il consenso degli altri giocatori.<br><br>Dovrai aspettare ancora ',
- 'en' => '<br>You or someone with your same IP address is standing up from a table without the permission of the other players <br><br>You will wait '),
+ 'en' => '<br>You or someone with your same IP address is standing up from a table without the permission of the other players <br><br>You will wait '),
'badsit_b' => array( 'it' => ' prima di poterti sedere nuovamente.<br><br>Se non sei stato tu ad alzarti e possiedi un login con password, autenticandoti con quello, potrai accedere.',
'en' => ' before you can sit down again. If you don\'t leave the table and you have a login with a password, authenticating with this one you will access'),
'nu_loginau' => array('it' => "login già in uso",
Saluti e buone partite, mop.<br>',
'en' => 'EN mhtml [%s] [%s] [%s]'),
- 'nu_gtext' => array( 'it' =>
-'Ciao %s, sono l\' amministratore del sito di Brisk.
+ 'ap_mtext' => array( 'it' =>
+'Ciao, sono l\' amministratore del sito di Brisk.
-Ti volevo avvisare che ho attivato i login di \'%s\' che hai
-garantito.
+Ti sei registrato col nickname \'%s\',
+vai al link: <%s>
+per confermare il tuo indirizzo di posta elettronica.
-Ti ricordo che i login vanno dati a persone di fiducia, se 3
-di quelli che hai autenticato verranno segnati come molestatori
-verrà sospeso anche il tuo accesso.
+Ciò è necessario per ottenere la password.
-Grazie dell\' impegno, mop.',
- 'en' => 'EN nu_gtext [%s][%s]'),
+Saluti e buone partite, mop.',
+ 'en' => 'EN mtext [%s] [%s]'),
- 'nu_ghtml' => array( 'it' =>
-'Ciao %s, sono l\' amministratore del sito di Brisk.<br><br>
-Ti volevo avvisare che ho attivato i login di \'%s\' che hai
-garantito.<br><br>
-Ti ricordo che i login vanno dati a persone di fiducia, se 3
-di quelli che hai autenticato verranno segnati come molestatori
-verrà sospeso anche il tuo accesso.<br><br>
-Grazie dell\' impegno, mop.',
- 'en' => 'EN nu_ghtml [%s][%s]')
+ 'ap_mhtml' => array( 'it' => 'Ciao, sono l\' amministratore del sito di Brisk.<br><br>
+Ti sei registrato col nickname \'%s\',<br>
+<a href="%s">clicca qui</a> per confermare il tuo indirizzo di posta elettronica.<br><br>
+Ciò è necessario per ottenere la password.<br><br>
+Saluti e buone partite, mop.<br>',
+ 'en' => 'EN mhtml [%s] [%s]'),
);
define('LICMGR_CHO_ACCEPT', 0);
if ($argz[0] == 'getchallenge') {
if (isset($get['cli_name']))
$cli_name = $get['cli_name'];
- if (($a_sem = Challenges::lock_data(TRUE)) != FALSE) {
+ if (($a_sem = Challenges::lock_data(TRUE)) != FALSE) {
log_main("chal lock data success");
-
+
if (($chals = &Challenges::load_data()) != FALSE) {
-
+
$token = uniqid("");
// echo '2|'.$argz[1].'|'.$token.'|'.$remote_addr.'|'.$curtime.'|';
// exit;
-
+
if (($login_new = validate_name(urldecode($cli_name))) != FALSE) {
if ($chals->add($login_new, $token, $remote_addr, $curtime) != FALSE) {
log_send("SUCCESS: token:".$token);
Challenges::save_data(&$chals);
}
}
-
-
+
+
Challenges::unlock_data($a_sem);
}
else {
else if ($argz[0] == 'placing') {
require_once("briskin5/Obj/briskin5.phh");
require_once("briskin5/Obj/placing.phh");
-
+
echo show_notify(str_replace("\n", " ", placings_show(FALSE)), 0, $mlang_indwr['btn_close'][$G_lang], 800, 600);
}
else if ($argz[0] == 'whysupport') {
echo show_notify(str_replace("\n", " ", $G_room_whysupport[$G_lang]), 0, $mlang_indwr['btn_close'][$G_lng], 400, 200);
}
- else {
+ else if ($argz[0] == 'apprendice') {
+ log_step("APPREND");
+ if (($cli_name = gpcs_var('cli_name', $get, $post, $cookie)) === FALSE)
+ $cli_name = "";
+
+ if (($cli_email = gpcs_var('cli_email', $get, $post, $cookie)) === FALSE)
+ $cli_email = "";
+
+ $mesg_to_user = "";
+
+ // check existence of username or email
+ $is_trans = FALSE;
+ do {
+ if (($bdb = BriskDB::create()) == FALSE)
+ break;
+
+ log_step("APPREND1");
+ // FIXME: CHECK IP AS PREVIOUS REQUIRER
+
+ $cli_name = urldecode($cli_name);
+ $cli_email = urldecode($cli_email);
+
+ // check for already used fields
+ if (($idret = $bdb->check_record_by_login_or_email($cli_name, $cli_email)) != 0) {
+ $mesg_to_user = ($idret == 1 ? $mlang_indwr['nu_loginau'][$G_lang] :
+ ($idret == 2 ? $mlang_indwr['nu_emailau'][$G_lang] :
+ $mlang_indwr['unknownerr'][$G_lang]));
+ break;
+ }
+ log_step("APPREND2");
+
+ $bdb->transaction('BEGIN');
+ $is_trans = TRUE;
+ // insert the new user disabled with reason NU_MAILED
+ // FIXME: move 'no-guaran' user into configuration file
+ if (($usr_obj = $bdb->user_add($cli_name, 'THE_PASS', $cli_email,
+ USER_FLAG_TY_DISABLE | USER_FLAG_TY_APPR,
+ USER_DIS_REA_NU_MAILED, 10103)) == FALSE) {
+ fprintf(STDERR, "ERROR: user_add FAILED\n");
+ break;
+ }
+ log_step("APPREND3");
+
+ if (($mail_code = $bdb->mail_reserve_code()) == FALSE) {
+ fprintf(STDERR, "ERROR: mail reserve code FAILED\n");
+ break;
+ }
+ $hash = md5($curtime . $G_alarm_passwd . $cli_name . $cli_email);
+
+ $confirm_page = sprintf("http://%s/%s/mailmgr.php?f_act=checkmail&f_code=%d&f_hash=%s",
+ $G_domain, $G_webbase, $mail_code, $hash);
+ $subj = $mlang_indwr['nu_msubj'][$G_lang];
+ $body_txt = sprintf($mlang_indwr['ap_mtext'][$G_lang],
+ $cli_name, $confirm_page);
+ $body_htm = sprintf($mlang_indwr['ap_mhtml'][$G_lang],
+ $cli_name, $confirm_page);
+
+ $mail_item = new MailDBItem($mail_code, $usr_obj->code, MAIL_TYP_CHECK,
+ $curtime, $subj, $body_txt, $body_htm, $hash);
+ log_step("APPREND4");
+
+ if (brisk_mail($cli_email, $subj, $body_txt, $body_htm) == FALSE) {
+ // mail error
+ fprintf(STDERR, "ERROR: mail send FAILED\n");
+ break;
+ }
+ log_step("APPREND5");
+
+ // save the mail
+ if ($mail_item->store($bdb) == FALSE) {
+ // store mail error
+ fprintf(STDERR, "ERROR: store mail FAILED\n");
+ break;
+ }
+ log_step("APPREND6");
+
+ echo "1";
+ $bdb->transaction('COMMIT');
+ return TRUE;
+ } while(FALSE);
+ $bdb->transaction('ROLLBACK');
+ echo "$mesg_to_user";
+ return FALSE;
+ }
+ else {
log_wr("Get User Error");
echo "Get User Error:" + $argz[0];
return FALSE;
}
}
else if ($argz[0] == 'warranty') {
- if (($cli_name = gpcs_var('cli_name', $get, $post, $cookie)) === FALSE)
+ if (($cli_name = gpcs_var('cli_name', $get, $post, $cookie)) === FALSE)
$cli_name = "";
-
+
if (($cli_email = gpcs_var('cli_email', $get, $post, $cookie)) === FALSE)
$cli_email = "";
-
$mesg_to_user = "";
-
+
log_wr("INFO:SKIP:argz == warranty name: [".$cli_name."] CERT: ".$user->is_cert());
if ($user->is_cert()) {
if (0 == 1) {
$is_trans = TRUE;
// insert the new user disabled with reason NU_MAILED
if (($usr_obj = $bdb->user_add($cli_name, 'THE_PASS', $cli_email,
- USER_FLAG_TY_DISABLE,
+ USER_FLAG_TY_DISABLE | USER_FLAG_TY_NORM,
USER_DIS_REA_NU_MAILED, $user->code)) == FALSE) {
fprintf(STDERR, "ERROR: user_add FAILED\n");
break;
} while(FALSE);
$bdb->transaction('ROLLBACK');
}
-
+
}
else {
/* MLANG: "<b>Per autenticare qualcuno devi a tua volta essere autenticato.</b>" */
$mesg_to_user = nickserv_msg($dt, $mlang_indwr['warrmust'][$G_lang]);
}
-
+
if ($mesg_to_user != "") {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
-
+
$user->comm[$user->step % COMM_N] .= $mesg_to_user;
$user->step_inc();
}
}
else if ($argz[0] == 'mesgtoadm') {
- if (($cli_subj = gpcs_var('cli_subj', $get, $post, $cookie)) === FALSE)
+ if (($cli_subj = gpcs_var('cli_subj', $get, $post, $cookie)) === FALSE)
$cli_subj = "";
-
+
if (($cli_mesg = gpcs_var('cli_mesg', $get, $post, $cookie)) === FALSE)
$cli_mesg = "";
-
-
$mesg_to_user = "";
-
+
log_wr("INFO:SKIP:argz == mesgtoadm name: [".$user->name."] AUTH: ".$user->is_auth());
if ($user->is_auth()) {
if (($wa_lock = Warrant::lock_data(TRUE)) != FALSE) {
if (($bdb = BriskDB::create()) != FALSE) {
$bdb->users_load();
-
+
if (($ema = $bdb->getmail($user->name)) != FALSE) {
// mail("nastasi",
mail("brisk@alternativeoutput.it", urldecode($cli_subj), urldecode($cli_mesg), sprintf("From: %s <%s>", $user->name, $ema));
}
-
+
if (($fp = @fopen(LEGAL_PATH."/messages.txt", 'a')) != FALSE) {
/* Unix time | session | nickname | IP | where was | mesg */
fwrite($fp, sprintf("%ld|%s|%s|%s\n", $curtime, $user->name,
/* MLANG: "<b>E\' occorso un errore durante il salvataggio, riprova o contatta l\'amministratore.</b>" */
$mesg_to_user = nickserv_msg($dt, $mlang_indwr['commerr'][$G_lang]);
}
-
+
}
else {
/* MLANG: "<b>Per autenticare qualcuno devi a tua volta essere autenticato.</b>" */
$mesg_to_user = nickserv_msg($dt, $mlang_indwr['mesgmust'][$G_lang]);
}
-
+
if ($mesg_to_user != "") {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
-
+
$user->comm[$user->step % COMM_N] .= $mesg_to_user;
$user->step_inc();
}
else if ($argz[0] == 'poll') {
GLOBAL $G_with_poll, $G_poll_name;
- if (($cli_choose = gpcs_var('cli_choose', $get, $post, $cookie)) === FALSE)
+ if (($cli_choose = gpcs_var('cli_choose', $get, $post, $cookie)) === FALSE)
$cli_choose = "";
-
+
if (($cli_poll_name = gpcs_var('cli_poll_name', $get, $post, $cookie)) === FALSE)
$cli_poll_name = "";
$poll_lock = FALSE;
$mesg_to_user = "";
-
+
$fp = FALSE;
$echont = "0";
log_wr("break1");
break;
}
-
+
if ($G_with_poll == FALSE && $G_poll_name != FALSE && $G_poll_name != "") {
$mesg_to_user = show_notify($mlang_indwr['pollnone'][$G_lang], 0, $mlang_indwr['btn_close'][$G_lang], 400, 110);
log_wr("break2");
break;
}
-
+
if ($cli_choose == "" || !isset($cli_choose)) {
$mesg_to_user = show_notify($mlang_indwr['pollchoo'][$G_lang], 0, $mlang_indwr['btn_close'][$G_lang], 400, 110);
log_wr("break2.5");
break;
}
-
+
if (($poll_lock = Poll::lock_data(TRUE)) == FALSE) {
/* MLANG: "<b>E\' occorso un errore durante il salvataggio, riprova o contatta l\'amministratore.</b>" */
$mesg_to_user = nickserv_msg($dt, $mlang_indwr['commerr'][$G_lang]);
log_wr("break3");
break;
}
-
+
if (($fp = @fopen(LEGAL_PATH."/".$G_poll_name.".txt", 'r+')) == FALSE)
$fp = @fopen(LEGAL_PATH."/".$G_poll_name.".txt", 'w+');
-
+
if ($fp == FALSE) {
$mesg_to_user = nickserv_msg($dt, $mlang_indwr['commerr'][$G_lang]);
log_wr("break4");
break;
}
-
+
log_wr("poll: cp");
fseek($fp, 0);
-
+
log_wr("poll: cp2");
while (!feof($fp)) {
log_wr("poll: cp3");
}
}
log_wr("poll: cp4");
-
+
if ($dobreak) {
log_wr("break5");
break;
}
-
+
/* Unix time | nickname | choose */
fwrite($fp, sprintf("%ld|%s|%s\n", $curtime, xcapelt($user->name), xcapelt(urldecode($cli_choose))));
fflush($fp);
$echont = "1";
log_wr("poll: cp5");
} while (0);
-
+
if ($fp != FALSE)
fclose($fp);
-
+
if ($poll_lock != FALSE)
Poll::unlock_data($poll_lock);
-
+
if ($mesg_to_user != "") {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
-
+
$user->comm[$user->step % COMM_N] .= $mesg_to_user;
$user->step_inc();
}
else if ($argz[0] == 'about') {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
$user->comm[$user->step % COMM_N] .= show_notify(str_replace("\n", " ", $G_room_about[$G_lang]), 0, $mlang_indwr['btn_backtotab'][$G_lang], 400, 200);
-
+
log_wr($user->comm[$user->step % COMM_N]);
$user->step_inc();
-
+
}
else if ($argz[0] == 'placing') {
require_once("briskin5/Obj/briskin5.phh");
require_once("briskin5/Obj/placing.phh");
-
+
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
$user->comm[$user->step % COMM_N] .= show_notify_ex(str_replace("\n", " ", placings_show($user)), 0, $mlang_indwr['btn_backtotab'][$G_lang], 800, 600, TRUE, 0);
-
+
log_wr($user->comm[$user->step % COMM_N]);
$user->step_inc();
}
else if ($argz[0] == 'roadmap') {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
$user->comm[$user->step % COMM_N] .= show_notify(str_replace("\n", " ", $G_room_roadmap[$G_lang]), 0, $mlang_indwr['btn_backtotab'][$G_lang], 400, 200);
-
+
log_wr($user->comm[$user->step % COMM_N]);
$user->step_inc();
-
+
}
else if ($argz[0] == 'whysupport') {
$user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
$user->comm[$user->step % COMM_N] .= show_notify(str_replace("\n", " ", $G_room_whysupport[$G_lang]), 0, $mlang_indwr['btn_backtotab'][$G_lang], 400, 200);
-
+
log_wr($user->comm[$user->step % COMM_N]);
$user->step_inc();
-
+
}
else if ($argz[0] == 'chatt') {
$brisk->chatt_send(&$user, xcapemesg($mesg));
log_wr("INFO:SKIP:argz == sitdown && ->the_end == TRUE => ignore request.");
return FALSE;
}
-
+
// Take parameters
$table_idx = (int)$argz[1];
$table = &$brisk->table[$table_idx];
-
+
$not_allowed_msg = "";
if ($G_shutdown) {
$not_allowed_msg = nickserv_msg($dt, $mlang_indwr['shutmsg'][$G_lang]);
$user->step_inc();
return TRUE;
}
-
+
/* TODO: refact to a function */
// if ($user->bantime > $user->laccwr) {
require_once("Obj/hardban.phh");
$user->step_inc();
return TRUE;
}
-
+
if ($table->player_n == PLAYERS_N) {
log_wr("WARN:FSM: Sitdown unreachable, table full.");
return FALSE;
}
-
+
// set new status
$user->subst = "sitdown";
$user->table = $table_idx;
$user->table_pos = $table->user_add($idx);
-
+
log_wr("MOP before");
-
+
if ($table->player_n == PLAYERS_N) {
require_once("briskin5/Obj/briskin5.phh");
log_wr("MOP inall");
-
+
// Start game for this table.
log_wr("Start game!");
//
// START THE SPAWN HERE!!!!
//
-
+
// Create new spawned table
// $bin5_sem = Bin5::lock_data(TRUE, $table_idx);
$table_token = uniqid("");
$brisk->table[$table_idx]->table_token = $table_token;
$brisk->table[$table_idx]->table_start = $curtime;
-
+
$plist = "$table_token|$user->table|$table->player_n";
for ($i = 0 ; $i < $table->player_n ; $i++) {
$plist .= '|'.$brisk->user[$table->player[$i]]->sess;
}
log_legal($curtime, $user->ip, $user, "STAT:CREATE_GAME", $plist);
-
+
log_wr("pre new Bin5");
if (($bin5 = new Bin5($brisk, $table_idx, $table_token, $get, $post, $cookie)) == FALSE)
log_wr("bri create: FALSE");
else
log_wr("bri create: ".serialize($bin5));
-
+
log_wr("pre init table");
// init table
$bin5_table = $bin5->table[0];
for ($i = 0 ; $i < $table->player_n ; $i++) {
$bin5_user_cur = $bin5->user[$i];
$user_cur = $brisk->user[$table->player[$i]];
-
+
$bin5_user_cur->laccwr = $curtime;
$bin5_user_cur->trans_step = $user_cur->step + 1;
$bin5_user_cur->comm[$bin5_user_cur->step % COMM_N] = "";
$bin5_user_cur->step_inc();
$bin5_user_cur->comm[$bin5_user_cur->step % COMM_N] = show_table(&$bin5,&$bin5_user_cur,$bin5_user_cur->step+1,TRUE,FALSE);
$bin5_user_cur->step_inc();
-
+
log_wr("TRY PRESAVE: ".$bin5_user_cur->step." TRANS STEP: ".$bin5_user_cur->trans_step);
-
+
log_wr("Pre if!");
-
+
// ARRAY_POP DISABLED
// // CHECK
while (array_pop($user_cur->comm) != NULL);
-
+
$user_cur->trans_step = $user_cur->step + 1;
$user_cur->comm[$user_cur->step % COMM_N] = sprintf('gst.st_loc++; gst.st=%d; createCookie("table_idx", %d, 24*365, cookiepath); createCookie("table_token", "%s", 24*365, cookiepath); createCookie("lang", "%s", 24*365, cookiepath); xstm.stop(); window.onunload = null ; window.onbeforeunload = null ; document.location.assign("briskin5/index.php");|', $user_cur->step+1, $table_idx, $table_token, $G_lang);
log_wr("TRANS ATTIVATO");
-
+
$user_cur->stat_set('table');
$user_cur->subst = 'asta';
$user_cur->laccwr = $curtime;
}
// change room
$brisk->room_sitdown($user, $table_idx);
-
+
log_wr("MOP finish");
}
else if ($argz[0] == 'logout') {
}
}
}
-
+
return (FALSE);
}
?>
* brisk - room.js
*
* Copyright (C) 2006-2014 Matteo Nastasi
- * mailto: nastasi@alternativeoutput.it
+ * mailto: nastasi@alternativeoutput.it
* matteo.nastasi@milug.org
* web: http://www.alternativeoutput.it
*
*/
-/*
+/*
data = [ [ flags, name ], ... ]
-
-*/
+*/
function state_add(flags, comp)
{
if ((flags & 0xf0000) != 0) {
superst = flags & 0x20000;
if (name != "") {
- supersfx = "_side";
+ supersfx = "_side";
}
switch (superst) {
if (supername != "") {
content += ' <img title="'+supertit+'" class="inline" src="'+supername+'">';
}
-
+
if (name != "") {
content += ' <img title="'+tit+'" class="inline" src="img/'+name+'">';
}
do {
// console.log("wt: "+curtag.tagName);
- if (curtag.tagName.toLowerCase() == "div" ||
+ if (curtag.tagName.toLowerCase() == "div" ||
curtag.tagName.toLowerCase() == "table") {
curtag = curtag.firstChild;
}
else
curtag = null;
} while (curtag != null);
-
+
curtag = tbody.firstChild;
ct = 0;
do {
{
do {
// console.log("wt: "+curtag.tagName);
- if (curtag.tagName.toLowerCase() == "div" ||
+ if (curtag.tagName.toLowerCase() == "div" ||
curtag.tagName.toLowerCase() == "table" ||
curtag.tagName.toLowerCase() == "tbody") {
curtag = curtag.firstChild;
if (1 == 0) {
if (curtag == null)
- alert("outtag == null");
+ alert("outtag == null");
else
alert("outtag: "+curtag.tagName);
}
content += '<td id="'+i+'" class="room_standup">';
content += j_stand_tdcont(data[i]);
content += '</td>';
-
+
if ((i % 4) == 3)
content += '</tr>';
}
if ((i % 4) < 3)
content += '</tr>';
content += '</table>';
-
+
$("standup").innerHTML = content;
standup_data_old = data;
idx_mod = new Array();
arr_mod = new Array();
map_cur = new Array();
-
+
// find removed entries
for (i = 0 ; i < standup_data_old.length ; i++) {
for (e = 0 ; e < data.length ; e++) {
map_add[idx_add_n++] = e;
}
}
-
+
// TODO: qui travaso add in del
i_del = 0;
}
function esco_cb() {
- window.onbeforeunload = null;
- window.onunload = null;
- // nonunload = true;
+ window.onbeforeunload = null;
+ window.onunload = null;
+ // nonunload = true;
act_logout(0);
};
}
}
+function j_check_login(login, ret)
+{
+ if (login.length > 12) {
+ // FIXME LANG
+ ret.ret += (g_lang == 'en' ? "Nickname too long." : "Nickname troppo lungo.");
+ return (false);
+ }
+ var old_c = '', old_ct = 0;
+
+ for (i = 0 ; i < login.length ; i++) {
+ 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];
+ old_ct = 0;
+ }
+ else {
+ if (old_ct > 3) {
+ // FIXME LANG
+ ret.ret = (g_lang == 'en' ? "More than three contiguous '" + old_c + "' not allowed." :
+ "Il nickname contiene più di tre caratteri '" + old_c + "' consecutivi.");
+ return (false);
+ }
+ }
+ old_ct++;
+ continue;
+ }
+ else {
+ // FIXME LANG
+ ret.ret = (g_lang == 'en' ? "Nickname includes not allowed '" + login[i] + "' character." :
+ "Il nickname contiene un carattere '" + login[i] + "' non consentito.");
+ return (false);
+ }
+ }
+
+ return (true);
+}
+
+
+function j_new_apprendice(form)
+{
+ var ret = { ret: '' };
+ var token;
+
+ do {
+ if (j_check_login(form.elements['nameid'].value, ret) == false ||
+ j_check_email(form.elements['emailid'].value, ret) == false) {
+
+ no = new notify(gst, "</br><b>" + ret.ret + "</b></br>", 1, (g_lang == 'en' ? "Close." : "Chiudi."), 280, 100);
+ break;
+ }
+
+ // submit the request
+ token = server_request('mesg', 'apprendice',
+ 'cli_name', encodeURIComponent(form.elements['nameid'].value),
+ 'cli_email', encodeURIComponent(form.elements['emailid'].value),
+ 'cli_lang', g_lang);
+ if (token == "1") {
+ // FIXME LANG
+ $('apprendice_div').style.display = "none";
+ no = new notify(gst, "</br>Richiesta inviata con successo.</br>Riceverai a breve un' e-mail per verificare la correttezza dell'indirizzo.</br>", 1, (g_lang == 'en' ? "Close." : "Chiudi."), 280, 100);
+ }
+ else {
+ no = new notify(gst, "</br>" + token + "</br>", 1, (g_lang == 'en' ? "Close." : "Chiudi."), 280, 100);
+ }
+ } while (0);
+
+ return (false);
+}
+
+
function j_login_manager(form)
{
var token;
/* richiede token */
token = server_request('mesg', 'getchallenge', 'cli_name', encodeURIComponent(form.elements['nameid'].value));
tokens = token.split('|');
-
+
// console.log('XX token: '+token);
// console.log(tokens);
if (token == null)
return (false);
token = calcMD5(tokens[1]+calcMD5(form.elements['passid'].value));
-
+
form.elements['passid_private'].value = token;
form.elements['passid'].value = ""; // FIXME da sost con la stessa len di A
return (true);
}
-
+
return (false);
}
}
-function j_check_email(email)
+function j_check_email(email, ret)
{
- if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))
+ if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,10})+$/.test(email))
return (true);
+ ret.ret += (g_lang == 'en' ? "Invalid email address. " :
+ "Indirizzo e-mail non valido.");
+
return (false);
}
function j_authbox(form)
{
- var no;
+ var no, ret = { "ret": "" };
do {
if (form.elements['realsub'].value == "chiudi") {
break;
}
- if (form.elements['name'].value == '' || j_check_email(form.elements['email'].value) == false) {
+ if (form.elements['name'].value == '' || j_check_email(form.elements['email'].value, ret) == false) {
// MLANG 2-4
- no = new notify(gst,
- (g_lang == 'en' ? "<br><b>nickname</b> and/or <b>e-mail</b> fields are invalid;<br>please, fix them." :
- "<br>I campi <b>nickname</b> e/o <b>e-mail</b> non sono validi;<br> correggeteli per favore."),
- 1, (g_lang == 'en' ? "close" : "chiudi"), 280, 100);
+ no = new notify(gst,
+ (g_lang == 'en' ? "<br><b>" + ret.ret + "</b><br>please, fix." :
+ "<br><b>" + ret.ret + "</b><br>correggere, per favore."),
+ 1, (g_lang == 'en' ? "close" : "chiudi"), 280, 100);
break;
}
// submit the request
- token = server_request('mesg', 'warranty',
+ token = server_request('mesg', 'warranty',
'cli_name', encodeURIComponent(form.elements['name'].value),
'cli_email', encodeURIComponent(form.elements['email'].value) );
if (token == "1") {
function j_mesgtoadmbox(form)
{
- var no;
+ var no;
do {
if (form.elements['realsub'].value == "chiudi") {
if (form.elements['mesg'].value == '' || form.elements['subj'].value == '') {
// MLANG 1-3
no = new notify(gst, (g_lang == 'en' ? "<br><b>subject</b> and the <b>message</b> cannot be void;<br>please, fix them." :
- "<br>Il <b>soggetto</b> e il <b>messaggo</b> non possono essere vuoti;<br>correggeteli per favore."), 1,
- (g_lang == 'en' ? "close" : "chiudi"), 280, 100);
+ "<br>Il <b>soggetto</b> e il <b>messaggo</b> non possono essere vuoti;<br>correggeteli per favore."), 1,
+ (g_lang == 'en' ? "close" : "chiudi"), 280, 100);
break;
}
-
+
// submit the request
- token = server_request('mesg', 'mesgtoadm',
+ token = server_request('mesg', 'mesgtoadm',
'cli_subj', encodeURIComponent(form.elements['subj'].value),
'cli_mesg', encodeURIComponent(form.elements['mesg'].value) );
if (token == "1") {
function j_pollbox(form)
{
- var no, i, choose;
+ var no, i, choose;
do {
// submit the request
-
+
for (i = 0 ; i < form.elements.length ; i++) {
if (form.elements[i].checked == true)
break;
if (i == form.elements.length) {
// MLANG 1-3
no = new notify(gst, (g_lang == 'en' ? "<br>You must choose ah item;<br> please, fix it." :
- "<br>Non hai espresso nessuna preferenza;<br> correggi per favore."), 1,
- (g_lang == 'en' ? "close" : "chiudi"), 280, 100);
+ "<br>Non hai espresso nessuna preferenza;<br> correggi per favore."), 1,
+ (g_lang == 'en' ? "close" : "chiudi"), 280, 100);
return false;
}
else
choose = form.elements[i].value;
- token = server_request('mesg', 'poll',
+ token = server_request('mesg', 'poll',
'cli_choose', encodeURIComponent(choose) );
if (token == "1") {
start: function() {
var instant = this;
-
+
this.st = 'wait';
this.id = setTimeout(function () { instant.sideslide_cb(); }, this.twait);
},
Benvenuto e buone partite, mop.',
'en' => 'EN ptext [%s] [%s]'),
'nu_phtml' => array( 'it' => 'Ciao, sono l\' amministratore del sito di Brisk.<br><br>
-La verifica del tuo indirizzo di posta elettronica e del tuo nickname è andata a buon fine, per accedere al sito d\'ora in poi potrai usare l\' utente \'%s\' e la password \'%s\'.<br>
+La verifica del tuo indirizzo di posta elettronica e del tuo nickname è andata a buon fine.<br><br>Per accedere al sito d\'ora in poi potrai usare l\' utente \'%s\' e la password \'%s\'.<br><br>
Benvenuto e buone partite, mop.<br>',
'en' => 'EN phtml [%s] [%s]')
);
return ($ret);
}
+$s_style = "
+<style>
+ table.the_tab {
+ border-collapse: collapse;
+ margin: 8px;
+ }
+
+ table.the_tab td {
+ border: 1px solid black;
+ padding: 8px;
+ }
+</style>";
+
function main() {
- GLOBAL $G_dbpfx, $G_lang, $G_alarm_passwd, $G_domain, $G_webbase;
+ GLOBAL $s_style, $G_dbpfx, $G_lang, $G_alarm_passwd, $G_domain, $G_webbase;
GLOBAL $mlang_umgmt, $mlang_indwr, $f_mailusers, $sess, $_POST, $_SERVER;
+
$curtime = time();
$status = "";
$is_trans = TRUE;
- if (($bdb->user_update_flag_ty($usr_obj->code,
- USER_FLAG_TY_DISABLE, USER_DIS_REA_NU_ADDED,
- USER_FLAG_TY_DISABLE, USER_DIS_REA_NU_MAILED)) == FALSE) {
+ if (($bdb->user_update_flag_ty($usr_obj->code, USER_FLAG_TY_DISABLE,
+ TRUE, USER_DIS_REA_NU_ADDED,
+ TRUE, USER_DIS_REA_NU_MAILED)) == FALSE) {
echo "fail 2<br>";
break;
}
$confirm_page = sprintf("http://%s/%s/mailmgr.php?f_act=checkmail&f_code=%d&f_hash=%s",
$G_domain, $G_webbase, $mail_code, $hash);
$subj = $mlang_indwr['nu_msubj'][$G_lang];
- $body_txt = sprintf($mlang_indwr['nu_mtext'][$G_lang],
- $usr_obj->guar_login, $usr_obj->login, $confirm_page);
- $body_htm = sprintf($mlang_indwr['nu_mhtml'][$G_lang],
- $usr_obj->guar_login, $usr_obj->login, $confirm_page);
+ if (($usr_obj->type & USER_FLAG_TY_APPR) == USER_FLAG_TY_APPR) {
+ $body_txt = sprintf($mlang_indwr['ap_mtext'][$G_lang],
+ $cli_name, $confirm_page);
+ $body_htm = sprintf($mlang_indwr['ap_mhtml'][$G_lang],
+ $cli_name, $confirm_page);
+ }
+ else {
+ $body_txt = sprintf($mlang_indwr['nu_mtext'][$G_lang],
+ $usr_obj->guar_login, $usr_obj->login, $confirm_page);
+ $body_htm = sprintf($mlang_indwr['nu_mhtml'][$G_lang],
+ $usr_obj->guar_login, $usr_obj->login, $confirm_page);
+ }
$mail_item = new MailDBItem($mail_code, $usr_obj->code, MAIL_TYP_CHECK,
$curtime, $subj, $body_txt, $body_htm, $hash);
$usr_obj->code, ($nocheck ? "" : "CHECKED"),
eschtml($usr_obj->login), eschtml($usr_obj->guar_login), $usr_obj->lintm);
}
+
+
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Brisk: new imported users management.</title>
+ <?php echo "$s_style"; ?>
</head>
<body>
<h2> New imported users management.</h2>
<?php if ($status != "") { echo "$status"; } ?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="POST">
-<table>
+<table class="the_tab">
<?php
echo $tab_lines;
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Brisk: new mailed users management.</title>
+ <?php echo "$s_style"; ?>
</head>
<body>
<h2> New mailed users management.</h2>
<?php if ($status != "") { echo "$status"; } ?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="POST">
-<table>
+<table class="the_tab">
<?php
echo $tab_lines;
?>
WHERE ( (usr.type & (CAST (X'%x' as integer))) = (CAST (X'%x' as integer)) )
AND usr.disa_reas = %d AND usr.code = %d;",
$G_dbpfx, $G_dbpfx,
- USER_FLAG_TY_ALL, USER_FLAG_TY_DISABLE,
+ USER_FLAG_TY_ALL & ~USER_FLAG_TY_APPR, USER_FLAG_TY_DISABLE,
USER_DIS_REA_NU_TOBECHK, $id);
if (($usr_pg = pg_query($bdb->dbconn->db(), $usr_sql)) == FALSE) {
log_crit("stat-day: select from tournaments failed");
break;
}
- if (($bdb->user_update_flag_ty($usr_obj->code,
- USER_FLAG_TY_DISABLE, USER_DIS_REA_NU_TOBECHK,
- USER_FLAG_TY_NORM, USER_DIS_REA_NONE)) == FALSE) {
+ if (($bdb->user_update_flag_ty($usr_obj->code, USER_FLAG_TY_DISABLE,
+ TRUE, USER_DIS_REA_NU_TOBECHK,
+ FALSE, USER_DIS_REA_NONE)) == FALSE) {
echo "fail 2<br>";
break;
}
$body_htm = sprintf($mlang_umgmt['nu_phtml'][$G_lang],
$usr_obj->login, $passwd);
+ log_step(sprintf("[%s], [%s], [%s], [%s]\n", $usr_obj->email, $subj, $body_txt, $body_htm));
+
+
if (brisk_mail($usr_obj->email, $subj, $body_txt, $body_htm) == FALSE) {
+ // if (brisk_mail($usr_obj->email, "Il titolo", "zozozo", "il <b>body</b> fine.") == FALSE) {
// mail error
fprintf(STDERR, "ERROR: mail send FAILED\n");
break;
AND usr.disa_reas = %d
ORDER BY usr.lintm;",
$G_dbpfx, $G_dbpfx,
- USER_FLAG_TY_ALL, USER_FLAG_TY_DISABLE,
+ USER_FLAG_TY_ALL & ~USER_FLAG_TY_APPR, USER_FLAG_TY_DISABLE,
USER_DIS_REA_NU_TOBECHK);
if (($usr_pg = pg_query($bdb->dbconn->db(), $usr_sql)) == FALSE) {
log_crit("stat-day: select from tournaments failed");
}
$usr_n = pg_numrows($usr_pg);
- $tab_lines = "<tr><th></th><th>User</th><th>Guar</th><th>Date</th></tr>";
+ $tab_lines = "<tr><th></th><th>User</th><th>Guar</th><th>Apprendice</th><th>Date</th></tr>";
for ($i = 0 ; $i < $usr_n ; $i++) {
$usr_obj = pg_fetch_object($usr_pg, $i);
- $tab_lines .= sprintf("<tr><td><input name=\"f_newuser%d\" type=\"checkbox\" %s></td><td>%s</td><td>%s</td><td>%s</td></tr>\n",
+ $tab_lines .= sprintf("<tr><td><input name=\"f_newuser%d\" type=\"checkbox\" %s></td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>\n",
$usr_obj->code, ($nocheck ? "" : "CHECKED"),
- eschtml($usr_obj->login), eschtml($usr_obj->guar_login), $usr_obj->lintm);
+ eschtml($usr_obj->login), eschtml($usr_obj->guar_login),
+ ($usr_obj->type & USER_FLAG_TY_APPR ? "Yes" : "No"),
+ $usr_obj->lintm);
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Brisk: email verified user management.</title>
+ <?php echo "$s_style"; ?>
</head>
<body>
<h2> E-mail verified user management.</h2>
<?php if ($status != "") { echo "$status"; } ?>
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="POST">
- <table>
+ <table class="the_tab">
<?php
echo $tab_lines;
?>