gzip compression management added
[brisk.git] / web / Obj / brisk.phh
index 942a90c..64739ac 100644 (file)
@@ -2,7 +2,7 @@
 /*
  *  brisk - brisk.phh
  *
- *  Copyright (C) 2006-2011 Matteo Nastasi
+ *  Copyright (C) 2006-2012 Matteo Nastasi
  *                          mailto: nastasi@alternativeoutput.it 
  *                                  matteo.nastasi@milug.org
  *                          web: http://www.alternativeoutput.it
@@ -286,7 +286,7 @@ Copyright 2006-2012 <a href=\\"mailto:brisk@alternativeoutput.it\\">Matteo Nasta
   declaration briscola in ajax sauce <b>(Beta)</b>
 </div>
 <br><b>version '.$G_brisk_version.'</b><br><br>
-Copyright 2006-2009 <a href=\\"mailto:brisk@alternativeoutput.it\\">Matteo Nastasi</a> (aka mop)<br><br>');
+Copyright 2006-2012 <a href=\\"mailto:brisk@alternativeoutput.it\\">Matteo Nastasi</a> (aka mop)<br><br>');
 
 function mop_flush()
 {
@@ -680,7 +680,7 @@ class Room {
   var $match;
   var $comm; // commands for many people
   var $step; // current step of the comm array
-  // externalized var $garbage_timeout;
+  var $garbage_timeout;
   var $shm_sz;
 
   function Room () {
@@ -709,8 +709,7 @@ class Room {
       else
         $this->table[$i]->auth_only = FALSE;
     }
-    // externalized $this->garbage_timeout = 0;
-    Room::garbage_time_expire_set(0);
+    $this->garbage_timeout = 0;
     $this->shm_sz = SHM_DIMS_MIN;
   }
 
@@ -725,8 +724,7 @@ class Room {
     /* Garbage collector degli utenti in timeout */
     $curtime = time();
 
-    // externalized if ($force || $this->garbage_timeout < $curtime) {
-    if (!$force && !Room::garbage_time_is_expired($curtime)) {
+    if (!$force && !($this->garbage_timeout < $curtime)) {
         return ($ismod);
     }
       
@@ -874,8 +872,7 @@ class Room {
     }
     log_rd2("GARBAGE UPDATED!");
     
-    // externalized $this->garbage_timeout = time() + GARBAGE_TIMEOUT;
-    Room::garbage_time_expire_set($curtime + GARBAGE_TIMEOUT);
+    $this->garbage_timeout = $curtime + GARBAGE_TIMEOUT;
     $ismod = TRUE;
 
     return ($ismod);
@@ -926,7 +923,8 @@ class Room {
         $ret .= sprintf('tra.rem(%d); ', $i);
     }
     $ret .= $this->standup_content($user);
-    
+    $ret .= "setTimeout(preload_images, 0, g_preload_img_arr, g_imgct); ";
+
     return ($ret);
   }
   
@@ -1898,7 +1896,7 @@ class Room {
     GLOBAL $sess;
 
     do {
-      if (($tok = @ftok(FTOK_PATH."/main", "B")) == -1) {
+      if (($tok = @ftok(FTOK_PATH."/main", "C")) == -1) {
        log_main("ftok failed");
        break;
       }
@@ -1963,7 +1961,7 @@ class Room {
     
     // var_dump($room);
     
-    if (($tok = @ftok(FTOK_PATH."/main", "B")) == -1) 
+    if (($tok = @ftok(FTOK_PATH."/main", "C")) == -1) 
       return (FALSE);
     
     while ($room->shm_sz < SHM_DIMS_MAX) {
@@ -1997,7 +1995,7 @@ class Room {
       $ret =   FALSE;
       $shm =   FALSE;
     
-      if (($tok = @ftok(FTOK_PATH."/main", "B")) == -1) 
+      if (($tok = @ftok(FTOK_PATH."/main", "C")) == -1) 
           return (FALSE);
     
       // SHSPLIT: before save the $room you must save users, 
@@ -2135,49 +2133,7 @@ class Room {
     return ($ret);
   }
 
-  static function garbage_time_is_expired($tm) 
-  {
-      $ret = TRUE;
-      $fp = FALSE;
-      do {
-          if (file_exists(PROXY_PATH) == FALSE)
-              mkdir(PROXY_PATH, 0775, TRUE);
-          if (($fp = @fopen(PROXY_PATH."/garbage_time.expired", 'rb')) == FALSE)
-              break;
-          if (($s = fread($fp, 4)) == FALSE)
-              break;
-          if (mb_strlen($s, "ASCII") != 4)
-              break;
-          $arr = unpack('Le', $s);
-          if ($arr['e'] > $tm)
-              $ret = FALSE;
-      } while (0);
-      
-      if ($fp != FALSE)
-          fclose($fp);
-      
-      log_rd2("END: return ".($ret ? "TRUE" : "FALSE"));
-      
-      return ($ret);
-  }
-
-  static function garbage_time_expire_set($tm) 
-  {
-      do {
-          if (file_exists(PROXY_PATH) == FALSE)
-              mkdir(PROXY_PATH, 0775, TRUE);
-          if (($fp = @fopen(PROXY_PATH."/garbage_time.expired", 'wb')) == FALSE)
-              break;
-          fwrite($fp, pack("L",$tm));
-          fclose($fp);
-          
-          return (TRUE);
-      } while (0);
-      
-      return (FALSE);
-  }
-
-  function request_mgr(&$s_a_p, &$header_out, &$new_socket, $path, $addr, $get, $post, $cookie)
+  function request_mgr(&$s_a_p, $enc, &$header_out, &$new_socket, $path, $addr, $get, $post, $cookie)
   {
       printf("NEW_SOCKET (root): %d\n", intval($new_socket));
 
@@ -2187,21 +2143,21 @@ class Room {
       case "":
       case "index.php":
           ob_start();
-      index_main($this, $header_out, $addr, $get, $post, $cookie);
-      $content = ob_get_contents();
-      ob_end_clean();
+          index_main($this, $header_out, $addr, $get, $post, $cookie);
+          $content = ob_get_contents();
+          ob_end_clean();
 
-      $s_a_p->pgflush_try_add($new_socket, 20, $header_out, $content);
-      return TRUE;
+          $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
+          return TRUE;
 
-      break;
+          break;
       case "index_wr.php":
           ob_start();
           index_wr_main($this, $addr, $get, $post, $cookie);
           $content = ob_get_contents();
           ob_end_clean();
-
-          $s_a_p->pgflush_try_add($new_socket, 20, $header_out, $content);
+          
+          $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
           return TRUE;
 
           break;
@@ -2209,9 +2165,9 @@ class Room {
           do {
               if (!isset($cookie['sess'])
                   || (($user = $this->get_user($cookie['sess'], $idx)) == FALSE)) {
-                  $content = User::stream_fini(TRUE);
+                  $content = User::stream_fini($s_a_p->rndstr, TRUE);
                   
-                  $s_a_p->pgflush_try_add($new_socket, 20, $header_out, $content);
+                  $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content);
                   return TRUE;
 
                   break;
@@ -2223,11 +2179,11 @@ class Room {
                   printf("CLOSE AND OPEN AGAIN ON IFRA2\n");
                   $user->rd_socket_set(NULL);
               }
-              
+
               $content = "";
-              $user->stream_init($header_out, $content, $get, $post, $cookie);
+              $user->stream_init($s_a_p->rndstr, $enc, $header_out, $content, $get, $post, $cookie);
               
-              $response = headers_render($header_out, -1).chunked_content($content);
+              $response = headers_render($header_out, -1).chunked_content($user->rd_zls_get(), $content);
               $response_l = mb_strlen($response, "ASCII");
               
               $wret = @fwrite($new_socket, $response, $response_l);
@@ -2255,7 +2211,7 @@ class Room {
           $subs = "briskin5/";
           $subs_l = strlen($subs);
           if (!strncmp($path, $subs, $subs_l)) {
-              $ret = Bin5::request_mgr(&$s_a_p, &$header_out, &$new_socket, substr($path, $subs_l) , $addr, $get, $post, $cookie);
+              $ret = Bin5::request_mgr(&$s_a_p, $enc, &$header_out, &$new_socket, substr($path, $subs_l) , $addr, $get, $post, $cookie);
               return ($ret);
           }
           break;