From 34f47608a4812b8b32c97a0a776de69d750e3d6b Mon Sep 17 00:00:00 2001 From: "Matteo Nastasi (mop)" Date: Wed, 25 Nov 2015 09:36:15 +0100 Subject: [PATCH] add tables for apprentices --- INSTALL.sh | 10 ++++++++-- TODO.txt | 4 +++- web/Obj/brisk.phh | 14 ++++++++++++-- web/index.php | 2 ++ web/index_wr.php | 6 ++++++ web/room.js | 4 ++++ 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/INSTALL.sh b/INSTALL.sh index ee329b0..36e2f70 100755 --- a/INSTALL.sh +++ b/INSTALL.sh @@ -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 ] [-G ] [-A ] [-a ] [-f ] [-p ] [-U ] [-u ] [-d ] [-w ] [-k ] [-l ] [-y ] [-P ] [-x]" + echo "$1 [-W] [-n 3|5] [-c 2|8] [-t <(n>=4)>] [-T ] [-r ] [-G ] [-A ] [-a ] [-f ] [-p ] [-U ] [-u ] [-d ] [-w ] [-k ] [-l ] [-y ] [-P ] [-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; diff --git a/TODO.txt b/TODO.txt index 88a24dc..9a0599b 100644 --- a/TODO.txt +++ b/TODO.txt @@ -16,11 +16,13 @@ * 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 diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh index 07cc6de..d543267 100644 --- a/web/Obj/brisk.phh +++ b/web/Obj/brisk.phh @@ -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; diff --git a/web/index.php b/web/index.php index 7a3538a..162e142 100644 --- a/web/index.php +++ b/web/index.php @@ -1024,6 +1024,7 @@ var g_debug = 0; var g_lang = ""; var g_lng = ""; var g_tables_n = ; +var g_tables_appr_n = ; var g_tables_auth_n = ; var g_tables_cert_n = ; var g_prefs, g_prefs_new = null; @@ -1193,6 +1194,7 @@ cookie_law(null); var g_lang = ""; var g_lng = ""; var g_tables_n = ; + var g_tables_appr_n = ; var g_tables_auth_n = ; var g_tables_cert_n = ; var g_prefs, g_prefs_new = null; diff --git a/web/index_wr.php b/web/index_wr.php index cb5ed92..ea88b0f 100644 --- a/web/index_wr.php +++ b/web/index_wr.php @@ -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' => 'Il server sta per essere riavviato, non possono avere inizio nuove partite.', 'en' => 'The server is going to be rebooted, new games are not allowed.'), + 'mustappr' => array( 'it' => 'Il tavolo a cui volevi sederti richiede autentifica o apprendistato.', + 'en' => 'The table where you want to sit require authentication or apprentice'), 'mustauth' => array( 'it' => 'Il tavolo a cui volevi sederti richiede autentifica.', 'en' => 'The table where you want to sit require authentication'), 'mustcert' => array( 'it' => 'Il tavolo a cui volevi sederti richiede autentifica e certificazione.', @@ -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]); } diff --git a/web/room.js b/web/room.js index 2dd207c..7874263 100644 --- a/web/room.js +++ b/web/room.js @@ -460,6 +460,10 @@ function j_tab_act_cont(idx, act) // MLANG 1 $("table_act"+idx).innerHTML = ''; } + else if (act == 'sitappr') { + // MLANG 1 + $("table_act"+idx).innerHTML = ''; + } else if (act == 'sitreser') { // MLANG 1 $("table_act"+idx).innerHTML = ''; -- 2.17.1