X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex.php;h=475d3cfa94d4db0d060783bad8f9a81a2a680120;hb=a2924d2335ec5325dc322600fe373625575ac8e2;hp=b5d96ed4160c3b95232ba3aa149ea6a7b99e4c7a;hpb=3bdf570693a9c6be8e3bff5d62b21dae18817f27;p=brisk.git diff --git a/web/index.php b/web/index.php index b5d96ed..475d3cf 100644 --- a/web/index.php +++ b/web/index.php @@ -2,7 +2,7 @@ /* * brisk - index.php * - * Copyright (C) 2006 matteo.nastasi@milug.org + * Copyright (C) 2006-2007 matteo.nastasi@milug.org * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,113 +21,298 @@ * */ -require_once("brisk.phh"); +require_once("Obj/brisk.phh"); +require_once("briskin5/Obj/briskin5.phh"); if (DEBUGGING == "local" && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') { echo "Debugging time!"; exit; } -log_load($sess, "LOAD: index.php"); +log_load((isset($sess) ? $sess : "XXX"), "LOAD: index.php"); function main() { - GLOBAL $sess, $name, $BRISK_DEBUG; + GLOBAL $sess, $name, $table_idx, $table_token, $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER; $body = ""; + $tables = ""; + $standup = ""; $ACTION = "login"; - if (isset($BRISK_DEBUG) == FALSE) { - $is_table = false; - $sem = lock_data(); - $bri = &load_data(); + if (isset($BRISK_SHOWHTML) == FALSE) { + $is_table = FALSE; + $sem = Room::lock_data(); + log_load($sess, "lock Room"); + $room = &Room::load_data(); /* Actions */ if (validate_sess($sess)) { - $bri->garbage_manager(TRUE); - if (($user = &$bri->get_user($sess, &$idx)) != FALSE) { + // FIXME uncomment $room->garbage_manager(TRUE); + if (($user = &$room->get_user($sess, &$idx)) != FALSE) { if ($user->stat == "table") { - header ("Location: table.php"); - unlock_data($sem); - exit; + $change_page = TRUE; + log_load($sess, "resync from index.php"); + + log_load($sess, "SET TABLE_IDX table.">".TABLES_N); + + log_load($sess, "SET TABLE_IDX GOOD VALUE"); + $bri_sem = Briskin5::lock_data($user->table); + if (($bri = &Briskin5::load_data($user->table, $table_token)) == FALSE) { + // table data error: recovery + + log_load($sess, "table data error: recovery".$user->table); + + $table = &$room->table[$user->table]; + for ($i = 0 ; $i < $table->player_n ; $i++) { + $user_cur = &$room->user[$table->player[$i]]; + $user_cur->subst = "shutdowner"; + $user_cur->step_inc(); + $user_cur->trans_step = $user_cur->step; + + $ret = sprintf('stat = "%s"; subst = "%s";', $cur_user->stat, $cur_user->subst); + $ret .= "gst.st = ".($user_cur->step+1)."; "; + $ret .= show_notify("
I dati del tavolo n°".$user->table." sono inconsistenti, verranno resettati.

Torni in piedi.

", 2000, "Chiudi.", 400, 110); + $user_cur->comm[$user_cur->step % COMM_N] = $ret; + $user_cur->step_inc(); + } + + $room->room_join_wakeup(&$user); + + if (Room::save_data(&$room) == FALSE) { + echo "ERRORE SALVATAGGIO\n"; + exit; + } + + $change_page = FALSE; + } + else if (($bri_user = &$bri->get_user($sess, &$bri_idx)) != FALSE) { + if ($bri_user->subst == "shutdowned" || $bri_user->subst == "shutdowner") { + // QUI WAKEUP + $table = &$room->table[$user->table]; + $bri_table = &$bri->table[0]; + + for ($i = 0 ; $i < $bri_table->player_n ; $i++) { + $room->user[$table->player[$i]]->subst = $bri->user[$i]->subst; + $room->user[$table->player[$i]]->step = $bri->user[$i]->step; + $room->user[$table->player[$i]]->trans_step = $bri->user[$i]->step+1; + log_load($sess, "from table bri subst[".$i."]: ".$bri->user[$i]->subst); + log_load($sess, "from table roo subst[".$i."]: ".$room->user[$table->player[$i]]->subst); + } + + $room->room_join_wakeup(&$user); + + if (Room::save_data(&$room) == FALSE) { + echo "ERRORE SALVATAGGIO\n"; + exit; + } + + $change_page = FALSE; + Briskin5::destroy_data(&$bri); + } + log_load($sess, "from table subst: ".$bri_user->subst); + } + Briskin5::unlock_data($bri_sem); + + log_load($sess, "unlock Room"); + if ($change_page) { + Room::unlock_data($sem); + header ("Location: briskin5/briskin5.php"); + exit; + } } $ACTION = "room"; } } if ($ACTION == "login" && isset($name)) { - $bri->garbage_manager(TRUE); + // FIXME uncomment $room->garbage_manager(TRUE); /* try login */ - $name = substr($name, 0, 12); - $name = str_replace(" ", "_", $name); - if (($user = &$bri->add_user(&$sess, &$idx, $name)) != FALSE) { + if (($user = &$room->add_user(&$sess, &$idx, $name, $_SERVER['REMOTE_ADDR'])) != FALSE) { $ACTION = "room"; // setcookie ("sess", "", time() + 180); - standup_update(&$bri,&$user); + $room->standup_update(&$user); - if (save_data(&$bri) == FALSE) { + if (Room::save_data(&$room) == FALSE) { echo "ERRORE SALVATAGGIO\n"; exit; } } else { /* Login Rendering */ - if ($idx == -1) + if ($idx == -2) + $body .= '
Il nickname deve contenere almeno una lettera o una cifra.
'; + else if ($idx == -1) $body .= '
Spiacenti, non ci sono più posti liberi. Riprova più tardi.
'; else $body .= '
Il tuo nickname è già in uso.
'; } } - unlock_data($sem); + Room::unlock_data($sem); } /* Rendering. */ - if ($BRISK_DEBUG == "debugtable") { + if ($BRISK_SHOWHTML == "debugtable") { $ACTION = "room"; } - else if ($BRISK_DEBUG == "debuglogin") { + else if ($BRISK_SHOWHTML == "debuglogin") { $ACTION = "login"; } if ($ACTION == "room") { + $tables .= '
'; $tables .= ''; for ($i = 0 ; $i < TABLES_N ; $i++) { if ($i % 4 == 0) $tables .= ''; - $tables .= ''."\n"; + $tables .= ''; + $tables .= ''."\n"; if ($i % 4 == 3) $tables .= ''; } - $tables .= '
Tavolo '.$i.'

'; + $tables .= '
'; + $tables .= '
Tavolo '.$i.'
'; $tables .= sprintf('
', $i); $tables .= sprintf('
', $i); - $tables .= '
'; + $tables .= '
'; + + + $standup .= '
'; + $standup .= '
'; + $standup .= '
Giocatori in piedi
'; + + $standup .= sprintf('
'); + $standup .= '
'; + $standup .= '
'; + + // $tables .= ''; + + /* + $tables .= ''; + $tables .= ''; + $tables .= ''; - - $tables .= '
'; $tables .= '
'; - $tables .= 'Giocatori in piedi

'; + $tables .= 'Giocatori in piedi'; $tables .= sprintf('
'); $tables .= '
'; - $tables .= '
'; + */ + // $tables .= ''; } -$brisk_header = '
+ $altout_propag = array( array ( 'url' => 'http://www.alternativeoutput.it', + 'content' => '' ), + array ( 'url' => 'http://virtualsky.alternativeoutput.it', + 'content' => '' ) + ); + + // seed with microseconds since last "whole" second + srand ((double) microtime() * 1000000); + // $randval = rand(0,count($altout_propag)-1); + $randval = 1; + $altout_carousel = sprintf('%s', + $altout_propag[$randval]['url'], + $altout_propag[$randval]['content']); + + + $brisk_donate = file_get_contents(FTOK_PATH."/brisk_donate.txt"); + if ($brisk_donate == FALSE) + $brisk_donate = ""; + +$brisk_header_form = '
-
- -briscola chiamata in salsa ajax

-
+'; + +$brisk_vertical_menu = '
- + + +


-sponsored by:

-
+sponsored by:

'.$altout_carousel.'


supported by:



+
+


+%s +%s
'; /* Templates. */ @@ -142,31 +327,42 @@ supported by:

+ + \n"); + printf($brisk_vertical_menu, '', ''); + printf(""); ?> -
-



Digita il tuo nickname per accedere ai tavoli della briscola.

+
-
-
+




@@ -194,6 +390,8 @@ Digita il tuo nickname per accedere ai tavoli della briscola.

+ + @@ -202,15 +400,17 @@ Digita il tuo nickname per accedere ai tavoli della briscola.

var stat = ""; var subst = ""; var gst = new globst(); + var g_is_spawn = 0; + var g_withflash = false; var g_imgct= 0; var g_imgtot = g_preload_img_arr.length; var myfrom = "index_php"; window.onload = function() { - room_checkspace(12,8,50); + room_checkspace(12, , 50); "; window.onunload = onunload_cb; - + g_withflash = DetectFlashVer(6,0,0); + if (g_withflash == false) { + $("proflash").innerHTML = 'Audio con Flash.
'; + } + else + $("proflashext").innerHTML = ""; setTimeout(xhr_rd_poll, 0, sess); // alert("ARR LENGTH "+g_preload_img_arr.length); - // setTimeout(preload_images, 0, g_preload_img_arr, g_imgct); + setTimeout(preload_images, 0, g_preload_img_arr, g_imgct); $("txt_in").focus(); \n"); + printf($brisk_vertical_menu, '



', + $brisk_donate); + printf(""); ?> -
sess"; ?>"> +
- +
+ +
+ -
-Chat +
+Chat
-
+
+
+
+ +