X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex.php;h=298f484c1ffe4418dd7840d9e38960c5cd4297b4;hb=a00b90507135651af999d563310a85faf82b4463;hp=69490556490311dd6e3cfc2313f713f6017bd82a;hpb=bc29696ba05142894c798c81931ab2bf23dae5c3;p=brisk.git diff --git a/web/index.php b/web/index.php index 6949055..298f484 100644 --- a/web/index.php +++ b/web/index.php @@ -2,7 +2,7 @@ /* * brisk - index.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 @@ -25,8 +25,116 @@ */ 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.'), + '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.'), + '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'), + '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)', + '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.'), + 'tit_tabl' => array('it' => 'Tavolo ', + 'en' => 'Table '), + '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'), + 'listaut_desc' => array('it' => 'leggi soltanto i messaggi degli utenti con password', + 'en' => 'listen messages only from authenticated users'), + '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_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', + 'en' => 'photos of brisk meetings'), + 'itm_meet' => array('it' => 'raduni', + 'en' => 'meeting'), + '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:'), + 'btn_send' => array('it' => 'Invia.', + 'en' => 'Send.'), + 'btn_close' => array('it' => 'Chiudi.', + 'en' => 'Close.') + ); + // Use of proxies isn't allowed. if (!$G_is_local && is_proxy()) exit; @@ -39,11 +147,40 @@ if (DEBUGGING == "local" && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') { log_load("index.php"); + +function poll_dom() { + GLOBAL $G_with_poll, $G_poll_title, $G_poll_entries; + + if ($G_with_poll) { + $ret = sprintf('
+ + + +'); + return ($ret); + } + else + return ''; +} + function main() { GLOBAL $G_with_topbanner, $G_topbanner, $G_is_local; - GLOBAL $sess, $name, $table_idx, $table_token, $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER; - + 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; + $is_login = FALSE; $body = ""; $tables = ""; $standup = ""; @@ -88,12 +225,35 @@ function main() 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, $_SERVER['REMOTE_ADDR'])) != FALSE) { + if (($user = &$room->add_user(&$sess, &$idx, $name, $pass_private, $_SERVER['REMOTE_ADDR'])) != FALSE) { $ACTION = "room"; - - log_legal($curtime, $user->sess, $user->name, "STAT:LOGIN", ''); + 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); @@ -106,12 +266,31 @@ function main() } else { /* Login Rendering */ - if ($idx == -2) - $body .= '
Il nickname deve contenere almeno una lettera o una cifra.
'; + /* 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 .= '
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 .= '
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); @@ -128,16 +307,21 @@ function main() if ($ACTION == "room") { $tables .= '
'; $tables .= ''; - for ($i = 0 ; $i < TABLES_N ; $i++) { - if ($i % 4 == 0) + 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 .= ''; $tables .= ''."\n"; - if ($i % 4 == 3) + if ($ii % 4 == 3) $tables .= ''; } $tables .= '
'; - $tables .= '
Tavolo '.$i.'
'; + $tables .= '
'.$mlang_room['tit_tabl'][$G_lang].$i.'
'; $tables .= sprintf('
', $i); $tables .= sprintf('
', $i); $tables .= '
'; $tables .= '
'; @@ -145,43 +329,81 @@ function main() $standup .= '
'; $standup .= '
'; - $standup .= '
Giocatori in piedi
'; + /* MLANG: "Giocatori in piedi" */ + // $standup .= '
Giocatori in piedi - Come ottenere user e password -
'; + $standup .= '
'.$mlang_room['standing'][$G_lang].'
'; $standup .= sprintf('
'); - $standup .= '
'; + // MLANG Esco. + $standup .= '
'; $standup .= '
'; } - $altout_propag = array( array ( 'id' => 'btn_altout', + $altout_sponsor_arr = array( array ( 'id' => 'btn_altout', 'url' => 'http://www.alternativeoutput.it', 'content' => 'img/altout80x15.png', - 'content_big' => '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') + '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' ) ); + + + + $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']); + } + + // seed with microseconds since last "whole" second - srand ((double) microtime() * 1000000); - // $randval = rand(0,count($altout_propag)-1); - $randval = 1; - $altout_carousel = sprintf('', - $altout_propag[$randval]['url'], - $altout_propag[$randval]['id'], - $altout_propag[$randval]['content']); - - $altout_carousel_big = sprintf('', - $altout_propag[$randval]['id'], - $altout_propag[$randval]['content_big']); - + // 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", */ $brisk_header_form = '
@@ -208,7 +430,7 @@ google_color_url = "000000"; ).'
'.($G_with_topbanner ? '
' : '').'
- briscola chiamata in salsa ajax
+ '.$mlang_room['headline'][$G_lang].'
'.($G_with_topbanner ? sprintf('
%s
', $G_topbanner) : '').'
'.($G_is_local ? '' : @@ -233,53 +455,57 @@ google_color_url = "000000";
'; +/* MLANG: ALL THE VERTICAL MENU */ $brisk_vertical_menu = '
- + +
+sponsored by:
+
+
+
'.$altout_sponsor.'
+
+
+'.$altout_sponsor_big.' +
+
+supported by:
+
+
+
'.$altout_support.'
+
-


-sponsored by:

'.$altout_carousel.'
-

-supported by:

-
-

+
+'.$altout_support_big.' +
+ +


%s %s - - - -'.$altout_carousel_big.'
'; +
'; /* Templates. */ if ($ACTION == 'login') { @@ -328,29 +660,51 @@ supported by:

Brisk + - - + - + + + + + \n"); printf($brisk_vertical_menu, '', ''); - printf(""); + + if ($G_with_sidebanner xor $G_with_sidebanner2) { + printf("

"); + } + + if ($G_with_sidebanner) { + printf("%s", $G_sidebanner); + if ($G_with_sidebanner2) { + printf("
"); + } + } + + + if ($G_with_sidebanner2) { + printf("%s", $G_sidebanner2); + } + printf(""); ?> - +



-Digita il tuo nickname per accedere ai tavoli della briscola.
-
- -
user: - - - -
pwd: - -
-
-(se usi firefox e qualcosa non funziona
prova a ricaricare la pagina con Ctrl + F5)
+ +

+
+ + + + + + + + +

+

+




@@ -412,31 +788,42 @@ Digita il tuo nickname per accedere ai tavoli della briscola.
Brisk - - + - + + + + \n"); - printf($brisk_vertical_menu, '



', + /* printf($brisk_vertical_menu, '



', $brisk_donate); + printf($brisk_vertical_menu, '

', + $brisk_donate);*/ + printf($brisk_vertical_menu, '
', + $brisk_donate); + + + if ($G_with_sidebanner xor $G_with_sidebanner2) { + printf("

"); + } + + if ($G_with_sidebanner) { + printf("%s", $G_sidebanner); + if ($G_with_sidebanner2) { + printf("
"); + } + } + + + if ($G_with_sidebanner2) { + printf("%s", $G_sidebanner2); + } + printf(""); ?> @@ -488,17 +918,66 @@ else {
-Chat
+Chat
-
+ +
- +
+ +
+
+ + + + +

+ +
+ + + + + + + + +
+
+
+
+ + +

+
+ + + + + + + + + + +
+