first set of commands arrive from index_rd_ifra.php handler
[brisk.git] / web / index.php
index ee4e791..587acd8 100644 (file)
  * not, write to the Free Software Foundation, Inc, 59 Temple Place -
  * Suite 330, Boston, MA 02111-1307, USA.
  *
- */
 
-$G_base = "";
+
+TODO:
+  - header
+  - setcookie
+  - gestire per intero la var globale di output
+*/
 
 require_once("Obj/brisk.phh");
 require_once("Obj/auth.phh");
 require_once("Obj/proxyscan.phh");
 
-
 $mlang_room = array( 'userpasserr'  => array('it' => 'Utente e/o password errati.',
                                              'en' => 'Wrong user and/or password.'),
                      'userpassmust' => array('it' => 'Il nickname deve contenere almeno una lettera o una cifra.',
@@ -176,9 +179,7 @@ $mlang_room = array( 'userpasserr'  => array('it' => 'Utente e/o password errati
                                              'en' => 'Close.')
                      );
 
-// Use of proxies isn't allowed.
-if (!$G_is_local && is_proxy()) 
-   exit;
+
 
 require_once("briskin5/Obj/briskin5.phh");
 if (DEBUGGING == "local" && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
@@ -219,15 +220,33 @@ function carousel_top()
     return (sprintf('<a target="_blank" href="http://shop.alternativeoutput.it"><img class="nobo" style="display: inline; border: 1px solid #808080;" src="img/briskshop%d.gif"></a>', $rn));
 }
 
-function main()
+function index_main(&$room, &$header_out, $get, $post, $cookie)
 {
-  GLOBAL $G_with_donors, $G_donors_cur, $G_donors_all;
-  GLOBAL $G_with_topbanner, $G_topbanner, $G_is_local;
-  GLOBAL $G_with_sidebanner, $G_sidebanner; 
-  GLOBAL $G_with_sidebanner2, $G_sidebanner2; 
-  GLOBAL $G_with_poll;
-  GLOBAL $sess, $name, $pass_private, $table_idx, $table_token, $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER;
-  GLOBAL $G_lang, $G_lng, $mlang_room;
+    GLOBAL $G_with_donors, $G_donors_cur, $G_donors_all;
+    GLOBAL $G_with_topbanner, $G_topbanner, $G_is_local;
+    GLOBAL $G_with_sidebanner, $G_sidebanner; 
+    GLOBAL $G_with_sidebanner2, $G_sidebanner2; 
+    GLOBAL $G_with_poll;
+    GLOBAL $G_lang, $G_lng, $mlang_room;
+    GLOBAL $BRISK_SHOWHTML, $BRISK_DEBUG, $_SERVER;
+
+    if (($sess = gpcs_var('sess', $get, $post, $cookie)) === FALSE) 
+        unset($sess);
+    if (($name = gpcs_var('name', $get, $post, $cookie)) === FALSE)
+        unset($name);
+    if (($pass_private = gpcs_var('pass_private', $get, $post, $cookie)) === FALSE)
+        unset ($pass_private);
+    if (($table_idx = gpcs_var('table_idx', $get, $post, $cookie)) === FALSE)
+        unset ($table_idx);
+    if (($table_token = gpcs_var('table_idx', $get, $post, $cookie)) === FALSE)
+        unset ($table_token);
+    
+    
+    // Use of proxies isn't allowed.
+    if (!$G_is_local && is_proxy()) {
+        return FALSE;
+    }
+
   $is_login = FALSE;
   $body = "";
   $tables = "";
@@ -236,9 +255,7 @@ function main()
   
   if (isset($BRISK_SHOWHTML) == FALSE) {
       $is_table = FALSE;
-      $sem = Room::lock_data();
       log_main("lock Room");
-      $room = Room::load_data();
       $curtime = time();
       
       /* Actions */
@@ -250,24 +267,14 @@ function main()
           if (($user = &$room->get_user($sess, &$idx)) != FALSE) {
               log_main("user stat: ".$user->stat);
               if ($user->stat == "table") {
-                  if (Room::save_data(&$room) == FALSE) {
-                      echo "ERRORE SALVATAGGIO\n";
-                      exit;
-                  }
-                  log_main("unlock Room");
-                  Room::unlock_data($sem);
                   setcookie("table_token", $user->table_token, $curtime + 31536000);
                   setcookie("table_idx", $user->table, $curtime + 31536000);
-                  header ("Location: briskin5/index.php");
-                  exit;
+                  $header_out['Location'] = "Location: briskin5/index.php";
+                  return TRUE;
               }
               $ACTION = "room";
           }
           
-          if (Room::save_data(&$room) == FALSE) {
-              echo "ERRORE SALVATAGGIO\n";
-              exit;
-          }
       }
       
       if ($ACTION == "login" && isset($name)) {
@@ -291,26 +298,16 @@ function main()
               
               // recovery lost game
               if ($user->stat == "table") {
-                  if (Room::save_data(&$room) == FALSE) {
-                      echo "ERRORE SALVATAGGIO\n";
-                      exit;
-                  }
-                  log_main("unlock Room");
-                  Room::unlock_data($sem);
                   setcookie("table_token", $user->table_token, $curtime + 31536000);
                   setcookie("table_idx", $user->table, $curtime + 31536000);
-                  header ("Location: briskin5/index.php");
-                  exit;
+                  $header_out['Location'] = "Location: briskin5/index.php";
+                  return TRUE;
               }
               
               
               // setcookie ("sess", "", time() + 180);      
               $room->standup_update(&$user);
               
-              if (Room::save_data($room) == FALSE) {
-                  echo "ERRORE SALVATAGGIO\n";
-                  exit;
-              }
           }
           else {
               /* Login Rendering */
@@ -341,7 +338,6 @@ function main()
               $body .= '<div class="urgmsg"><b>'.$mlang_room['userpass'.$sfx][$G_lang].'</b></div>';
           }
       }
-      Room::unlock_data($sem);
   }
   /* Rendering. */
 
@@ -351,7 +347,7 @@ function main()
   else if ($BRISK_SHOWHTML == "debuglogin") {
       $ACTION = "login";
   }
-  
+
   if ($ACTION == "room") {
       $tables .= '<div class="room_tab">';
       $tables .= '<table class="room_tab">';
@@ -861,24 +857,23 @@ supported by:<br>
     
   /* Templates. */
   if ($ACTION == 'login') {
-    header('Content-type: text/html; charset="utf-8"',true);
+      $header_out['Content-type'] = "text/html; charset=\"utf-8\"";
 ?>
 <html>
 <head>
 <title>Brisk</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <link rel="shortcut icon" href="img/brisk_ico.png">
-<script type="text/javascript" src="menu.js"></script>
-<!-- <script type="text/javascript" src="dnd.js"></script>
-<script type="text/javascript" src="dom-drag.js"></script> -->
 <script type="text/javascript" src="commons.js"></script> 
-<script type="text/javascript" src="xhr.js"></script>
+<script type="text/javascript" src="myconsole.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript" src="heartbit.js"></script>
+<script type="text/javascript" src="xynt-http-streaming.js"></script>
 <script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js"></script>
 <script type="text/javascript" src="AC_OETags.js"></script>
 <script type="text/javascript" src="room.js"></script>
 <script type="text/javascript" src="md5.js"></script>
 <script type="text/javascript" src="probrowser.js"></script>
-<!-- <script type="text/javascript" src="myconsole.js"></script>  -->
 <link rel="stylesheet" type="text/css" href="brisk.css">
 <link rel="stylesheet" type="text/css" href="room.css">
 
@@ -893,6 +888,7 @@ supported by:<br>
    var gst  = new globst();
    var topbanner_sfx, topbanner_dx;
    var g_brow = null;
+   var hstm = null;
    var sess = "not_connected";
    var spo_slide, sup_slide;
 
@@ -995,27 +991,27 @@ echo "$body"; ?>
 <?php
   }
   else if ($ACTION == 'room') {
-    header('Content-type: text/html; charset="utf-8"',true);
+      $header_out['Content-type'] = "text/html; charset=\"utf-8\"";
   ?>
 <html>
 <head>
 <title>Brisk</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <link rel="shortcut icon" href="img/brisk_ico.png">
+<script type="text/javascript" src="commons.js"></script>
+<script type="text/javascript" src="myconsole.js"></script>
 <script type="text/javascript" src="menu.js"></script>
-<!-- <script type="text/javascript" src="dnd.js"></script>
-<script type="text/javascript" src="dom-drag.js"></script> -->
-<script type="text/javascript" src="commons.js"></script> 
 <script type="text/javascript" src="ticker.js"></script>
-<script type="text/javascript" src="xhr.js"></script>
+<script type="text/javascript" src="heartbit.js"></script>
+<script type="text/javascript" src="xynt-http-streaming.js"></script>
 <script type="text/javascript" src="room.js"></script>
 <script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js"></script>
 <script type="text/javascript" src="AC_OETags.js"></script>
 <script type="text/javascript" src="probrowser.js"></script>
-<!-- <script type="text/javascript" src="myconsole.js"></script>  -->
 <link rel="stylesheet" type="text/css" href="brisk.css">
 <link rel="stylesheet" type="text/css" href="room.css">
 <SCRIPT type="text/javascript"><!--
-   var sess;
+   var sess = "not_connected";
    var g_lang = "<? echo $G_lang; ?>";
    var g_lng = "<? echo $G_lng; ?>";
    var g_tables_n = <? echo TABLES_N; ?>;
@@ -1031,7 +1027,6 @@ echo "$body"; ?>
    var g_withflash = false;
    var g_imgct= 0;
    var g_imgtot = g_preload_img_arr.length;
-   var myfrom = "index_php";
    var g_brow = null;
    var spo_slide, sup_slide;
 
@@ -1062,9 +1057,9 @@ else {
     }
 
 ?>
-     xhr_rd = createXMLHttpRequest();
-     // xhr_rd.setRequestHeader("Content-type", "text/html; charset=utf-8");
      sess = "<?php echo "$sess"; ?>";
+     hstm = new http_streaming(window, console, gst, 'index_php', 'sess', sess, $('sandbox'), 'index_rd_ifra.php', function(com){eval(com);});
+     hstm.hbit_set(heartbit);
      tra = new train($('room_tit'));
      window.onunload = onunload_cb;
      window.onbeforeunload = onbeforeunload_cb;
@@ -1075,7 +1070,8 @@ else {
      else
        $("proflashext").innerHTML = "";
 
-     setTimeout(xhr_rd_poll, 0, sess); 
+     // console.log("session from main: "+sess);
+     hstm.start();
      // alert("ARR LENGTH "+g_preload_img_arr.length);
      setTimeout(preload_images, 0, g_preload_img_arr, g_imgct); 
      $("txt_in").focus();
@@ -1211,6 +1207,4 @@ type="submit" class="button" onclick="this.form.elements['realsub'].value = 'chi
    }
 }
 
-main();
-
 ?>