X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex.php;h=475d3cfa94d4db0d060783bad8f9a81a2a680120;hb=a2924d2335ec5325dc322600fe373625575ac8e2;hp=ed166e0131f259c62332eb4d35f5d52afb984793;hpb=8866b31f28b69c5dd2857960ddeea08bcb9725d5;p=brisk.git diff --git a/web/index.php b/web/index.php index ed166e0..475d3cf 100644 --- a/web/index.php +++ b/web/index.php @@ -21,7 +21,8 @@ * */ -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; @@ -31,7 +32,7 @@ log_load((isset($sess) ? $sess : "XXX"), "LOAD: index.php"); function main() { - GLOBAL $sess, $name, $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER; + GLOBAL $sess, $name, $table_idx, $table_token, $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER; $body = ""; $tables = ""; @@ -40,32 +41,99 @@ function main() if (isset($BRISK_SHOWHTML) == FALSE) { $is_table = FALSE; - $sem = lock_data(); - $bri = &load_data(); + $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 */ - if (($user = &$bri->add_user(&$sess, &$idx, $name, $_SERVER['REMOTE_ADDR'])) != FALSE) { + if (($user = &$room->add_user(&$sess, &$idx, $name, $_SERVER['REMOTE_ADDR'])) != FALSE) { $ACTION = "room"; // setcookie ("sess", "", time() + 180); - $bri->standup_update(&$user); + $room->standup_update(&$user); - if (save_data(&$bri) == FALSE) { + if (Room::save_data(&$room) == FALSE) { echo "ERRORE SALVATAGGIO\n"; exit; } @@ -80,7 +148,7 @@ function main() $body .= '
Il tuo nickname è già in uso.
'; } } - unlock_data($sem); + Room::unlock_data($sem); } /* Rendering. */ @@ -180,10 +248,15 @@ google_color_url = "000000"; -
+ + +
briscola chiamata in salsa ajax
-
+
+ +
@@ -228,6 +301,7 @@ $brisk_vertical_menu = ' propaganda
about
+contatti



@@ -260,7 +334,7 @@ supported by: