*
*/
+require_once("Obj/user.phh");
require_once("Obj/brisk.phh");
require_once("Obj/auth.phh");
require_once("Obj/proxyscan.phh");
'en' => 'Standing players'),
'headline' => array('it' => 'briscola chiamata in salsa ajax',
'en' => 'declaration briscola in ajax sauce <b>(Beta)</b>'),
- '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_anot' => array('it' => 'La tua sessione è stata assegnata ad un altro browser.',
+ 'en' => 'EN La tua sessione è stata assegnata ad un altro browser.'),
'btn_enter' => array('it' => 'entra',
'en' => 'enter'),
'passwarn' => array('it' => 'Se non hai ancora una password, lascia il campo in bianco ed entra.',
return '';
}
-function index_main(&$brisk, $transp_type, &$header_out, $addr, $get, $post, $cookie)
+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("<br><br>");
+ }
+
+ 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('<div class="sidebanner" style="background: #ffd780; border: solid 1px #ffae00; width: 60px;" id="sidebanner%d">', $i);
+ printf('<a target="_blank" href="%s">', $sb['link']);
+ printf('<img style="position: static; border: solid 0px black;" src="%s"', $sb_icon);
+ printf(' onMouseOver="show_bigpict($(\'sidebanner%d\'), \'over\', %d, %d, \'\');"', $i, $sb_dx, $sb_dy);
+ printf(' onMouseOut="show_bigpict($(\'sidebanner%d\'), \'out\', 0, 0, \'\');"', $i);
+ $tit = eschtml($sb['title']);
+ printf(' alt="%s" title="%s"></a></div>', $tit, $tit);
+ printf("\n");
+ printf('<img class="nobohide" style="z-index: 255; border: 1px solid gray;" id="sidebanner%d_big" src="%s">', $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;
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;
}
$tables = "";
$standup = "";
$ACTION = "login";
+ $last_msg = "";
if (isset($BRISK_SHOWHTML) == FALSE) {
$is_table = FALSE;
$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;
+ default:
+ $last_msg = $mlang_room['reas_unkn'][$G_lang];
+ break;
+ }
+ }
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;
+ 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";
}
- $ACTION = "room";
}
}
+ $banned = FALSE;
if ($ACTION == "login" && isset($name)) {
log_main("pre garbage_manager DUE");
- if (isset($pass_private) == FALSE) {
+ 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 = -1;
+ }
}
$brisk->garbage_manager(TRUE);
/* try login */
- $ipv4addr = addrtoipv4($addr);
- if (($user = $brisk->add_user(&$sess, &$idx, $name, $pass_private, $ipv4addr, $cookie)) != FALSE) {
+ 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) {
$is_login = TRUE;
}
- log_legal($curtime, $ipv4addr, $user, "STAT:LOGIN", '');
+ log_legal($curtime, $remote_addr, $user, "STAT:LOGIN", '');
// recovery lost game
if ($user->stat == "table") {
$tables .= '<div class="room_tab">';
$tables .= '<table class="room_tab">';
for ($ii = 0 ; $ii < TABLES_N ; $ii++) {
- if ($user->flags & USER_FLAG_AUTH)
- $i = $ii;
+ if ($user->is_auth())
+ $i = $ii;
else
$i = TABLES_N - $ii - 1;
// MLANG garantisci
.$mlang_room['tit_splash'][$G_lang].
'</a><br>
-'.($user->flags & USER_FLAG_AUTH ? '
+'.($user->is_auth() ? '
<a href="#" title="'
// MLANG garantisci per un tuo conoscente
.$mlang_room['prefs_desc'][$G_lang].'"
var g_lng = "<? echo $G_lng; ?>";
var g_tables_n = <? echo TABLES_N; ?>;
var g_tables_auth_n = <? echo TABLES_AUTH_N; ?>;
+ var g_tables_cert_n = <? echo TABLES_CERT_N; ?>;
var g_prefs, g_prefs_new = null;
var g_listen;
var g_withflash = false;
<?php
if ($G_with_topbanner) {
printf(" topbanner_init();\n");
- }
- if ($G_with_sidebanner) {
- printf(" sidebanner_init();\n");
- }
- if ($G_with_sidebanner2) {
- printf(" sidebanner2_init();\n");
- }
+ }
+ sidebanners_init($G_sidebanner_idx);
?>
g_withflash = DetectFlashVer(6,0,0);
printf("<table class=\"floaty\"><tr><td class=\"floatyleft\">\n");
printf($brisk_vertical_menu, '', '');
- if ($G_with_sidebanner xor $G_with_sidebanner2) {
- printf("<br><br>");
- }
-
- if ($G_with_sidebanner) {
- printf("%s", $G_sidebanner);
- }
-
-
- if ($G_with_sidebanner2) {
- printf("%s", $G_sidebanner2);
- }
+ sidebanners_render($G_sidebanner, $G_sidebanner_idx);
printf("</td><td>");
?>
echo "$body"; ?>
<br>
<div style="text-align: center;">
- <br><br><br>
+ <br>
+ <div class="bye_msg" id="bye_msg"><?php echo "$last_msg"; ?></div>
+<br>
<?php echo $mlang_room['welcome'][$G_lang];?>
<br><br>
<form accept-charset="utf-8" method="post" action="" onsubmit="return j_login_manager(this);">
var g_lng = "<? echo $G_lng; ?>";
var g_tables_n = <? echo TABLES_N; ?>;
var g_tables_auth_n = <? echo TABLES_AUTH_N; ?>;
+ var g_tables_cert_n = <? echo TABLES_CERT_N; ?>;
var g_prefs, g_prefs_new = null;
var g_listen;
var g_is_spawn = 0;
if ($G_with_topbanner) {
printf(" topbanner_init();\n");
}
- if ($G_with_sidebanner) {
- printf(" sidebanner_init();\n");
- }
- if ($G_with_sidebanner2) {
- printf(" sidebanner2_init();\n");
- }
-
+ sidebanners_init($G_sidebanner_idx);
?>
sess = "<?php echo "$sess"; ?>";
xstm = new xynt_streaming(window, "<?php echo "$transp_type"; ?>", 80, 2, null /* console */, gst, 'index_php', 'sess', sess, $('sandbox'), 'index_rd.php', function(com){eval(com);});
printf("<table class=\"floaty\"><tr><td class=\"floatyleft\">\n");
printf($brisk_vertical_menu, '', $brisk_donate);
-
- if ($G_with_sidebanner xor $G_with_sidebanner2) {
- printf("<br><br>");
- }
-
- if ($G_with_sidebanner) {
- printf("%s", $G_sidebanner);
- }
-
-
- if ($G_with_sidebanner2) {
- printf("%s", $G_sidebanner2);
- }
+ sidebanners_render($G_sidebanner, $G_sidebanner_idx);
printf("</td><td>");
?>