array('it' => 'Il tuo nickname è già in uso.', 'en' => 'Your nickname is already in use.'), 'userpassend' => array('it' => 'Spiacenti, non ci sono più posti liberi. Riprova più tardi.', 'en' => 'We are sorry, there aren\'t free place. Try again later.'), 'userpassmust' => array('it' => 'Il nickname deve contenere almeno una lettera o una cifra.', 'en' => 'The nickname have to contain at least one letter or one number.'), 'userpasserr' => array('it' => 'Utente e/o password errati.', 'en' => 'Wrong user and/or password.'), 'userpassban' => array('it' => 'Il tuo indirizzo IP è stato bannato perché precedentemente utilizzato da qualche molestatore.', 'en' => 'Your IP address is banned because trolling activity was detected from it.'), 'standing' => array('it' => 'Giocatori in piedi', 'en' => 'Standing players'), 'headline' => array('it' => 'briscola chiamata in salsa ajax', 'en' => 'declaration briscola in ajax sauce (Beta)'), 'welcome' => array('it' => 'Digita il tuo nickname per accedere ai tavoli della briscola.', 'en' => 'Enter your nickname to access to the tables of briscola.'), 'reas_unkn' => array('it' => 'Logout per motivi sconosciuti.', 'en' => 'Logout with unknown reason.'), 'reas_lout' => array('it' => 'Orevoire.', 'en' => 'EN Orevoire.'), 'reas_tout' => array('it' => 'Abbiamo perso le tue tracce, quindi ti abbiamo disconnesso.', 'en' => 'EN Abbiamo perso le tue tracce, quindi ti abbiamo disconnesso.'), 'reas_ttot' => array('it' => 'Abbiamo perso le tue tracce mentre stavi giocando, quindi ti abbiamo disconnesso.', 'en' => 'EN Abbiamo perso le tue tracce mentre stavi giocando, quindi ti abbiamo disconnesso.'), 'reas_anon' => array('it' => 'L\' accesso attraverso sistemi di anonimizzazione non è consentito.', 'en' => 'EN L\' accesso attraverso sistemi di anonimizzazione non è consentito.'), 'reas_prox' => array('it' => 'L\' accesso attraverso proxy non è consentito, se lo usi solo tu e pochi altri utenti comunica il suo indirizzo IP all\' amministratore per aggiungerlo alle eccezioni.', 'en' => 'EN L\' accesso attraverso proxy non è consentito, se lo usi solo tu e pochi altri utenti comunica il suo indirizzo IP all\' amministratore per aggiungerlo alle eccezioni.'), 'reas_anot' => array('it' => 'La tua sessione è stata assegnata ad un altro browser.', 'en' => 'EN La tua sessione è stata assegnata ad un altro browser.'), 'reas_cloud' => array('it' => 'La connessione dai computer di una cloud non è ammessa.', 'en' => 'Connection from cloud computers is not allowed.'), '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

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.'), 'btn_rettabs' => array('it' => 'torna ai tavoli', 'en' => 'back to tables'), 'btn_exit' => array('it' => 'Esco.', 'en' => 'Exit.'), 'btn_save' => array('it' => 'Salva.', 'en' => 'Save.'), 'btn_reset' => array('it' => 'Annulla.', 'en' => 'Reset.'), 'btn_close' => array('it' => 'Chiudi.', 'en' => 'Close.'), 'btn_send' => array('it' => 'Invia.', 'en' => 'Send.'), 'tit_tabl' => array('it' => 'Tavolo ', 'en' => 'Table '), 'tit_stat' => array('it' => 'imposta lo stato del tuo utente', 'en' => 'set the status of the user'), 'stat_desc' => array('it' => 'stato', 'en' => 'mode' ), 'st_norm_desc' => array('it' => 'normale', 'en' => 'normal'), 'st_paus_desc' => array('it' => 'pausa', 'en' => 'pause'), 'st_out_desc' => array('it' => 'fuori', 'en' => 'out'), 'st_dog_desc' => array('it' => 'cane', 'en' => 'dog'), 'st_food_desc' => array('it' => 'cibo', 'en' => 'food'), 'st_work_desc' => array('it' => 'lavoro', 'en' => 'work'), 'st_smok_desc' => array('it' => 'sigaretta', 'en' => 'smoke'), 'st_pres_desc' => array('it' => 'presente', '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', 'en' => 'guarantee'), 'warr_desc' => array('it' => 'garantisci per un tuo conoscente', 'en' => 'guarantee for a friend'), 'tit_warr' => array('it' => 'Garantisci per un tuo conoscente.', 'en' => 'Guarantee for a friend.'), 'itm_list' => array('it' => 'ascolta', 'en' => 'listen'), 'list_desc' => array('it' => 'imposta le regole di ascolto', 'en' => 'set the listen rules'), 'tit_listall' => array('it' => 'tutti', 'en' => 'everybody'), 'listall_desc' => array('it' => 'leggi tutti i messaggi di tutti gli utenti collegati', 'en' => 'listen all messages from each user connected'), 'tit_listaut' => array('it' => 'solo autenticati', 'en' => 'only authorized'), 'tit_listisol' => array('it' => 'isolamento', 'en' => 'isolation'), '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'), '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', 'en' => 'help'), 'tit_hpage' => array('it' => 'homepage del progetto', 'en' => 'project homepage (ita)'), 'tit_what' => array('it' => 'di cosa si tratta', 'en' => 'what is the project'), 'itm_what' => array('it' => 'cos\'è', 'en' => 'what is it'), 'url_rules' => array('it' => 'http://it.wikipedia.org/wiki/Briscola#Gioco_a_5', 'en' => 'http://it.wikipedia.org/wiki/Briscola#Gioco_a_5&EN=true'), 'itm_rules' => array('it' => 'regole', 'en' => 'rules'), 'tit_rules' => array('it' => 'come si gioca', 'en' => 'how to play'), 'tit_shot' => array('it' => 'screenshots dell\'applicazione', 'en' => 'screenshots of the web-application'), 'tit_comp' => array('it' => 'compatibilità con i browser', 'en' => 'browsers compatibility'), 'itm_comp' => array('it' => 'compatibilità', 'en' => 'compatibility'), 'tit_src' => array('it' => 'sorgenti dell\'applicazione web', 'en' => 'sources of the web-application'), 'itm_src' => array('it' => 'sorgenti', 'en' => 'sources'), 'tit_ml' => array('it' => 'come iscriversi alla mailing list', 'en' => 'how to subscribe the mailing list'), 'itm_ml' => array('it' => 'mailing list', 'en' => 'mailing list'), 'tit_pro' => array('it' => 'come fare pubblicità a Brisk!', 'en' => 'how to spread Brisk!'), 'itm_pro' => array('it' => 'propaganda', 'en' => 'propaganda'), 'tit_mail' => array('it' => 'contatti', 'en' => 'contacts'), 'itm_mail' => array('it' => 'contatti', 'en' => 'contacts'), 'tit_cook' => array('it' => 'policy sui cookie', 'en' => 'cookie policy'), 'itm_cook' => array('it' => 'cookie', 'en' => 'cookie'), 'tit_cla' => array('it' => 'classifiche degli utenti', '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 (serve Facebook)', 'en' => 'photos of brisk meetings'), '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:', 'en' => 'Send a message to the administrator:'), 'mesgtoadm_sub'=> array('it' => 'soggetto:', 'en' => 'subject:'), 'info_login' => array('it' => 'Utente', 'en' => 'User'), 'info_status' => array('it' => 'Stato', 'en' => 'Status'), 'info_status_tit' => array('it' => 'Stato dell\' utente.', 'en' => 'User status.'), 'info_guar' => array('it' => 'Garante', 'en' => 'Guarantee'), 'info_match' => array('it' => 'Partite', 'en' => 'Matches'), 'info_match_tit' => array('it' => 'Partite giocate ai tavoli riservati.', 'en' => 'Matches played at reserved tables.'), 'info_party' => array('it' => 'Party', 'en' => 'Party'), 'info_party_tit' => array('it' => 'Bravura calcolata in base ad amici, agli amici fidati e agli amici degli amici fidati in base alla credibilità degli amici fidati.', 'en' => 'Skill calculated with party rules.'), 'info_game' => array('it' => 'Mani', 'en' => 'Hands'), 'info_game_tit' => array('it' => 'Mani giocate ai tavoli riservati.', 'en' => 'Hands played at reserved tables.'), 'info_frie' => array('it' => 'Conoscenza:', 'en' => 'Friendship:'), 'info_repfrie' => array('it' => 'Cosa ne pensano gli amici', 'en' => 'Friends reputation'), 'info_repbff' => array('it' => 'Cosa ne pensano gli amici fidati', 'en' => 'Best friends reputation'), 'info_skill' => array('it' => 'Bravura', 'en' => 'Skill') ); require_once("briskin5/Obj/briskin5.phh"); function poll_dom() { GLOBAL $G_with_poll, $G_poll_title, $G_poll_entries; if ($G_with_poll) { $ret = sprintf('
'); return ($ret); } else return ''; } function sidebanners_init($sidebanner_idx) { for ($i = 0 ; $i < count($sidebanner_idx) ; $i++) { printf(" sidebanner_init(%d);\n", $i); } } function sidebanners_render($sidebanner, $sidebanner_idx) { $sb_n = count($sidebanner_idx); if ($sb_n == 0) { return; } if ($sb_n == 1) { printf("

"); } for ($i = 0 ; $i < $sb_n ; $i++) { $idx = $sidebanner_idx[$i]; $sb = $sidebanner[$idx]; if (!array_key_exists('link', $sb) || !array_key_exists('title', $sb) || !array_key_exists('icon_big', $sb)) { continue; } $sb_type = (array_key_exists('type', $sb) ? $sb['type'] : 'meeting'); if (array_key_exists('icon', $sb)) { $sb_icon = $sb['icon']; } else { if ($sb_type == 'meeting') { if ($sb_n < 3) { $sb_icon = 'img/brisk_meeting60.gif'; } else { $sb_icon = 'img/brisk_meeting35.gif'; } } else { // no standard icon for other type of events please add them continue; } } $sb_dx = (array_key_exists('dx', $sb) ? $sb['dx'] : 100); $sb_dy = (array_key_exists('dy', $sb) ? $sb['dy'] : -230); printf('
', $i); printf('', $sb['link']); printf('%s
', $tit, $tit); printf("\n"); $ib_class = ""; if (array_key_exists('icon_big_class', $sb)) { $ib_class = $sb['icon_big_class']; } printf('', $ib_class, $i, $sb['icon_big']); printf("\n"); } } function index_main(&$brisk, $transp_type, $header, &$header_out, $remote_addr_full, $get, $post, $cookie) { GLOBAL $G_with_donors, $G_donors_cur, $G_donors_all; GLOBAL $G_with_topbanner, $G_topbanner, $G_is_local; GLOBAL $G_sidebanner, $G_sidebanner_idx; GLOBAL $G_with_poll; GLOBAL $G_lang, $G_lng, $mlang_room; GLOBAL $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER, $_COOKIE; if (($sess = gpcs_var('sess', $get, $post, $cookie)) === FALSE) $sess = ""; if (($name = gpcs_var('name', $get, $post, $cookie)) === FALSE) unset($name); else log_step("LOGIN: $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); // default values $_cookie_law_3party = 'true'; if (isset($cookie['_cookie_law_3party'])) $_cookie_law_3party = $cookie['_cookie_law_3party']; $remote_addr = addrtoipv4($remote_addr_full); $is_login = FALSE; $body = ""; $tables = ""; $standup = ""; $ACTION = "login"; $last_msg = ""; $banned = FALSE; if (isset($BRISK_SHOWHTML) == FALSE) { $is_table = FALSE; log_main("lock Brisk"); $curtime = time(); /* Actions */ if (($ghost_sess = $brisk->ghost_sess->pop($sess)) != FALSE) { switch ($ghost_sess->reas) { case GHOST_SESS_REAS_LOUT: $last_msg = $mlang_room['reas_lout'][$G_lang]; break; case GHOST_SESS_REAS_ANOT: $last_msg = $mlang_room['reas_anot'][$G_lang]; break; case GHOST_SESS_REAS_TOUT: $last_msg = $mlang_room['reas_tout'][$G_lang]; break; case GHOST_SESS_REAS_TTOT: $last_msg = $mlang_room['reas_ttot'][$G_lang]; break; case GHOST_SESS_REAS_ANON: $last_msg = $mlang_room['reas_anon'][$G_lang]; break; case GHOST_SESS_REAS_PROX: $last_msg = $mlang_room['reas_prox'][$G_lang]; break; default: $last_msg = $mlang_room['reas_unkn'][$G_lang]; break; } } if ($brisk->cloud_check($remote_addr)) { // TODO: find a way to add a nonblocking sleep(5) here $banned = TRUE; $last_msg = $mlang_room['reas_cloud'][$G_lang]; } 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) { if ($user->the_end == 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"; } } } if (!$banned && $ACTION == "login" && isset($name)) { log_main("pre garbage_manager DUE"); if (isset($pass_private) == FALSE || $pass_private == "") { $pass_private = FALSE; if ($brisk->ban_check($remote_addr)) { // TODO: find a way to add a nonblocking sleep(5) here $banned = TRUE; $idx = -4; } } $brisk->garbage_manager(TRUE); /* try login */ if ($banned == FALSE && ($user = $brisk->add_user(&$sess, &$idx, $name, $pass_private, $remote_addr, $header, $cookie)) != FALSE) { $brisk->sess_cur_set($user->sess); $ACTION = "room"; if ($idx < 0) { $idx = -$idx - 1; $is_login = TRUE; } log_legal($curtime, $remote_addr, $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; } } else { fprintf(STDERR, "POST CHECK QUI\n"); /* Login Rendering */ switch($idx) { case -4: $sfx = 'ban'; break; case -3: $sfx = 'err'; break; case -2: $sfx = 'must'; break; case -1: $sfx = 'end'; break; default: $sfx = 'use'; } $body .= '
'.$mlang_room['userpass'.$sfx][$G_lang].'
'; } } } /* Rendering. */ if ($BRISK_SHOWHTML == "debugtable") { $ACTION = "room"; } else if ($BRISK_SHOWHTML == "debuglogin") { $ACTION = "login"; } if ($ACTION == "room") { $tables .= '
'; $tables .= ''; for ($ii = 0 ; $ii < TABLES_N ; $ii++) { if ($user->is_auth() && !$user->is_appr()) $i = $ii; 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 .= ''; } } $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 .= '
'; } $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') ); $altout_support_arr = array( array ( 'id' => 'btn_brichi', 'url' => 'http://www.briscolachiamata.it', 'content' => 'img/brichi.png', 'content_big' => 'img/brichi_big.png'), array ( 'id' => 'btn_foroli', 'url' => 'http://www.forumolimpia.it', 'content' => 'img/forumolimpia.gif', '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 < 4 ; $i++) { $ii = ($i < 3 ? $i : 0); $altout_support .= sprintf('
'."\n", $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('
'."\n", $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
'; if ($brisk_donate == FALSE) $brisk_donate = ""; /* MLANG: "briscola chiamata in salsa ajax", */ mt_srand(make_seed()); if (!$G_is_local && $_cookie_law_3party == 'true') { $rn = rand(0, 1); if ($rn == 0) { $banner_top_left = ' '; $banner_top_right = carousel_top(); } else { $banner_top_left = carousel_top(); $banner_top_right = ' '; } } else { // !$G_is_local $banner_top_left = carousel_top(); $banner_top_right = carousel_top(); } $brisk_header_form = '
'; /* MLANG: ALL THE VERTICAL MENU */ $brisk_vertical_menu = '
'. ($ACTION == "room" ? '
'.($G_with_poll ? '' : '
').'
'.($user->flags & USER_FLAG_AUTH ? ' '.poll_dom() : ' ').' ' : '').'
sponsored by:
'.$altout_sponsor.'
'.$altout_sponsor_big.'
supported by:
'.$altout_support.'
'.$altout_support_big.'
' . ( /* NOTE: here facebook or fake facebook */ (!$G_is_local && $_cookie_law_3party == 'true') ? '
' : '' ) . '
%s %s
'; /* Templates. */ if ($ACTION == 'login') { $header_out['Content-type'] = "text/html; charset=\"utf-8\""; ?> Brisk
\n"); printf($brisk_vertical_menu, '', ''); sidebanners_render($G_sidebanner, $G_sidebanner_idx); printf(""); ?>












    
Brisk
\n"); printf($brisk_vertical_menu, '', $brisk_donate); sidebanners_render($G_sidebanner, $G_sidebanner_idx); printf(""); ?> sess"; ?>">
Chat