Merge branch 'post-bold2' into avoid-domino
[brisk.git] / web / index.php
index 4ca38fc..553f10c 100644 (file)
@@ -130,18 +130,14 @@ $mlang_room = array( 'userpassuse'  => array('it' => 'Il tuo nickname è g
                                              'en' => 'visualize'),
                      'list_desc'    => array('it' => 'imposta le regole di ascolto',
                                              'en' => 'set the listen rules'),
-                     'tit_listall'  => array('it' => 'tutti',
+                     'tit_listall'  => array('it' => 'tutti gli utenti',
                                              'en' => 'everybody'),
                      'listall_desc' => array('it' => 'visualizza tutti gli utenti collegati',
                                              'en' => 'visualize all connected users'),
-                     'tit_listaut'  => array('it' => 'solo autenticati',
-                                             'en' => 'only authorized'),
-                     'tit_listisol'  => array('it' => 'visualizza solo gli utenti autenticati',
-                                             'en' => 'visualize authenticated users only'),
-                     'listaut_desc' => array('it' => 'visualizza solo gli utenti autenticati e i tavoli ad essi riservati',
+                     'tit_listisol'  => array('it' => 'solo gli user autenticati',
+                                             'en' => 'authenticated users only'),
+                     'listisol_desc' => array('it' => 'visualizza solo gli user autenticati e i tavoli a loro riservati',
                                              'en' => 'visualize authenticated users only and reserved tables to them'),
-                     'listisol_desc'=> array('it' => 'visualizza Brisk come se fosse solo per utenti con password',
-                                            'en' => 'show Brisk like an authenticated user only site'),
                      'suppcomp_tit' =>  array('it' => 'personalizza la tua S',
                                             'en' => 'customize your S'),
                      'suppcomp_r' =>  array('it' => 'rosso',
@@ -516,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") {
@@ -528,24 +531,33 @@ function index_main(&$brisk, $transp_type, $header, &$header_out, $remote_addr_f
     if ($ACTION == "room") {
         $tables .= '<div class="room_tab">';
         $tables .= '<table class="room_tab">';
+
+        $direct = ($user->is_auth() && !$user->is_appr());
         for ($ii = 0 ; $ii < TABLES_N ; $ii++) {
-            if ($user->is_auth() && !$user->is_appr())
+            if ($direct)
                 $i = $ii;
             else
                 $i = TABLES_N - $ii - 1;
 
             if ($ii % 4 == 0) {
-                $tables .= '<tr id = "tr_noauth'.$ii.'">';
-            }
-            if (TRUE || !($user->flags & USER_FLAG_ISOLAUTH) || $i < TABLES_APPR_N) {
-                $tables .= '<td id = "td_noauth'.$ii.'">';
-
-                $tables .= '<div class="room_div"><div class="room_tit"><b>'.$mlang_room['tit_tabl'][$G_lang].$i.'</b></div>';
-                $tables .= sprintf('<div class="proxhr" id="table%d"></div>', $i);
-                $tables .= sprintf('<div class="table_act" id="table_act%d"></div>', $i);
-                $tables .= '</div>';
-                $tables .= '</td>'."\n";
+                if ($direct) {
+                    $noauth_class = ($i + 3 < TABLES_APPR_N ? "" : "noauth");
+                }
+                else {
+                    $noauth_class = ($i < TABLES_APPR_N ? "" : "noauth");
+                }
+                $tables .= sprintf('<tr class="%s">', $noauth_class);
             }
+
+            $noauth_class = ($i < TABLES_APPR_N ? "" : "noauth");
+            $tables .= sprintf('<td class="%s">', $noauth_class);
+
+            $tables .= '<div class="room_div"><div class="room_tit"><b>'.$mlang_room['tit_tabl'][$G_lang].$i.'</b></div>';
+            $tables .= sprintf('<div class="proxhr" id="table%d"></div>', $i);
+            $tables .= sprintf('<div class="table_act" id="table_act%d"></div>', $i);
+            $tables .= '</div>';
+            $tables .= '</td>'."\n";
+
             if ($ii % 4 == 3) {
                 $tables .= '</tr>';
             }
@@ -1024,6 +1036,7 @@ supported by:<br>
 <title>Brisk</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <link rel="shortcut icon" href="img/brisk_ico.png">
+<script src="//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 <script type="text/javascript" src="commons.js?v=<? echo BSK_BUSTING; ?>"></script>
 <script type="text/javascript" src="fieldify.js?v=<? echo BSK_BUSTING; ?>"></script>
 <script type="text/javascript" src="prefs.js?v=<? echo BSK_BUSTING; ?>"></script>
@@ -1043,6 +1056,8 @@ supported by:<br>
 <link rel="stylesheet" type="text/css" href="room.css?v=<? echo BSK_BUSTING; ?>">
 
 <script type="text/javascript"><!--
+var $$ = jQuery.noConflict();
+
 var myname = null;
 var g_debug = 0;
 var g_lang = "<? echo $G_lang; ?>";
@@ -1194,6 +1209,7 @@ cookie_law(null);
 <title>Brisk</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <link rel="shortcut icon" href="img/brisk_ico.png">
+<script src="//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 <script type="text/javascript" src="commons.js?v=<? echo BSK_BUSTING; ?>"></script>
 <script type="text/javascript" src="fieldify.js?v=<? echo BSK_BUSTING; ?>"></script>
 <script type="text/javascript" src="prefs.js?v=<? echo BSK_BUSTING; ?>"></script>
@@ -1212,7 +1228,10 @@ cookie_law(null);
 <link rel="stylesheet" type="text/css" href="brisk.css?v=<? echo BSK_BUSTING; ?>">
 <link rel="stylesheet" type="text/css" href="room.css?v=<? echo BSK_BUSTING; ?>">
 <script type="text/javascript"><!--
+   var $$ = jQuery.noConflict();
+
    var sess = "not_connected";
+   var page_id = "<? echo $user->page_id; ?>";
    var g_debug = 0;
    var g_lang = "<? echo $G_lang; ?>";
    var g_lng = "<? echo $G_lng; ?>";
@@ -1236,12 +1255,23 @@ cookie_law(null);
    var spo_slide, sup_slide;
 
    window.onload = function() {
-     g_brow = get_browser_agent();
+       if ('localStorage' in window) {
+           var v_name = cookiepath.replace(/\//g, '') + '_index_page_id';
+           var local_page_id = window.localStorage.getItem(v_name);
+           if (local_page_id == page_id) {
+               window.location.reload();
+           }
+           else {
+               window.localStorage.setItem(v_name, page_id);
+           }
+       }
+
+       g_brow = get_browser_agent();
 
-     g_prefs = new client_prefs(null);
+       g_prefs = new client_prefs(null);
 
-     spo_slide  = new sideslide($('spon_caro'), 80, 20);
-     sup_slide  = new sideslide($('supp_caro'), 80, 20);
+       spo_slide  = new sideslide($('spon_caro'), 80, 20);
+       sup_slide  = new sideslide($('supp_caro'), 80, 20);
 
 <?php
         if ($BRISK_SHOWHTML == "debugtable") {
@@ -1260,7 +1290,8 @@ cookie_law(null);
         sidebanners_init($G_sidebanner_idx);
 ?>
      sess = "<?php echo "$sess"; ?>";
-     xstm = new xynt_streaming(window, <?php printf("\"%s\", %d", $transp_type, $transp_port); ?>, 2, null /* console */, gst, 'index_php', 'sess', sess, $('sandbox'), 'index_rd.php', function(com){eval(com);});
+    xstm = new xynt_streaming(window, <?php printf("\"%s\", %d", $transp_type, $transp_port); ?>, 2, null /* console */, gst,
+                              'index_php', 'sess', sess, $('sandbox'), 'index_rd.php', page_id, function(com){eval(com);});
      xstm.hbit_set(heartbit);
      tra = new train($('room_tit'));
      window.onunload = onunload_cb;
@@ -1515,7 +1546,7 @@ type="submit" class="button" onclick="this.form.elements['realsub'].value = 'chi
 '"><span id="list_all">
 <?php echo $mlang_room['tit_listall'][$G_lang];?>
 </span></td></tr>
-<tr><td><input style="vertical-align: bottom;" id="ra_listen_isol" type="radio" name="listen" value="2" onclick="prefs_update('listen');" title="'
+<tr><td><input style="vertical-align: bottom;" id="ra_listen_isol" type="radio" name="listen" value="1" onclick="prefs_update('listen');" title="'
 <?php echo $mlang_room['listisol_desc'][$G_lang];?>
 '"><span id="list_isol">
 <?php echo $mlang_room['tit_listisol'][$G_lang];?>