introduced 'page_id' in index.php
authorMatteo Nastasi <nastasi@alternativeoutput.it>
Sun, 19 Apr 2020 09:09:15 +0000 (11:09 +0200)
committerMatteo Nastasi <nastasi@alternativeoutput.it>
Sun, 19 Apr 2020 09:09:15 +0000 (11:09 +0200)
TODO.txt
web/Obj/user.phh
web/index.php

index 9e88cb7..a7aa3be 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,6 +1,14 @@
  TODO |
 ------+
 
+page_id =>
+  - add page_id to both index.php pages (WIP)
+  DONE - add page_id to user class
+  - pass page_id to transport (WIP)
+  - manage index_rd
+  - manage page to stop transport retry
+
+
   BUGS |
  ------+
    - manage client answer (ping) on closing ws
index 32bb71e..6335832 100644 (file)
@@ -112,6 +112,7 @@ class User {
   var $code;       // authentication code
   var $name;       // name of the user
   var $sess;       // session of the user
+  var $page_id;    // id of the latest page connected with this session
   var $ip;         // ip of the user
   var $lacc;       // last access (for the cleanup)
   var $laccwr;     // last access (for the cleanup)
@@ -167,7 +168,7 @@ class User {
   function User() {
   }
 
-  static function create(&$brisk, $idx, $name, $sess, $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
+  static function create(&$brisk, $idx, $name, $sess, $page_id="", $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
     if (($thiz = new User()) == FALSE)
       return (FALSE);
 
@@ -177,6 +178,7 @@ class User {
     $thiz->code       = -1;
     $thiz->name       = $name;
     $thiz->sess       = $sess;
+    $thiz->page_id    = $page_id;
     $thiz->ip         = $ip;
     $thiz->lacc       = time();
     $thiz->laccwr     = time();
@@ -233,6 +235,7 @@ class User {
     $this->code       = $from->code;
     $this->name       = $from->name;
     $this->sess       = $from->sess;
+    $this->page_id    = $from->page_id;
     $this->ip         = $from->ip;
     $this->lacc       = $from->lacc;
     $this->laccwr     = $from->laccwr;
@@ -299,6 +302,7 @@ class User {
     $thiz->code       = $from->code;
     $thiz->name       = $from->name;
     $thiz->sess       = $from->sess;
+    $thiz->page_id    = $from->page_id;
     $thiz->ip         = $from->ip;
     $thiz->lacc       = $from->lacc;
     $thiz->laccwr     = $from->laccwr;
@@ -578,6 +582,7 @@ class User {
 
     $tmp_sess = $this->sess;
     $this->sess = "";
+    $this->page_id = "";
     self::unproxy_step($tmp_sess);
     $this->name = "";  // OK here
     while (array_pop($this->comm) != NULL);
index eb49939..66ccd64 100644 (file)
@@ -512,6 +512,13 @@ function index_main(&$brisk, $transp_type, $header, &$header_out, $remote_addr_f
             }
         }
     }
+
+    if ($ACTION == "room") {
+        /* shutdown any previous transport socket */
+        $user->page_id = md5(microtime().$remote_addr_full);
+        // $brisk->abort_old_sockets($user);
+    }
+
     /* Rendering. */
 
     if ($BRISK_SHOWHTML == "debugtable") {
@@ -1052,6 +1059,7 @@ supported by:<br>
 var $$ = jQuery.noConflict();
 
 var myname = null;
+var page_id = "<$ echo $user->page_id; ?>";
 var g_debug = 0;
 var g_lang = "<? echo $G_lang; ?>";
 var g_lng = "<? echo $G_lng; ?>";