]> mop.ddnsfree.com - git repositories - brisk.git/commitdiff
short <? tags turned into <?php: the page was unusable in the browser
authorMatteo Nastasi <nastasi@alternativeoutput.it>
Sun, 13 Sep 2026 10:32:06 +0000 (12:32 +0200)
committerMatteo Nastasi <nastasi@alternativeoutput.it>
Sun, 13 Sep 2026 10:32:06 +0000 (12:32 +0200)
109 occurrences of "<? echo ... ?>" in web/index.php (48) and
web/briskin5/index.php (61). Short tags only work with short_open_tag = On,
which is Off by default in php and is Off on debian 13; on the production
machine (debian 8) it is evidently On.

This is not a cosmetic problem. Without interpretation the text of the tag
ends up literally in the html, and in a javascript context such as

    var g_tables_n = <? echo TABLES_N; ?>;

it becomes a syntax error that prevents the compilation of the WHOLE <script>
block. As a consequence none of the variables declared in there is created,
"sess" included, and the room page is unusable: the browser console reports
"sess is not defined" and the buttons do nothing.

Every src/href with cache busting was broken too
("commons.js?v=<? echo BSK_BUSTING; ?>"), and now renders properly
("commons.js?v=997ebdc").

Converted to <?php instead of turning short_open_tag on: the directive is
discouraged and not guaranteed, while the explicit form works everywhere.
All 109 occurrences had the identical shape "<? echo", and none of them fell
inside a php string, so the substitution is mechanical. Checked that the
generated page no longer contains uninterpreted tags.

Found by the user opening the site with a real browser: it is the first
defect that came from the javascript client, which the curl tests could not
detect because they do not execute the page.

NOTE: this commit also carries two pre-existing changes from the working
copy, unrelated to the tag conversion: the inclusion of custom.js in
index.php (two lines) and $brisk_donate passed to $brisk_vertical_menu. They
were already there and were picked up by the "git add" of the whole file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014M1jiEq9cHdE5SE5j6vFuE

web/briskin5/index.php
web/index.php

index 49f358733fc815ea784561dbbf240889957d041e..2016830223d55b13f58269ad5b510ef86d0f886e 100644 (file)
@@ -71,20 +71,20 @@ function bin5_index_main($transp_type, $header, &$header_out, $addr, $get, $post
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <title>Brisk - Tavolo <?php echo "$table_idx";?></title>
 <link rel="shortcut icon" href="../img/brisk_ico.png">
-<link rel="stylesheet" type="text/css" href="../brisk.css?v=<? echo BSK_BUSTING; ?>">
-<link rel="stylesheet" type="text/css" href="briskin5.css?v=<? echo BSK_BUSTING; ?>">
-<link rel="stylesheet" type="text/css" href="cards_<? echo $deck; ?>.css?v=<? echo BSK_BUSTING; ?>">
+<link rel="stylesheet" type="text/css" href="../brisk.css?v=<?php echo BSK_BUSTING; ?>">
+<link rel="stylesheet" type="text/css" href="briskin5.css?v=<?php echo BSK_BUSTING; ?>">
+<link rel="stylesheet" type="text/css" href="cards_<?php echo $deck; ?>.css?v=<?php echo BSK_BUSTING; ?>">
 <script type="text/javascript">
    var g_deck = "<?php echo "$deck"; ?>";
 </script>
 <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="../heartbit.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="../xynt-streaming.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="dnd.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="dom-drag.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="briskin5.js?v=<? echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="../commons.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="../heartbit.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="../xynt-streaming.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="dnd.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="dom-drag.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="briskin5.js?v=<?php echo BSK_BUSTING; ?>"></script>
 <script type="text/javascript">
    var $$ = jQuery.noConflict();
 
@@ -151,51 +151,51 @@ window.onload = function() {
 <div id="bg" class="area">
 
 <div id="remark" class="remark0"></div>
-<img id="card0" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card1" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card2" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card3" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card4" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card5" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card6" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card7" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="takes" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ne0" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ne1" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ne2" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ne3" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ne4" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ne5" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ne6" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ne7" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="takes_ne" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_nw0" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_nw1" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_nw2" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_nw3" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_nw4" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_nw5" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_nw6" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_nw7" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="takes_nw" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png" class="sp-card"/>
-<img id="card_ea0" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="card_ea1" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="card_ea2" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="card_ea3" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="card_ea4" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="card_ea5" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="card_ea6" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="card_ea7" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="takes_ea" data-card-id="cover_ea" src="img/cards_<? echo $deck; ?>_empty_ea.png" class="sp-card"/>
-<img id="card_we0" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
-<img id="card_we1" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
-<img id="card_we2" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
-<img id="card_we3" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
-<img id="card_we4" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
-<img id="card_we5" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
-<img id="card_we6" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
-<img id="card_we7" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
-<img id="takes_we" data-card-id="cover_we" src="img/cards_<? echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="card0" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card1" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card2" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card3" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card4" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card5" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card6" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card7" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="takes" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ne0" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ne1" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ne2" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ne3" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ne4" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ne5" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ne6" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ne7" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="takes_ne" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_nw0" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_nw1" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_nw2" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_nw3" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_nw4" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_nw5" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_nw6" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_nw7" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="takes_nw" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png" class="sp-card"/>
+<img id="card_ea0" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="card_ea1" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="card_ea2" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="card_ea3" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="card_ea4" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="card_ea5" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="card_ea6" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="card_ea7" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="takes_ea" data-card-id="cover_ea" src="img/cards_<?php echo $deck; ?>_empty_ea.png" class="sp-card"/>
+<img id="card_we0" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="card_we1" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="card_we2" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="card_we3" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="card_we4" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="card_we5" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="card_we6" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="card_we7" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
+<img id="takes_we" data-card-id="cover_we" src="img/cards_<?php echo $deck; ?>_empty_we.png" class="sp-card"/>
 
 <div id="asta" class="asta">
   <img id="asta0" src="img/asta0.png" class="astacard">
@@ -262,17 +262,17 @@ window.onload = function() {
 </div>
 <div id="chooseed" class="chooseed">
                            <?php echo $mlang_bin5_index['aucwin'][$G_lang]; ?>
-<img id="seed0" src="img/cards_<? echo $deck; ?>_empty.png" class="seed0"/>
-<img id="seed1" src="img/cards_<? echo $deck; ?>_empty.png" class="seed1"/>
-<img id="seed2" src="img/cards_<? echo $deck; ?>_empty.png" class="seed2"/>
-<img id="seed3" src="img/cards_<? echo $deck; ?>_empty.png" class="seed3"/>
+<img id="seed0" src="img/cards_<?php echo $deck; ?>_empty.png" class="seed0"/>
+<img id="seed1" src="img/cards_<?php echo $deck; ?>_empty.png" class="seed1"/>
+<img id="seed2" src="img/cards_<?php echo $deck; ?>_empty.png" class="seed2"/>
+<img id="seed3" src="img/cards_<?php echo $deck; ?>_empty.png" class="seed3"/>
 
                            
 </div>
 <div id="caller" class="caller">
 <div id="callerinfo" class="callerinfo">Info</div>
                            <!-- probably FIXME -->
-<img id="callerimg" data-card-id="cover" src="img/cards_<? echo $deck; ?>_empty.png">
+<img id="callerimg" data-card-id="cover" src="img/cards_<?php echo $deck; ?>_empty.png">
 </div>
 <div class="table_commands">
 <table>
index eb49939850e5e6bd62809af049620d3e4bbbdd48..4269821e26b236106d8c1a5b8dc42dc374fffb45 100644 (file)
@@ -1030,35 +1030,36 @@ supported by:<br>
 <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>
-<script type="text/javascript" src="info.js?v=<? echo BSK_BUSTING; ?>"></script>
-<!-- <script type="text/javascript" src="myconsole.js?v=<? echo BSK_BUSTING; ?>"></script> -->
-<script type="text/javascript" src="menu.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="heartbit.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="xynt-streaming.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="room.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="md5.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="probrowser.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="json2.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="/cookie_law.js?v=<? echo BSK_BUSTING; ?>"></script>
-<link rel="stylesheet" type="text/css" href="/cookie_law.css?v=<? echo BSK_BUSTING; ?>">
-<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" src="commons.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="fieldify.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="prefs.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="info.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<!-- <script type="text/javascript" src="myconsole.js?v=<?php echo BSK_BUSTING; ?>"></script> -->
+<script type="text/javascript" src="menu.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="heartbit.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="xynt-streaming.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="custom.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="room.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="md5.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="probrowser.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="json2.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="/cookie_law.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<link rel="stylesheet" type="text/css" href="/cookie_law.css?v=<?php echo BSK_BUSTING; ?>">
+<link rel="stylesheet" type="text/css" href="brisk.css?v=<?php echo BSK_BUSTING; ?>">
+<link rel="stylesheet" type="text/css" href="room.css?v=<?php echo BSK_BUSTING; ?>">
 
 <script type="text/javascript"><!--
 var $$ = jQuery.noConflict();
 
 var myname = null;
 var g_debug = 0;
-var g_lang = "<? echo $G_lang; ?>";
-var g_lng = "<? echo $G_lng; ?>";
-var g_tables_n = <? echo TABLES_N; ?>;
-var g_tables_appr_n = <? echo TABLES_APPR_N; ?>;
-var g_tables_auth_n = <? echo TABLES_AUTH_N; ?>;
-var g_tables_cert_n = <? echo TABLES_CERT_N; ?>;
+var g_lang = "<?php echo $G_lang; ?>";
+var g_lng = "<?php echo $G_lng; ?>";
+var g_tables_n = <?php echo TABLES_N; ?>;
+var g_tables_appr_n = <?php echo TABLES_APPR_N; ?>;
+var g_tables_auth_n = <?php echo TABLES_AUTH_N; ?>;
+var g_tables_cert_n = <?php echo TABLES_CERT_N; ?>;
 var g_prefs, g_prefs_new = null;
 var g_jukebox = null;
 var g_is_spawn = 0;
@@ -1122,7 +1123,7 @@ window.onload = function() {
         }
         printf($brisk_header_form);
         printf("<table class=\"floaty\"><tr><td class=\"floatyleft\">\n");
-        printf($brisk_vertical_menu, '', '');
+        printf($brisk_vertical_menu, '', $brisk_donate);
 
         sidebanners_render($G_sidebanner, $G_sidebanner_idx);
         printf("</td><td>");
@@ -1203,34 +1204,35 @@ cookie_law(null);
 <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>
-<script type="text/javascript" src="info.js?v=<? echo BSK_BUSTING; ?>"></script>
-<!-- <script type="text/javascript" src="myconsole.js?v=<? echo BSK_BUSTING; ?>"></script> -->
-<script type="text/javascript" src="menu.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="ticker.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="heartbit.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="xynt-streaming.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="room.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="probrowser.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="json2.js?v=<? echo BSK_BUSTING; ?>"></script>
-<script type="text/javascript" src="/cookie_law.js?v=<? echo BSK_BUSTING; ?>"></script>
-<link rel="stylesheet" type="text/css" href="/cookie_law.css?v=<? echo BSK_BUSTING; ?>">
-<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" src="commons.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="fieldify.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="prefs.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="info.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<!-- <script type="text/javascript" src="myconsole.js?v=<?php echo BSK_BUSTING; ?>"></script> -->
+<script type="text/javascript" src="menu.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="ticker.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="heartbit.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="xynt-streaming.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="custom.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="room.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="probrowser.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="json2.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<script type="text/javascript" src="/cookie_law.js?v=<?php echo BSK_BUSTING; ?>"></script>
+<link rel="stylesheet" type="text/css" href="/cookie_law.css?v=<?php echo BSK_BUSTING; ?>">
+<link rel="stylesheet" type="text/css" href="brisk.css?v=<?php echo BSK_BUSTING; ?>">
+<link rel="stylesheet" type="text/css" href="room.css?v=<?php echo BSK_BUSTING; ?>">
 <script type="text/javascript"><!--
    var $$ = jQuery.noConflict();
 
    var sess = "not_connected";
    var g_debug = 0;
-   var g_lang = "<? echo $G_lang; ?>";
-   var g_lng = "<? echo $G_lng; ?>";
-   var g_tables_n = <? echo TABLES_N; ?>;
-   var g_tables_appr_n = <? echo TABLES_APPR_N; ?>;
-   var g_tables_auth_n = <? echo TABLES_AUTH_N; ?>;
-   var g_tables_cert_n = <? echo TABLES_CERT_N; ?>;
+   var g_lang = "<?php echo $G_lang; ?>";
+   var g_lng = "<?php echo $G_lng; ?>";
+   var g_tables_n = <?php echo TABLES_N; ?>;
+   var g_tables_appr_n = <?php echo TABLES_APPR_N; ?>;
+   var g_tables_auth_n = <?php echo TABLES_AUTH_N; ?>;
+   var g_tables_cert_n = <?php echo TABLES_CERT_N; ?>;
    var g_prefs, g_prefs_new = null;
    var g_is_spawn = 0;
    var g_jukebox = null;