add tables for apprentices
authorMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Wed, 25 Nov 2015 08:36:15 +0000 (09:36 +0100)
committerMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Wed, 25 Nov 2015 08:36:15 +0000 (09:36 +0100)
INSTALL.sh
TODO.txt
web/Obj/brisk.phh
web/index.php
web/index_wr.php
web/room.js

index ee329b0..36e2f70 100755 (executable)
@@ -9,7 +9,8 @@ apache_conf="/etc/apache2/sites-available/default"
 card_hand=3
 players_n=3
 tables_n=44
-tables_auth_n=12
+tables_appr_n=12
+tables_auth_n=8
 tables_cert_n=4
 brisk_auth_conf="brisk_spu_auth.conf.pho"
 brisk_debug="0x0400"
@@ -31,7 +32,7 @@ function usage () {
     echo "$1 -h"
     echo "$1 chk                          - run lintian on all ph* files."
     echo "$1 pkg                          - build brisk packages."
-    echo "$1 [-W] [-n 3|5] [-c 2|8] [-t <(n>=4)>] [-T <auth_tab>] [-G <cert_tab>] [-A <apache-conf>] [-a <auth_file_name>] [-f <conffile>] [-p <outconf>] [-U <usock_path>] [-u <sys_user>] [-d <TRUE|FALSE>] [-w <web_dir>] [-k <ftok_dir>] [-l <legal_path>] [-y <proxy_path>] [-P <prefix_path>] [-x]"
+    echo "$1 [-W] [-n 3|5] [-c 2|8] [-t <(n>=4)>] [-T <auth_tab>] [-r <appr_tab>] [-G <cert_tab>] [-A <apache-conf>] [-a <auth_file_name>] [-f <conffile>] [-p <outconf>] [-U <usock_path>] [-u <sys_user>] [-d <TRUE|FALSE>] [-w <web_dir>] [-k <ftok_dir>] [-l <legal_path>] [-y <proxy_path>] [-P <prefix_path>] [-x]"
     echo "  -h this help"
     echo "  -f use this config file"
     echo "  -p save preferences in the file"
@@ -40,6 +41,7 @@ function usage () {
     echo "  -c number cards in hand         - def. $card_hand"
     echo "  -n number of players            - def. $players_n"
     echo "  -t number of tables             - def. $tables_n"
+    echo "  -r number of appr-only tables   - def. $tables_appr_n"
     echo "  -T number of auth-only tables   - def. $tables_auth_n"
     echo "  -G number of cert-only tables   - def. $tables_cert_n"
     echo "  -a authorization file name      - def. \"$brisk_auth_conf\""
@@ -170,6 +172,7 @@ while [ $# -gt 0 ]; do
         -c*) card_hand="$(get_param "-c" "$1" "$2")"; sh=$?;;
         -n*) players_n="$(get_param "-n" "$1" "$2")"; sh=$?;;
         -t*) tables_n="$(get_param "-t" "$1" "$2")"; sh=$?;;
+        -r*) tables_appr_n="$(get_param "-r" "$1" "$2")"; sh=$?;;
         -T*) tables_auth_n="$(get_param "-T" "$1" "$2")"; sh=$?;;
         -G*) tables_cert_n="$(get_param "-G" "$1" "$2")"; sh=$?;;
         -a*) brisk_auth_conf="$(get_param "-a" "$1" "$2")"; sh=$?;;
@@ -207,6 +210,7 @@ echo "    apache_conf:\"$apache_conf\""
 echo "    card_hand:   $card_hand"
 echo "    players_n:   $players_n"
 echo "    tables_n:    $tables_n"
+echo "    tables_appr_n: $tables_appr_n"
 echo "    tables_auth_n: $tables_auth_n"
 echo "    tables_cert_n: $tables_cert_n"
 echo "    brisk_auth_conf: \"$brisk_auth_conf\""
@@ -231,6 +235,7 @@ if [ ! -z "$outconf" ]; then
     echo "card_hand=$card_hand"
     echo "players_n=$players_n"
     echo "tables_n=$tables_n"
+    echo "tables_appr_n=$tables_appr_n"
     echo "tables_auth_n=$tables_auth_n"
     echo "tables_cert_n=$tables_cert_n"
     echo "brisk_auth_conf=\"$brisk_auth_conf\""
@@ -405,6 +410,7 @@ s@define *( *'SITE_PREFIX_LEN',[^)]*)@define('SITE_PREFIX_LEN', $prefix_path_len
 sed -i "s@define *( *'USOCK_PATH',[^)]*)@define('USOCK_PATH', \"$usock_path\")@g" ${web_path}__/spush/brisk-spush.phh
 
 sed -i "s@define *( *'TABLES_N',[^)]*)@define('TABLES_N', $tables_n)@g;
+s@define *( *'TABLES_APPR_N',[^)]*)@define('TABLES_APPR_N', $tables_appr_n)@g;
 s@define *( *'TABLES_AUTH_N',[^)]*)@define('TABLES_AUTH_N', $tables_auth_n)@g;
 s@define *( *'TABLES_CERT_N',[^)]*)@define('TABLES_CERT_N', $tables_cert_n)@g;
 s@define *( *'BRISK_DEBUG',[^)]*)@define('BRISK_DEBUG', $brisk_debug)@g;
index 88a24dc..9a0599b 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
    * inherited info
    * Users Network construction
      DONE - sql
-     - dbase API
+     DONE - dbase API
+     DONE - add apprentices tables
      - enhance info interface
        . disable parts of interface
      - minisplash at end of the match
      - differentiate table authorization
+   * add new kind of isolation for apprentice
 
    * Double click on chat to open preferences
 
index 07cc6de..d543267 100644 (file)
@@ -28,6 +28,7 @@ define('FTOK_PATH', "/var/lib/brisk");
 define('LEGAL_PATH', "/tmp/legal_brisk");
 define('PROXY_PATH', "/var/lib/brisk_proxy");
 define('TABLES_N', 36);
+define('TABLES_APPR_N', 12);
 define('TABLES_AUTH_N', 8);
 define('TABLES_CERT_N', 4);
 define('PLAYERS_N', 3);
@@ -634,8 +635,9 @@ class Vect {
 }
 
 define('TABLE_AUTH_TY_PUBL', 0);
-define('TABLE_AUTH_TY_AUTH', 1);
-define('TABLE_AUTH_TY_CERT', 2);
+define('TABLE_AUTH_TY_APPR', 1);
+define('TABLE_AUTH_TY_AUTH', 2);
+define('TABLE_AUTH_TY_CERT', 3);
 
 
 class Table {
@@ -671,6 +673,8 @@ class Table {
         $thiz->auth_type =   TABLE_AUTH_TY_CERT;
     else if ($idx < TABLES_AUTH_N)
         $thiz->auth_type =   TABLE_AUTH_TY_AUTH;
+    else if ($idx < TABLES_APPR_N)
+        $thiz->auth_type =   TABLE_AUTH_TY_APPR;
     else
         $thiz->auth_type =   TABLE_AUTH_TY_PUBL;
 
@@ -825,6 +829,12 @@ class Table {
               else
                   $act = 'reserved';
               break;
+          case TABLE_AUTH_TY_APPR:
+              if ($user->is_auth())
+                  $act = "sitappr";
+              else
+                  $act = 'reserved';
+              break;
           default:
               $act = 'sit';
               break;
index 7a3538a..162e142 100644 (file)
@@ -1024,6 +1024,7 @@ 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_prefs, g_prefs_new = null;
@@ -1193,6 +1194,7 @@ cookie_law(null);
    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_prefs, g_prefs_new = null;
index cb5ed92..ea88b0f 100644 (file)
@@ -42,6 +42,8 @@ $mlang_indwr = array( 'unknownerr'    => array( 'it' => 'errore sconosciuto',
                                            'en' => 'To send a message to the administrator you have to be authenticated'),
                       'shutmsg'  => array( 'it' => '<b>Il server sta per essere riavviato, non possono avere inizio nuove partite.</b>',
                                            'en' => '<b>The server is going to be rebooted, new games are not allowed.</b>'),
+                      'mustappr' => array( 'it' => '<b>Il tavolo a cui volevi sederti richiede autentifica o apprendistato.</b>',
+                                           'en' => '<b>The table where you want to sit require authentication or apprentice</b>'),
                       'mustauth' => array( 'it' => '<b>Il tavolo a cui volevi sederti richiede autentifica.</b>',
                                            'en' => '<b>The table where you want to sit require authentication</b>'),
                       'mustcert' => array( 'it' => '<b>Il tavolo a cui volevi sederti richiede autentifica e certificazione.</b>',
@@ -827,6 +829,10 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie)
                           (!$user->is_auth() || $user->is_appr()) ) {
                     $not_allowed_msg = nickserv_msg($dt, $mlang_indwr['mustauth'][$G_lang]);
                 }
+                else if ( $table->auth_type == TABLE_AUTH_TY_APPR &&
+                          (!$user->is_auth()) ) {
+                    $not_allowed_msg = nickserv_msg($dt, $mlang_indwr['mustappr'][$G_lang]);
+                }
                 else if ($user->flags & USER_FLAG_TY_FIRONLY && $table->player_n > 0) {
                     $not_allowed_msg = nickserv_msg($dt, $mlang_indwr['mustfirst'][$G_lang]);
                 }
index 2dd207c..7874263 100644 (file)
@@ -460,6 +460,10 @@ function j_tab_act_cont(idx, act)
         // MLANG 1
         $("table_act"+idx).innerHTML = '<input type="button" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');">';
     }
+    else if (act == 'sitappr') {
+        // MLANG 1
+        $("table_act"+idx).innerHTML = '<input type="button" style="background-repeat: no-repeat; background-position: center; background-image: url(\'img/okappr.png\');" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');" title="'+(g_lang == 'en' ? "reserved table for authenticated and apprentice users only" : "tavolo riservato agli utenti registrati e agli apprendisti")+'" alt="'+(g_lang == 'en' ? "reserved table for authenticated and apprentice users only" : "tavolo riservato agli utenti registrati e agli apprendisti")+'">';
+    }
     else if (act == 'sitreser') {
         // MLANG 1
         $("table_act"+idx).innerHTML = '<input type="button" style="background-repeat: no-repeat; background-position: center; background-image: url(\'img/okauth.png\');" class="button" name="xhenter'+idx+'"  value="'+(g_lang == 'en' ? "Sit down." : "Mi siedo.")+'" onclick="act_sitdown('+idx+');" title="'+(g_lang == 'en' ? "reserved table for authenticated users only" : "tavolo riservato agli utenti registrati")+'" alt="'+(g_lang == 'en' ? "reserved table for authenticated users only" : "tavolo riservato agli utenti registrati")+'">';