X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex.php;h=bee14638813a7ac30d10b46e79d8affb8621d1a3;hb=971fb704f6cb6091d0c597209f5f878c04336d51;hp=29efec1ce1e08482b1843b97f97713f373c9ec34;hpb=41e19b33c7325efc150d26f3404bcc960d1f608c;p=brisk.git diff --git a/web/index.php b/web/index.php index 29efec1..bee1463 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,49 +21,137 @@ * */ -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_SHOWHTML; + GLOBAL $sess, $name, $table_idx, $table_token, $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER; $body = ""; + $tables = ""; + $standup = ""; $ACTION = "login"; if (isset($BRISK_SHOWHTML) == FALSE) { - $is_table = false; - $sem = lock_data(); - $bri = &load_data(); - + $is_table = FALSE; + $sem = Room::lock_data(); + log_load($sess, "lock Room"); + $room = &Room::load_data(); + $curtime = time(); /* Actions */ if (validate_sess($sess)) { - $bri->garbage_manager(TRUE); - if (($user = &$bri->get_user($sess, &$idx)) != FALSE) { + $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, $user->table_token)) == FALSE) { + /* + * CASE: 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, TRUE); + $table->table_token = ""; +// if (Room::save_data(&$room) == FALSE) { +// echo "ERRORE SALVATAGGIO\n"; +// exit; +// } + + Briskin5::destroy_data($user->table); + + $change_page = FALSE; + } // if (($bri = &Briskin5::load_data($user->table, ... + else if (($bri_user = &$bri->get_user($sess, &$bri_idx)) != FALSE) { + if ($bri_user->subst == "shutdowned" || $bri_user->subst == "shutdowner") { + /* + * DESTROY OF FINISHED TABLE && MOVE PLAYER TO ROOM AGAIN + */ + $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; + $room->user[$table->player[$i]]->lacc = $bri->user[$i]->lacc; + $room->user[$table->player[$i]]->laccwr = $bri->user[$i]->laccwr; + + 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); + $table->table_token = ""; +// if (Room::save_data(&$room) == FALSE) { +// echo "ERRORE SALVATAGGIO\n"; +// exit; +// } + + $change_page = FALSE; + Briskin5::destroy_data($user->table); + } + } + Briskin5::unlock_data($bri_sem); + + if ($change_page) { + if (Room::save_data(&$room) == FALSE) { + echo "ERRORE SALVATAGGIO\n"; + exit; + } + log_load($sess, "unlock Room"); + Room::unlock_data($sem); + setcookie("table_token", $user->table_token, $curtime + 31536000); + setcookie("table_idx", $user->table_idx, $curtime + 31536000); + header ("Location: briskin5/briskin5.php"); + exit; + } } $ACTION = "room"; } + + if (Room::save_data(&$room) == FALSE) { + echo "ERRORE SALVATAGGIO\n"; + exit; + } } if ($ACTION == "login" && isset($name)) { - $bri->garbage_manager(TRUE); + $room->garbage_manager(TRUE); /* try login */ - 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); - $bri->standup_update(&$user); + $room->standup_update(&$user); - if (save_data(&$bri) == FALSE) { + if (Room::save_data(&$room) == FALSE) { echo "ERRORE SALVATAGGIO\n"; exit; } @@ -78,7 +166,7 @@ function main() $body .= '
Il tuo nickname è già in uso.
'; } } - unlock_data($sem); + Room::unlock_data($sem); } /* Rendering. */ @@ -90,37 +178,56 @@ function main() } 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 .= ''; } $altout_propag = array( array ( 'url' => 'http://www.alternativeoutput.it', 'content' => '' ), array ( 'url' => 'http://virtualsky.alternativeoutput.it', - 'content' => '' ) + 'content' => '' ) ); // seed with microseconds since last "whole" second srand ((double) microtime() * 1000000); - $randval = rand(0,count($altout_propag)-1); + // $randval = rand(0,count($altout_propag)-1); + $randval = 1; $altout_carousel = sprintf('%s', $altout_propag[$randval]['url'], $altout_propag[$randval]['content']); @@ -133,13 +240,88 @@ function main() $brisk_header_form = '
+ + + + +
+ + + + + + + +
+ +
+ + briscola chiamata in salsa ajax
+
+ +
+ + + + + + + + +
+
'; + +$brisk_vertical_menu = '
- + + +


sponsored by:

'.$altout_carousel.'


@@ -170,7 +352,7 @@ supported by:

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



@@ -197,8 +380,7 @@ Digita il tuo nickname per accedere ai tavoli della briscola.

-
-
+



@@ -236,6 +418,7 @@ 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; @@ -245,7 +428,7 @@ Digita il tuo nickname per accedere ai tavoli della briscola.

- room_checkspace(12,8,50); + room_checkspace(12, , 50);




', + printf($brisk_header_form); + printf("
\n"); + printf($brisk_vertical_menu, '



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