X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Findex.php;h=39e2a54f24e3e7263d634e6469a508e0c3694b8e;hb=5470910335a6a3e37b30783bfa39a15e8ff225b1;hp=80ed79172c395355e9d8d3ec539d8333de9ae91e;hpb=bc9f83f69dd01502b04789b775689e2b1910cde3;p=brisk.git
diff --git a/web/index.php b/web/index.php
index 80ed791..39e2a54 100644
--- a/web/index.php
+++ b/web/index.php
@@ -2,8 +2,8 @@
/*
* brisk - index.php
*
- * Copyright (C) 2006-2012 Matteo Nastasi
- * mailto: nastasi@alternativeoutput.it
+ * Copyright (C) 2006-2015 Matteo Nastasi
+ * mailto: nastasi@alternativeoutput.it
* matteo.nastasi@milug.org
* web: http://www.alternativeoutput.it
*
@@ -22,29 +22,48 @@
*
*/
+require_once("Obj/user.phh");
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.',
- 'en' => 'The nickname have to contain at least one letter or one number.'),
+$mlang_room = array( 'userpassuse' => 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.'),
- 'userpassuse' => array('it' => 'Il tuo nickname è già in uso.',
- 'en' => 'Your nickname is already in use.'),
+ '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) '),
- 'wellcome' => 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'),
+ '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 )',
+ '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 .'),
@@ -52,6 +71,14 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati
'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',
@@ -82,7 +109,15 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati
'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',
@@ -106,11 +141,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',
@@ -149,10 +202,22 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati
'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_dtmg' => array('it' => 'trattamento dati personali',
+ 'en' => 'personal data management'),
+ 'itm_dtmg' => array('it' => 'dati personali',
+ 'en' => 'personal data'),
'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',
@@ -167,21 +232,44 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati
'en' => 'Send a message to the administrator:'),
'mesgtoadm_sub'=> array('it' => 'soggetto:',
'en' => 'subject:'),
- 'btn_send' => array('it' => 'Invia.',
- 'en' => 'Send.'),
- 'btn_close' => array('it' => 'Chiudi.',
- 'en' => 'Close.')
+ '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;
+function poll_dom()
+{
+ GLOBAL $G_with_poll, $G_poll_title, $G_poll_entries;
- if ($G_with_poll) {
- $ret = sprintf('
+ if ($G_with_poll) {
+ $ret = sprintf('
@@ -189,38 +277,103 @@ function poll_dom() {
%s
');
- return ($ret);
- }
- else
- return '';
+ return ($ret);
+ }
+ else
+ return '';
}
-function carousel_top()
+function sidebanners_init($sidebanner_idx)
{
- $rn = rand(1, 3);
- return (sprintf(' ', $rn));
+ for ($i = 0 ; $i < count($sidebanner_idx) ; $i++) {
+ printf(" sidebanner_init(%d);\n", $i);
+ }
}
-function index_main(&$room, $transp_type, &$header_out, $addr, $get, $post, $cookie)
+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('', $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_with_sidebanner, $G_sidebanner;
- GLOBAL $G_with_sidebanner2, $G_sidebanner2;
+ GLOBAL $G_sidebanner, $G_sidebanner_idx;
GLOBAL $G_with_poll;
GLOBAL $G_lang, $G_lng, $mlang_room;
- GLOBAL $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER;
+ GLOBAL $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER, $_COOKIE;
+
+ $transp_port = ((array_key_exists("X-Forwarded-Proto", $header) &&
+ $header["X-Forwarded-Proto"] == "https") ? 443 : 80);
- if (($sess = gpcs_var('sess', $get, $post, $cookie)) === FALSE)
+ 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)
@@ -228,232 +381,268 @@ function index_main(&$room, $transp_type, &$header_out, $addr, $get, $post, $coo
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;
+ // 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 .= '';
+
+ $tables .= ''.$mlang_room['tit_tabl'][$G_lang].$i.'
';
+ $tables .= sprintf('
', $i);
+ $tables .= sprintf('
', $i);
+ $tables .= '
';
+ $tables .= ' '."\n";
+ }
+ if ($ii % 4 == 3) {
+ $tables .= ' ';
+ }
+ }
+ $tables .= '
';
+
+ $standup .= '
';
+ $standup .= '';
+ /* MLANG: "Giocatori in piedi" */
+ // $standup .= '
';
+ $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']);
+ }
+
- $is_login = FALSE;
- $body = "";
- $tables = "";
- $standup = "";
- $ACTION = "login";
-
- if (isset($BRISK_SHOWHTML) == FALSE) {
- $is_table = FALSE;
- log_main("lock Room");
- $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") {
- $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 ($ACTION == "login" && isset($name)) {
-
- log_main("pre garbage_manager DUE");
-
- if (isset($pass_private) == FALSE) {
- $pass_private = FALSE;
- }
-
- $room->garbage_manager(TRUE);
- /* try login */
- if (($user = $room->add_user(&$sess, &$idx, $name, $pass_private, $addr, $cookie)) != FALSE) {
- $ACTION = "room";
- if ($idx < 0) {
- $idx = -$idx - 1;
- $is_login = TRUE;
- }
-
- log_legal($curtime, $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;
- }
-
-
- // setcookie ("sess", "", time() + 180);
- $room->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].'
';
- }
- }
- }
- /* 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->flags & USER_FLAG_AUTH)
- $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 .= '';
-
- $tables .= ''.$mlang_room['tit_tabl'][$G_lang].$i.'
';
- $tables .= sprintf('
', $i);
- $tables .= sprintf('
', $i);
- $tables .= '
';
- $tables .= ' '."\n";
- }
- if ($ii % 4 == 3) {
- $tables .= ' ';
- }
- }
- $tables .= '
';
-
-
- $standup .= '
';
- $standup .= '';
- /* MLANG: "Giocatori in piedi" */
- // $standup .= '
';
- $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(' ',
- $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(' ',
- $altout_sponsor_arr[$ii]['id'], $altout_sponsor_arr[$ii]['content_big']);
- }
-
-
-
-
-
- $brisk_donate = file_get_contents(FTOK_PATH."/brisk_donate.txt");
- if ($brisk_donate == FALSE)
- $brisk_donate = "";
-
-
- /* MLANG: "briscola chiamata in salsa ajax", */
-
- mt_srand(make_seed());
- if (!$G_is_local) {
- $rn = rand(0, 1);
-
- if ($rn == 0) {
- $banner_top_left = '
-';
- $banner_top_right = carousel_top();
- }
- else {
- $banner_top_left = carousel_top();
- $banner_top_right = '';
+ $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 = '
+';
+ }
+ }
+ else { // !$G_is_local
+ $banner_top_left = carousel_top();
+ $banner_top_right = carousel_top();
+ }
+
+ $brisk_header_form = '
@@ -1199,10 +1401,219 @@ type="submit" class="button" onclick="this.form.elements['realsub'].value = 'chi
+
+
+
+
+
+
+
+
+
+
+is_supp_custom()) {
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+