X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex.php;h=6ee1d74fc6b53773e161c13af4d371c8a3498d93;hb=ef707202db0efb1094bac1ad7e2f1a656be252c0;hp=1b83470357fdd0ff94ca3c831633d6579d29ac19;hpb=e86d047abebb00ccf034fe09dad1f6da6cc0ce9c;p=brisk.git diff --git a/web/index.php b/web/index.php index 1b83470..6ee1d74 100644 --- a/web/index.php +++ b/web/index.php @@ -2,8 +2,8 @@ /* * brisk - index.php * - * Copyright (C) 2006-2009 Matteo Nastasi - * mailto: nastasi@alternativeoutput.it + * Copyright (C) 2006-2012 Matteo Nastasi + * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it * @@ -20,15 +20,12 @@ * not, write to the Free Software Foundation, Inc, 59 Temple Place - * Suite 330, Boston, MA 02111-1307, USA. * - * $Id$ - * */ require_once("Obj/brisk.phh"); require_once("Obj/auth.phh"); require_once("Obj/proxyscan.phh"); - $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati.', 'en' => 'Wrong user and/or password.'), 'userpassmust' => array('it' => 'Il nickname deve contenere almeno una lettera o una cifra.', @@ -41,13 +38,13 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati 'en' => 'Standing players'), 'headline' => array('it' => 'briscola chiamata in salsa ajax', 'en' => 'declaration briscola in ajax sauce (Beta)'), - 'wellcome' => array('it' => 'Digita il tuo nickname per accedere ai tavoli della briscola', + 'welcome' => array('it' => 'Digita il tuo nickname per accedere ai tavoli della briscola', 'en' => 'Enter your nickname to access to the tables of briscola'), 'btn_enter' => array('it' => 'entra', 'en' => 'enter'), 'passwarn' => array('it' => 'Se non hai ancora una password, lascia il campo in bianco ed entra.', 'en' => 'If you don\'t have a password, leave blank the field and enter.'), - 'browwarn' => array('it' => '(se qualcosa non funziona
prova a ricaricare la pagina con Ctrl + F5)', + 'browwarn' => array('it' => 'Se qualcosa non funziona prova a ricaricare la pagina con Ctrl + F5

Se non riesci più ad entrare nel nuovo Brisk e prima ci riuscivi potrebbe essere un problema di antivirus,
guarda la pagina sugli antivirus per maggiori informazioni su come configurarlo.

Se ancora non funziona nulla contatta l\'amministratore del sito.', 'en' => '(if something don\'t work
try to reload the current page with Ctrl + F5)'), 'regwarn' => array('it' => '
Il nickname che stai usando è già registrato,

se il suo proprietario si autentificherà

verrai rinominato d\'ufficio come ghostN.', 'en' => '
The nickname you are using it\'s already registered,

if its proprietary authenticates

you will named ghostN.'), @@ -55,6 +52,12 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati 'en' => 'back to tables'), 'btn_exit' => array('it' => 'Esco.', 'en' => 'Exit.'), + 'btn_prefs_save' => array('it' => 'Salva.', + 'en' => 'Save.'), + 'btn_prefs_reset' => array('it' => 'Annulla.', + 'en' => 'Reset.'), + 'btn_prefs_close' => array('it' => 'Chiudi.', + 'en' => 'Close.'), 'tit_tabl' => array('it' => 'Tavolo ', 'en' => 'Table '), 'tit_stat' => array('it' => 'imposta lo stato del tuo utente', @@ -79,7 +82,21 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati 'en' => 'present'), 'st_rabb_desc' => array('it' => 'coniglio', 'en' => 'rabbit'), - + 'st_socc_desc' => array('it' => 'calcio', + 'en' => 'soccer'), + 'st_baby_desc' => array('it' => 'pupo', + 'en' => 'baby'), + 'st_mop_desc' => array('it' => 'pulizie', + 'en' => 'mop'), + 'st_babbo_desc' => array('it' => 'babbo', + 'en' => 'mop'), + 'st_renna_desc' => array('it' => 'renna', + 'en' => 'mop'), + 'st_pupaz_desc' => array('it' => 'pupazzo', + 'en' => 'mop'), + 'st_visch_desc' => array('it' => 'vischio', + 'en' => 'mop'), + 'tit_ticker' => array('it' => 'scrivi un invito al tavolo e clicca', 'en' => 'write an invitation at the table and click'), 'itm_warr' => array('it' => 'garantisci', @@ -103,11 +120,29 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati 'listaut_desc' => array('it' => 'leggi soltanto i messaggi degli utenti con password', 'en' => 'listen messages only from authenticated users'), 'listisol_desc'=> array('it' => 'visualizza Brisk come se fosse solo per utenti con password', - 'en' => 'show Brisk like an authenticated user only site'), + 'en' => 'show Brisk like an authenticated user only site'), + 'suppcomp_tit' => array('it' => 'personalizza la tua S', + 'en' => 'customize your S'), + 'suppcomp_r' => array('it' => 'rosso', + 'en' => 'red'), + 'suppcomp_g' => array('it' => 'verde', + 'en' => 'green'), + 'suppcomp_b' => array('it' => 'blu', + 'en' => 'blue'), + 'suppcomp_fg' => array('it' => 'colore', + 'en' => 'color'), + 'suppcomp_bg' => array('it' => 'sfondo', + 'en' => 'background'), + 'suppcomp_range' => array('it' => '(0-255)', + 'en' => '(0-255)'), 'tit_splash' => array('it' => 'splash', 'en' => 'splash'), 'splash_desc' => array('it' => 'attiva la finestra di splash', 'en' => 'show the splash window'), + 'tit_prefs' => array('it' => 'preferenze', + 'en' => 'preferences'), + 'prefs_desc' => array('it' => 'preferenze dell\' utente', + 'en' => 'user\'s preferences'), 'tit_help' => array('it' => 'informazioni utili su Brisk', 'en' => 'usefull information about Brisk'), 'itm_help' => array('it' => 'aiuto', @@ -150,14 +185,18 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati 'en' => 'user\'s placings'), 'itm_cla' => array('it' => 'classifiche', 'en' => 'placings'), + 'tit_mnu' => array('it' => 'minuta giornaliera', + 'en' => 'daily report'), + 'itm_mnu' => array('it' => 'minuta', + 'en' => 'daily deport'), 'tit_rmap' => array('it' => 'prossime funzionalità implementate', 'en' => 'roadmap of next functionalities'), 'itm_rmap' => array('it' => 'roadmap', 'en' => 'roadmap'), - 'tit_meet' => array('it' => 'foto dei raduni di briskisti', + 'tit_meet' => array('it' => 'foto dei raduni di briskisti (serve Facebook)', 'en' => 'photos of brisk meetings'), - 'itm_meet' => array('it' => 'raduni', - 'en' => 'meeting'), + 'itm_meet' => array('it' => 'BriskMeeting', + 'en' => 'BriskMeeting'), 'tit_mesg' => array('it' => 'manda un messaggio o una segnalazione all\'amministratore del sito', 'en' => 'send a message or a signalling to the administrator' ), 'mesgtoadm_tit'=> array('it' => 'Invia un messaggio o una segnalazione all\'amministratore:', @@ -170,18 +209,9 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati 'en' => 'Close.') ); -// Use of proxies isn't allowed. -if (!$G_is_local && is_proxy()) - exit; -require_once("briskin5/Obj/briskin5.phh"); -if (DEBUGGING == "local" && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') { - echo "Debugging time!"; - exit; -} - -log_load("index.php"); +require_once("briskin5/Obj/briskin5.phh"); function poll_dom() { GLOBAL $G_with_poll, $G_poll_title, $G_poll_entries; @@ -207,193 +237,190 @@ function poll_dom() { return ''; } -function main() +function index_main(&$brisk, $transp_type, &$header_out, $addr, $get, $post, $cookie) { - GLOBAL $G_with_donors, $G_donors_cur, $G_donors_all; - GLOBAL $G_with_topbanner, $G_topbanner, $G_is_local; - GLOBAL $G_with_sidebanner, $G_sidebanner; - GLOBAL $G_with_sidebanner2, $G_sidebanner2; - GLOBAL $G_with_poll; - GLOBAL $sess, $name, $pass_private, $table_idx, $table_token, $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER; - GLOBAL $G_lang, $G_lng, $mlang_room; + GLOBAL $G_with_donors, $G_donors_cur, $G_donors_all; + GLOBAL $G_with_topbanner, $G_topbanner, $G_is_local; + GLOBAL $G_with_sidebanner, $G_sidebanner; + GLOBAL $G_with_sidebanner2, $G_sidebanner2; + GLOBAL $G_with_poll; + GLOBAL $G_lang, $G_lng, $mlang_room; + GLOBAL $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER; + + if (($sess = gpcs_var('sess', $get, $post, $cookie)) === FALSE) + $sess = ""; + if (($name = gpcs_var('name', $get, $post, $cookie)) === FALSE) + unset($name); + if (($pass_private = gpcs_var('pass_private', $get, $post, $cookie)) === FALSE) + unset ($pass_private); + if (($table_idx = gpcs_var('table_idx', $get, $post, $cookie)) === FALSE) + unset ($table_idx); + if (($table_token = gpcs_var('table_idx', $get, $post, $cookie)) === FALSE) + unset ($table_token); + + // Use of proxies isn't allowed. + if (!$G_is_local && is_proxy($addr)) { + return FALSE; + } + $is_login = FALSE; $body = ""; $tables = ""; $standup = ""; $ACTION = "login"; - - if (isset($BRISK_SHOWHTML) == FALSE) { - $is_table = FALSE; - $sem = Room::lock_data(); - log_main("lock Room"); - $room = &Room::load_data(); - $curtime = time(); - - /* Actions */ - - if (validate_sess($sess)) { - log_main("pre garbage_manager UNO"); - $room->garbage_manager(TRUE); - log_main("post garbage_manager"); - if (($user = &$room->get_user($sess, &$idx)) != FALSE) { - log_main("user stat: ".$user->stat); - if ($user->stat == "table") { - if (Room::save_data(&$room) == FALSE) { - echo "ERRORE SALVATAGGIO\n"; - exit; - } - log_main("unlock Room"); - Room::unlock_data($sem); - setcookie("table_token", $user->table_token, $curtime + 31536000); - setcookie("table_idx", $user->table, $curtime + 31536000); - header ("Location: briskin5/index.php"); - exit; - } - $ACTION = "room"; - } - if (Room::save_data(&$room) == FALSE) { - echo "ERRORE SALVATAGGIO\n"; - exit; - } - } - - if ($ACTION == "login" && isset($name)) { - - log_main("pre garbage_manager DUE"); - - if (isset($pass_private) == FALSE) { - $pass_private = FALSE; + if (isset($BRISK_SHOWHTML) == FALSE) { + $is_table = FALSE; + log_main("lock Brisk"); + $curtime = time(); + + /* Actions */ + + if (validate_sess($sess)) { + log_main("pre garbage_manager UNO"); + $brisk->garbage_manager(TRUE); + log_main("post garbage_manager"); + if (($user = &$brisk->get_user($sess, &$idx)) != FALSE) { + $brisk->sess_cur_set($user->sess); + log_main("user stat: ".$user->stat); + if ($user->stat == "table") { + $cookies = new Cookies(); + $cookies->add("table_token", $user->table_token, $curtime + 31536000); + $cookies->add("table_idx", $user->table, $curtime + 31536000); + $header_out['cookies'] = $cookies; + $header_out['Location'] = "briskin5/index.php"; + return TRUE; + } + $ACTION = "room"; + } } - $room->garbage_manager(TRUE); - /* try login */ - if (($user = &$room->add_user(&$sess, &$idx, $name, $pass_private, $_SERVER['REMOTE_ADDR'])) != FALSE) { - $ACTION = "room"; - if ($idx < 0) { - $idx = -$idx - 1; - $is_login = TRUE; - } - - log_legal($curtime, $user, "STAT:LOGIN", ''); - - // recovery lost game - if ($user->stat == "table") { - if (Room::save_data(&$room) == FALSE) { - echo "ERRORE SALVATAGGIO\n"; - exit; - } - log_main("unlock Room"); - Room::unlock_data($sem); - setcookie("table_token", $user->table_token, $curtime + 31536000); - setcookie("table_idx", $user->table, $curtime + 31536000); - header ("Location: briskin5/index.php"); - exit; - } - - - // setcookie ("sess", "", time() + 180); - $room->standup_update(&$user); - - if (Room::save_data(&$room) == FALSE) { - echo "ERRORE SALVATAGGIO\n"; - exit; - } + if ($ACTION == "login" && isset($name)) { + log_main("pre garbage_manager DUE"); + + if (isset($pass_private) == FALSE) { + $pass_private = FALSE; + } + + $brisk->garbage_manager(TRUE); + /* try login */ + + $ipv4addr = addrtoipv4($addr); + if (($user = $brisk->add_user(&$sess, &$idx, $name, $pass_private, $ipv4addr, $cookie)) != FALSE) { + $brisk->sess_cur_set($user->sess); + $ACTION = "room"; + if ($idx < 0) { + $idx = -$idx - 1; + $is_login = TRUE; + } + + log_legal($curtime, $ipv4addr, $user, "STAT:LOGIN", ''); + + // recovery lost game + if ($user->stat == "table") { + $cookies = new Cookies(); + $cookies->add("table_token", $user->table_token, $curtime + 31536000); + $cookies->add("table_idx", $user->table, $curtime + 31536000); + $header_out['cookies'] = $cookies; + $header_out['Location'] = "briskin5/index.php"; + return TRUE; + } + + // setcookie ("sess", "", time() + 180); + $brisk->standup_update(&$user); + } + else { + /* Login Rendering */ + /* MLANG: "Utente e/o password errati.", "Il nickname deve contenere almeno una lettera o una cifra.", "Spiacenti, non ci sono più posti liberi. Riprova più tardi.", "Il tuo nickname è già in uso." */ + /* + if ($idx == -3) + $body .= '
'.$mlang_room['userpasserr'][$G_lang].'
'; + else if ($idx == -2) + // $body .= '
Il nickname deve contenere almeno una lettera o una cifra.
'; + $body .= '
'.$mlang_room['userpassmust'][$G_lang].'
'; + else if ($idx == -1) + // $body .= '
Spiacenti, non ci sono più posti liberi. Riprova più tardi.
'; + $body .= '
'.$mlang_room['userpassend'][$G_lang].'
'; + else + // $body .= '
Il tuo nickname è già in uso.
'; + $body .= '
'.$mlang_room['userpassuse'][$G_lang].'
'; + */ + + if ($idx == -3) + $sfx = 'err'; + else if ($idx == -2) + $sfx = 'must'; + else if ($idx == -1) + $sfx = 'end'; + else + $sfx = 'use'; + + $body .= '
'.$mlang_room['userpass'.$sfx][$G_lang].'
'; + } } - else { - /* Login Rendering */ - /* MLANG: "Utente e/o password errati.", "Il nickname deve contenere almeno una lettera o una cifra.", "Spiacenti, non ci sono più posti liberi. Riprova più tardi.", "Il tuo nickname è già in uso." */ - /* - if ($idx == -3) - $body .= '
'.$mlang_room['userpasserr'][$G_lang].'
'; - else if ($idx == -2) - // $body .= '
Il nickname deve contenere almeno una lettera o una cifra.
'; - $body .= '
'.$mlang_room['userpassmust'][$G_lang].'
'; - else if ($idx == -1) - // $body .= '
Spiacenti, non ci sono più posti liberi. Riprova più tardi.
'; - $body .= '
'.$mlang_room['userpassend'][$G_lang].'
'; - else - // $body .= '
Il tuo nickname è già in uso.
'; - $body .= '
'.$mlang_room['userpassuse'][$G_lang].'
'; - */ - - if ($idx == -3) - $sfx = 'err'; - else if ($idx == -2) - $sfx = 'must'; - else if ($idx == -1) - $sfx = 'end'; - else - $sfx = 'use'; - - $body .= '
'.$mlang_room['userpass'.$sfx][$G_lang].'
'; - } - } - Room::unlock_data($sem); } /* Rendering. */ if ($BRISK_SHOWHTML == "debugtable") { - $ACTION = "room"; + $ACTION = "room"; } else if ($BRISK_SHOWHTML == "debuglogin") { - $ACTION = "login"; + $ACTION = "login"; } if ($ACTION == "room") { - $tables .= '
'; - $tables .= ''; - for ($ii = 0 ; $ii < TABLES_N ; $ii++) { - if ($user->flags & USER_FLAG_AUTH) + $tables .= '
'; + $tables .= '
'; + for ($ii = 0 ; $ii < TABLES_N ; $ii++) { + if ($user->flags & USER_FLAG_AUTH) $i = $ii; - else - $i = TABLES_N - $ii - 1; - - if ($ii % 4 == 0) { - $tables .= ''; + else + $i = TABLES_N - $ii - 1; + + if ($ii % 4 == 0) { + $tables .= ''; + } + if (TRUE || !($user->flags & USER_FLAG_ISOLAUTH) || $ii < TABLES_AUTH_N) { + $tables .= ''."\n"; + } + if ($ii % 4 == 3) { + $tables .= ''; + } } - if (TRUE || !($user->flags & USER_FLAG_ISOLAUTH) || $ii < TABLES_AUTH_N) { - $tables .= ''."\n"; - } - if ($ii % 4 == 3) { - $tables .= ''; - } - } - $tables .= '
'; + + $tables .= '
'.$mlang_room['tit_tabl'][$G_lang].$i.'
'; + $tables .= sprintf('
', $i); + $tables .= sprintf('
', $i); + $tables .= '
'; + $tables .= '
'; - - $tables .= '
'.$mlang_room['tit_tabl'][$G_lang].$i.'
'; - $tables .= sprintf('
', $i); - $tables .= sprintf('
', $i); - $tables .= '
'; - $tables .= '
'; - - - $standup .= '
'; - $standup .= '
'; - /* MLANG: "Giocatori in piedi" */ - // $standup .= '
Giocatori in piedi - Come ottenere user e password -
'; - $standup .= '
'.$mlang_room['standing'][$G_lang].'
'; - - $standup .= sprintf('
'); - // MLANG Esco. - $standup .= '
'; - $standup .= '
'; + $tables .= ''; + + $standup .= '
'; + $standup .= '
'; + /* MLANG: "Giocatori in piedi" */ + // $standup .= '
Giocatori in piedi - Come ottenere user e password -
'; + $standup .= '
'.$mlang_room['standing'][$G_lang].'
'; + + $standup .= sprintf('
'); + // MLANG Esco. + $standup .= '
'; + $standup .= '
'; } - + $altout_sponsor_arr = array( array ( 'id' => 'btn_altout', - 'url' => 'http://www.alternativeoutput.it', - 'content' => 'img/altout80x15.png', - 'content_big' => 'img/logotxt_banner.png'), - array ( 'id' => 'btn_virtualsky', - 'url' => 'http://virtualsky.alternativeoutput.it', - 'content' => 'img/virtualsky80x15a.gif', - 'content_big' => 'img/virtualsky_big.png'), - array ( 'id' => 'btn_dynamica', - 'url' => 'http://www.dynamica.it', - 'content' => 'img/dynamica.png', - 'content_big' => 'img/dynamica_big.png') - ); - + 'url' => 'http://www.alternativeoutput.it', + 'content' => 'img/altout80x15.png', + 'content_big' => 'img/logotxt_banner.png'), + array ( 'id' => 'btn_virtualsky', + 'url' => 'http://virtualsky.alternativeoutput.it', + 'content' => 'img/virtualsky80x15a.gif', + 'content_big' => 'img/virtualsky_big.png'), + array ( 'id' => 'btn_dynamica', + 'url' => 'http://www.dynamica.it', + 'content' => 'img/dynamica.png', + 'content_big' => 'img/dynamica_big.png') + ); + $altout_support_arr = array( array ( 'id' => 'btn_brichi', 'url' => 'http://www.briscolachiamata.it', 'content' => 'img/brichi.png', @@ -401,57 +428,64 @@ function main() array ( 'id' => 'btn_foroli', 'url' => 'http://www.forumolimpia.it', 'content' => 'img/forumolimpia.gif', - 'content_big' => 'img/forumolimpia_big.png' ) ); - - - + 'content_big' => 'img/forumolimpia_big.png' ), + array ( 'id'=> 'btn_niini', + 'url' => 'http://www.niinivirta.it', + 'content' => 'img/niinivirta.png', + 'content_big' => 'img/niinivirta_big.png') ); + + + $altout_support = ""; $altout_support_big = ""; - for ($i = 0 ; $i < 3 ; $i++) { - $ii = ($i < 2 ? $i : 0); - - $altout_support .= sprintf('
', - $i * 20, $altout_support_arr[$ii]['url'], - $altout_support_arr[$ii]['id'], $altout_support_arr[$ii]['content']); - - $altout_support_big .= sprintf('', - $altout_support_arr[$ii]['id'], $altout_support_arr[$ii]['content_big']); + for ($i = 0 ; $i < 4 ; $i++) { + $ii = ($i < 3 ? $i : 0); + + $altout_support .= sprintf('
', + $i * 20, $altout_support_arr[$ii]['url'], + $altout_support_arr[$ii]['id'], $altout_support_arr[$ii]['content']); + + $altout_support_big .= sprintf('', + $altout_support_arr[$ii]['id'], $altout_support_arr[$ii]['content_big']); } - - + + // seed with microseconds since last "whole" second // srand ((double) microtime() * 1000000); // $randval = rand(0,count($altout_sponsor_arr)-1); $altout_sponsor = ""; $altout_sponsor_big = ""; for ($i = 0 ; $i < 4 ; $i++) { - $ii = ($i < 3 ? $i : 0); - - $altout_sponsor .= sprintf('
', - $i * 20, $altout_sponsor_arr[$ii]['url'], - $altout_sponsor_arr[$ii]['id'], $altout_sponsor_arr[$ii]['content']); - - $altout_sponsor_big .= sprintf('', + $ii = ($i < 3 ? $i : 0); + + $altout_sponsor .= sprintf('
', + $i * 20, $altout_sponsor_arr[$ii]['url'], + $altout_sponsor_arr[$ii]['id'], $altout_sponsor_arr[$ii]['content']); + + $altout_sponsor_big .= sprintf('', $altout_sponsor_arr[$ii]['id'], $altout_sponsor_arr[$ii]['content_big']); } + + + + /* NOTE: Brisk donate or donate fake if local */ + if (!$G_is_local) + $brisk_donate = file_get_contents(FTOK_PATH."/brisk_donate.txt"); + else + $brisk_donate = '
BRISK_DONATE
'; - - - - - $brisk_donate = file_get_contents(FTOK_PATH."/brisk_donate.txt"); if ($brisk_donate == FALSE) - $brisk_donate = ""; - - + $brisk_donate = ""; + + /* MLANG: "briscola chiamata in salsa ajax", */ - -$brisk_header_form = '
- -