sitdown disable when shutdowning
[brisk.git] / web / index_wr.php
index b3abbdb..6493201 100644 (file)
  */
 
 require_once("Obj/brisk.phh");
+// require_once("Obj/proxyscan.phh");
 require_once("briskin5/Obj/briskin5.phh");
 
+// Use of proxies isn't allowed.
+// if (is_proxy()) {
+//   sleep(5);
+//   exit;
+// }
+log_load("index_rd.php");
+
 if (DEBUGGING == "local" && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
   echo "Debugging time!";
   exit;
@@ -57,12 +65,18 @@ log_wr('POSTSPLIT: '.$argz[0]);
 
 if ($argz[0] == 'shutdown') {
   log_auth($user->sess, "Shutdown session.");
+
+  $user->reset();
+  /* factorized with ->reset()
   $tmp_sess = $user->sess;
   $user->sess = "";
   step_unproxy($tmp_sess);
   $user->name = "";
+  while (array_pop($user->comm) != NULL);
+  $user->step = 0;
   $user->the_end = FALSE;
-  
+  */
+
   log_rd2("AUTO LOGOUT.");
   if ($user->subst == 'sitdown' || $user->stat == 'table')
     $room->room_wakeup(&$user);
@@ -108,6 +122,19 @@ else if ($user->stat == 'room') {
     if ($argz[0] == 'sitdown') {
       log_wr("SITDOWN command");
 
+      if ($G_shutdown) {
+       $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
+
+       $timecur = time();
+       $dt = date("H:i ", $timecur);
+       $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s","<b>Il server sta per essere riavviato, non possono avere inizio nuove partite.</b>");', $dt.NICKSERV);
+
+       $user->step_inc();
+       Room::save_data($room);
+       Room::unlock_data($sem);
+       exit;
+      }
+
       if ($user->the_end == TRUE) {
        log_wr("INFO:SKIP:argz == sitdown && the_end == TRUE => ignore request.");
        Room::unlock_data($sem);
@@ -190,8 +217,10 @@ else if ($user->stat == 'room') {
 
            log_wr("Pre if!");
            
-           // CHECK
-           while (array_pop($user_cur->comm) != NULL);
+//          ARRAY_POP DISABLED
+//         // CHECK
+           while (array_pop($user_cur->comm) != NULL);
+
            $ret = "";
            $ret .= sprintf('gst.st_loc++; gst.st=%d; createCookie("table_idx", %d, 24*365, cookiepath); createCookie("table_token", "%s", 24*365, cookiepath); the_end=true; window.onunload = null ; document.location.assign("briskin5/index.php");|', $user_cur->step+1, $table_idx, $table_token);