X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex_wr.php;h=bdf5741a4c535ad0ff6555632077c998f9e8ce0e;hb=fab43428bee37a9a8f1a2955d27a5da38f3b02ed;hp=1bcd462562b80efbf37bd8a324d210dfc724f6f7;hpb=132f0aa5741fd4a1cf0016bf859d685d75bd249b;p=brisk.git diff --git a/web/index_wr.php b/web/index_wr.php index 1bcd462..bdf5741 100644 --- a/web/index_wr.php +++ b/web/index_wr.php @@ -2,7 +2,7 @@ /* * brisk - index_wr.php * - * Copyright (C) 2006-2008 Matteo Nastasi + * Copyright (C) 2006-2009 Matteo Nastasi * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it @@ -27,7 +27,6 @@ require_once("Obj/brisk.phh"); require_once("Obj/auth.phh"); // require_once("Obj/proxyscan.phh"); -require_once("briskin5/Obj/briskin5.phh"); // Use of proxies isn't allowed. // if (is_proxy()) { @@ -53,7 +52,7 @@ if (array_search($_SERVER['REMOTE_ADDR'], $G_black_list) !== FALSE) { $is_spawn = FALSE; -log_wr('COMM: '.$mesg); +log_wr('COMM: '.xcapemesg($mesg)); $sem = Room::lock_data(); if (($room = &Room::load_data()) == FALSE) { @@ -64,9 +63,10 @@ if (($room = &Room::load_data()) == FALSE) { } if (($user = &$room->get_user($sess, &$idx)) == FALSE) { Room::unlock_data($sem); - $argz = explode('|', $mesg); + $argz = explode('|', xcapemesg($mesg)); if ($argz[0] == 'getchallenge') { + GLOBAL $cli_name; if (($a_sem = Challenges::lock_data()) != FALSE) { log_main("chal lock data success"); @@ -77,7 +77,7 @@ if (($user = &$room->get_user($sess, &$idx)) == FALSE) { // echo '2|'.$argz[1].'|'.$token.'|'.$_SERVER['REMOTE_ADDR'].'|'.$curtime.'|'; // exit; - if (($login_new = validate_name($argz[1])) != FALSE) { + if (($login_new = validate_name(urldecode($cli_name))) != FALSE) { if ($chals->add($login_new, $token, $_SERVER['REMOTE_ADDR'], $curtime) != FALSE) { echo '0|'.$token; } @@ -101,11 +101,15 @@ if (($user = &$room->get_user($sess, &$idx)) == FALSE) { printf("challenge|ok"); } else if ($argz[0] == 'help') { + /* MLANG: "torna ai tavoli" */ echo show_notify(str_replace("\n", " ", $G_room_help), 0, "torna ai tavoli", 600, 500); } else if ($argz[0] == 'about') { echo show_notify(str_replace("\n", " ", $G_room_about), 0, "torna ai tavoli", 400, 200); } + else if ($argz[0] == 'passwdhowto') { + echo show_notify(str_replace("\n", " ", $G_room_passwdhowto), 0, "torna ai tavoli", 400, 200); + } else if ($argz[0] == 'roadmap') { echo show_notify(str_replace("\n", " ", $G_room_roadmap), 0, "torna ai tavoli", 400, 200); } @@ -118,7 +122,7 @@ if (($user = &$room->get_user($sess, &$idx)) == FALSE) { } exit; } -$argz = explode('|', $mesg); +$argz = explode('|', xcapemesg($mesg)); log_wr('POSTSPLIT: '.$argz[0]); @@ -132,9 +136,93 @@ if ($argz[0] == 'shutdown') { $room->room_wakeup(&$user); else if ($user->subst == 'standup') $room->room_outstandup(&$user); - else + else { log_rd2("SHUTDOWN FROM WHAT ???"); + } +} +else if ($argz[0] == 'warranty') { + GLOBAL $cli_name, $cli_email; + + $curtime = time(); + $mesg_to_user = ""; + + log_wr("INFO:SKIP:argz == warranty name: [".$cli_name."] AUTH: ".($user->flags & USER_FLAG_AUTH)); + if ($user->flags & USER_FLAG_AUTH) { + if (($wa_lock = Warrant::lock_data()) != FALSE) { + if (($fp = @fopen(LEGAL_PATH."/warrant.txt", 'a')) != FALSE) { + /* Unix time | session | nickname | IP | where was | mesg */ + fwrite($fp, sprintf("%ld|%s|%s|%s|\n", $curtime, $user->name, xcapelt(urldecode($cli_name)), xcapelt(urldecode($cli_email)))); + fclose($fp); + } + Warrant::unlock_data($wa_lock); + $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; + /* MLANG: "
Il nominativo è stato inoltrato all\'amministratore.

Nell\'arco di pochi giorni vi verrà

notificata l\'avvenuta registrazione." */ + $user->comm[$user->step % COMM_N] .= show_notify("
Il nominativo è stato inoltrato all\'amministratore.

Nell\'arco di pochi giorni vi verrà

notificata l\'avvenuta registrazione.", 0, "chiudi", 400, 150); + $user->step_inc(); + echo "1"; + } + else { + /* MLANG: "E\' occorso un errore durante il salvataggio, riprova o contatta l\'amministratore." */ + $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"E\' occorso un errore durante il salvataggio, riprova o contatta l\'amministratore.");', $dt, NICKSERV); + } + + } + else { + /* MLANG: "Per autenticare qualcuno devi a tua volta essere autenticato." */ + $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"Per autenticare qualcuno devi a tua volta essere autenticato.");', $dt, NICKSERV); + } + + if ($mesg_to_user != "") { + $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; + + $dt = date("H:i ", $curtime); + $user->comm[$user->step % COMM_N] .= $mesg_to_user; + $user->step_inc(); + } } +else if ($argz[0] == 'mesgtoadm') { + GLOBAL $cli_subj, $cli_mesg; + + $curtime = time(); + $mesg_to_user = ""; + + log_wr("INFO:SKIP:argz == mesgtoadm name: [".$cli_name."] AUTH: ".($user->flags & USER_FLAG_AUTH)); + if ($user->flags & USER_FLAG_AUTH) { + if (($wa_lock = Warrant::lock_data()) != FALSE) { + 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, + xcapelt(urldecode($cli_subj)), xcapelt(urldecode($cli_mesg)))); + fclose($fp); + } + Warrant::unlock_data($wa_lock); + $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; + /* MLANG: "" */ + $user->comm[$user->step % COMM_N] .= show_notify("

Il messaggio è stato inoltrato all\'amministratore.", 0, "chiudi", 400, 110); + $user->step_inc(); + echo "1"; + } + else { + /* MLANG: "E\' occorso un errore durante il salvataggio, riprova o contatta l\'amministratore." */ + $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"E\' occorso un errore durante il salvataggio, riprova o contatta per mail l\'amministratore.");', $dt, NICKSERV); + } + + } + else { + /* MLANG: "Per autenticare qualcuno devi a tua volta essere autenticato." */ + $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"Per mandare messaggi all\'amministratore devi essere autenticato.");', $dt, NICKSERV); + } + + if ($mesg_to_user != "") { + $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; + + $dt = date("H:i ", $curtime); + $user->comm[$user->step % COMM_N] .= $mesg_to_user; + $user->step_inc(); + } +} + + /****************** * * * STAT: room * @@ -150,6 +238,14 @@ else if ($user->stat == 'room') { log_wr($user->comm[$user->step % COMM_N]); $user->step_inc(); + } + else if ($argz[0] == 'passwdhowto') { + $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; + $user->comm[$user->step % COMM_N] .= show_notify(str_replace("\n", " ", $G_room_passwdhowto), 0, "torna ai tavoli", 600, 500); + + log_wr($user->comm[$user->step % COMM_N]); + $user->step_inc(); + } else if ($argz[0] == 'about') { $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; @@ -176,7 +272,7 @@ else if ($user->stat == 'room') { } else if ($argz[0] == 'chatt') { - $room->chatt_send(&$user,$mesg); + $room->chatt_send(&$user, xcapemesg($mesg)); } /********************** * * @@ -205,6 +301,7 @@ else if ($user->stat == 'room') { $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; $dt = date("H:i ", $curtime); + /* MLANG: "Il server sta per essere riavviato, non possono avere inizio nuove partite.", "Il tavolo a cui volevi sederti richiede autentifica.", "Il tavolo si è appena liberato, ci si potrà sedere tra %d secondi." */ if ($G_shutdown) { $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, "%s"],"Il server sta per essere riavviato, non possono avere inizio nuove partite.");', $dt, NICKSERV); } @@ -221,10 +318,19 @@ else if ($user->stat == 'room') { } /* TODO: refact to a function */ - if ($user->bantime > $user->laccwr) { + // if ($user->bantime > $user->laccwr) { + require_once("Obj/hardban.phh"); + + if (($bantime = Hardbans::check(($user->flags & USER_FLAG_AUTH ? $user->name : FALSE), + $user->ip, $user->sess)) != -1) { $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; - $user->comm[$user->step % COMM_N] .= show_notify("
Ti sei alzato da un tavolo senza il consenso degli altri giocatori. Dovrai aspettare ancora ".secstoword($user->bantime - $user->laccwr)." prima di poterti sedere nuovamente.", 2000, "resta in piedi.", 400, 100); - + /* MLANG: "
Ti sei alzato da un tavolo senza il consenso degli altri giocatori.

Dovrai aspettare ancora ".secstoword($user->bantime - $user->laccwr)." prima di poterti sedere nuovamente.", "resta in piedi.", "
Tu o qualcuno col tuo stesso indirizzo IP si è alzato da un tavolo senza il consenso degli altri giocatori.

Dovrai aspettare ancora ".secstoword($bantime - $user->laccwr)." prima di poterti sedere nuovamente.

Se non sei stato tu ad alzarti e possiedi un login con password, autenticandoti con quello, potrai accedere." */ + if ($user->flags & USER_FLAG_AUTH) { + $user->comm[$user->step % COMM_N] .= show_notify("
Ti sei alzato da un tavolo senza il consenso degli altri giocatori.

Dovrai aspettare ancora ".secstoword($user->bantime - $user->laccwr)." prima di poterti sedere nuovamente.", 2000, "resta in piedi.", 400, 100); + } + else { + $user->comm[$user->step % COMM_N] .= show_notify("
Tu o qualcuno col tuo stesso indirizzo IP si è alzato da un tavolo senza il consenso degli altri giocatori.

Dovrai aspettare ancora ".secstoword($bantime - $user->laccwr)." prima di poterti sedere nuovamente.

Se non sei stato tu ad alzarti e possiedi un login con password, autenticandoti con quello, potrai accedere.", 2000, "resta in piedi.", 400, 180); + } $user->step_inc(); Room::save_data($room); Room::unlock_data($sem); @@ -245,6 +351,7 @@ else if ($user->stat == 'room') { 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. @@ -266,7 +373,7 @@ else if ($user->stat == 'room') { for ($i = 0 ; $i < $table->player_n ; $i++) { $plist .= '|'.$room->user[$table->player[$i]]->sess; } - log_legal($curtime, $user->sess, $user->name, "STAT:CREATE_GAME", $plist); + log_legal($curtime, $user, "STAT:CREATE_GAME", $plist); if (($bri =& new Briskin5(&$room, $table_idx, $table_token)) == FALSE) log_wr("bri create: FALSE"); @@ -280,6 +387,10 @@ else if ($user->stat == 'room') { // // Init spawned users. // + require_once('briskin5/Obj/briskin5.phh'); + // + // MULTIGAME: here init of selected game instead of hardcabled briskin5 init (look subst status) + // for ($i = 0 ; $i < $table->player_n ; $i++) { $bri_user_cur = &$bri->user[$i]; $user_cur = &$room->user[$table->player[$i]]; @@ -304,7 +415,7 @@ else if ($user->stat == 'room') { while (array_pop($user_cur->comm) != NULL); $ret = ""; - $ret .= sprintf('gst.st_loc++; gst.st=%d; createCookie("table_idx", %d, 24*365, cookiepath); createCookie("table_token", "%s", 24*365, cookiepath); the_end=true; window.onunload = null ; window.onbeforeunload = null ; document.location.assign("briskin5/index.php");|', $user_cur->step+1, $table_idx, $table_token); + $ret .= 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); the_end=true; window.onunload = null ; window.onbeforeunload = null ; document.location.assign("briskin5/index.php");|', $user_cur->step+1, $table_idx, $table_token, $G_lang); $user_cur->comm[$user_cur->step % COMM_N] = $ret; $user_cur->trans_step = $user_cur->step + 1;