X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex.php;h=e2d8f982d81b25dcec912004a10e1d2409ed7f57;hb=refs%2Ftags%2Fv4.18.3;hp=9fa8101bd9794513e5643527bf337959706d677c;hpb=c41ecb2b361ebb9aea6e457ec79258119900ba86;p=brisk.git
diff --git a/web/index.php b/web/index.php
index 9fa8101..e2d8f98 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,24 +22,44 @@
*
*/
+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)'),
- 'welcome' => array('it' => 'Digita il tuo nickname per accedere ai tavoli della briscola',
- 'en' => 'Enter your nickname to access to the tables of 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.'),
+ '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.',
@@ -52,6 +72,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',
@@ -90,7 +116,7 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati
'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',
@@ -114,11 +140,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',
@@ -161,6 +205,10 @@ $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',
@@ -181,15 +229,14 @@ $mlang_room = array( 'userpasserr' => array('it' => 'Utente e/o password errati
'en' => 'Close.')
);
-
-
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('
@@ -197,35 +244,88 @@ function poll_dom() {
%s
');
- return ($ret);
- }
- else
- return '';
+ return ($ret);
+ }
+ else
+ return '';
+}
+
+function sidebanners_init($sidebanner_idx)
+{
+ for ($i = 0 ; $i < count($sidebanner_idx) ; $i++) {
+ printf(" sidebanner_init(%d);\n", $i);
+ }
}
-function carousel_top()
+function sidebanners_render($sidebanner, $sidebanner_idx)
{
- $rn = rand(1, 3);
- return (sprintf('', $rn));
+ $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");
+ printf('', $i, $sb['icon_big']);
+ printf("\n");
+ }
}
-function index_main(&$room, $transp_type, &$header_out, $addr, $get, $post, $cookie)
+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;
- 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);
@@ -236,239 +336,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);
+ $remote_addr = addrtoipv4($remote_addr_full);
+
// Use of proxies isn't allowed.
- if (!$G_is_local && is_proxy($addr)) {
+ if (!$G_is_local && is_proxy($remote_addr)) {
return FALSE;
}
- $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 */
- $ipv4addr_arr = explode(':' , $addr);
- if (isset($ipv4addr_arr[3])) {
- $ipv4addr = $ipv4addr_arr[3];
- }
- else {
- $ipv4addr = $addr;
- }
- if (($user = $room->add_user(&$sess, &$idx, $name, $pass_private, $ipv4addr, $cookie)) != FALSE) {
- $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);
- $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 = '
';
-/* MLANG: ALL THE VERTICAL MENU */
- $brisk_vertical_menu = '
+ /* MLANG: ALL THE VERTICAL MENU */
+ $brisk_vertical_menu = '
'.($G_with_poll ? '' : '
').'
@@ -877,7 +948,7 @@ sponsored by:
supported by:
-
'.$altout_support.'
+
'.$altout_support.'
@@ -885,24 +956,27 @@ supported by:
'.$altout_support_big.'
-
-
+' . ( /* NOTE: here facebook or fake facebook */
+! $G_is_local ?
+'
+' : '
FACEBOOK HERE
+' ) . '
+
%s
%s
-
-
';
-
- /* Templates. */
- if ($ACTION == 'login') {
- $header_out['Content-type'] = "text/html; charset=\"utf-8\"";
+
';
+
+ /* Templates. */
+ if ($ACTION == 'login') {
+ $header_out['Content-type'] = "text/html; charset=\"utf-8\"";
?>
Brisk
-
+
+
@@ -912,132 +986,142 @@ supported by:
+
-
+ else
+ $("proflashext").innerHTML = "";
+ $("nameid").focus();
+}
+//-->
+
+
+
+
+
+
\n");
- printf($brisk_vertical_menu, '', '');
-
- if ($G_with_sidebanner xor $G_with_sidebanner2) {
- printf("
");
- }
-
- if ($G_with_sidebanner) {
- printf("%s", $G_sidebanner);
- if ($G_with_sidebanner2) {
- printf(" ");
- }
- }
+ }
+ printf($brisk_header_form);
+ printf("\n");
+ printf($brisk_vertical_menu, '', '');
-
- if ($G_with_sidebanner2) {
- printf("%s", $G_sidebanner2);
- }
- printf(" | ");
-?>
+ sidebanners_render($G_sidebanner, $G_sidebanner_idx);
+ printf(" | ");
+?>
-
-
-
-
+ echo "$body";
+?>
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ else if ($ACTION == 'room') {
+ $header_out['Content-type'] = "text/html; charset=\"utf-8\"";
+?>
Brisk
+
@@ -1047,58 +1131,59 @@ echo "$body"; ?>
+
-
+//-->
+
+
+
+
+
+
| \n");
- /* 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(" ");
- }
- }
-
+ }
+ printf($brisk_header_form);
+ printf("\n");
+ printf($brisk_vertical_menu, '', $brisk_donate);
- if ($G_with_sidebanner2) {
- printf("%s", $G_sidebanner2);
- }
+ sidebanners_render($G_sidebanner, $G_sidebanner_idx);
- printf(" | ");
-?>
+ printf(" | ");
+?>
sess"; ?>">
|
-
+
Chat
@@ -1188,7 +1268,7 @@ if ($is_login) {
-
+
@@ -1206,14 +1286,14 @@ if ($is_login) {
type="submit" onclick="this.form.elements['realsub'].value = 'invia';" class="button">
"
+""
type="submit" class="button" onclick="this.form.elements['realsub'].value = 'chiudi';"> |
+
+
+
+
+
+
+
+is_supp_custom()) {
+?>
+ |
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
|