X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;ds=inline;f=web%2FObj%2Fbrisk.phh;h=90c5b5001ce54e05618c761b3aa8a403a6309e5d;hb=7b4375bcaf7de9530942d79b3bb78991054d7e84;hp=803d28bbe3e6b2b277728d0befeb712341a65465;hpb=3dc6d58fd477565017745b33c752232166a0b508;p=brisk.git
diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh
index 803d28b..90c5b50 100644
--- a/web/Obj/brisk.phh
+++ b/web/Obj/brisk.phh
@@ -141,12 +141,12 @@ $mlang_brisk = array( 'btn_backstand'=> array( 'it' => 'torna in piedi',
$G_lng = langtolng($G_lang);
$G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 );
-$G_brisk_version = "4.6.0";
+$G_brisk_version = "4.7.1";
/* MLANG: ALL THE INFO STRINGS IN brisk.phh */
-$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': aggiunti script di avvio automatico, gestione dei segnali e logging dell\' ultima connessione.',
+$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': prova il nuovo azioni->preferenze.',
'Se vuoi iscriverti alla Mailing List, cliccala!' ),
- 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NEWS: usage of reader/writer locking instead of generic exclusive locking.',
+ 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NEWS: server-side infrastructure to manage user preferences added and S customization added.',
'If you want to subscribe our Mailing List, click it!' ) );
$G_room_help = array( 'it' => '
@@ -698,6 +698,7 @@ class Delay_Manager
class Client_prefs {
var $listen;
+ var $supp_comp;
function Client_prefs()
{
@@ -715,6 +716,7 @@ class Client_prefs {
{
$thiz = new Client_prefs();
if ($thiz->json_load($json) == FALSE) {
+ unset($thiz);
return (FALSE);
}
@@ -725,22 +727,48 @@ class Client_prefs {
{
fprintf(STDERR, "QQ %s: %x\n", __FUNCTION__, $user->flags);
$this->listen = ($user->flags & USER_FLAG_MAP_AUTH) >> 2;
+ if ($user->rec != FALSE) {
+ $this->supp_comp = $user->rec->supp_comp;
+ }
+ else {
+ $this->supp_comp = "000000000000";
+ }
fprintf(STDERR, "QQ %s: LISTEN: %d\n", __FUNCTION__, $this->listen);
}
function json_load($json_s)
{
- if (gettype($json_s) == "string") {
- if (($json = json_decode($json_s)) == FALSE)
- return FALSE;
- }
- else {
- $json = $json_s;
- }
- $this->listen = $json->listen;
+ $ret = FALSE;
+
+ do {
+ if (gettype($json_s) == "string") {
+ if (($json = json_decode($json_s)) == FALSE)
+ break;
+ }
+ else {
+ $json = $json_s;
+ }
+ if ($this->listen < 0 || $this->listen > 2)
+ break;
+ $this->listen = $json->listen;
+
+ if (mb_strlen($json->supp_comp, "ASCII") != 12)
+ break;
- return TRUE;
+ for ($i = 0, $idx = 0 ; $i < 12 ; $i++) {
+ if (($json->supp_comp[$i] >= '0' && $json->supp_comp[$i] <= '9') ||
+ ($json->supp_comp[$i] >= 'a' && $json->supp_comp[$i] <= 'f'))
+ continue;
+ break;
+ }
+ if ($i < 12)
+ break;
+ $this->supp_comp = $json->supp_comp;
+ $ret = TRUE;
+ } while (FALSE);
+
+ return ($ret);
}
function store($user, $is_save)
@@ -751,6 +779,9 @@ class Client_prefs {
$user->flags_set(($this->listen << 2), USER_FLAG_MAP_AUTH);
fprintf(STDERR, "QQ %s::%s %x\n", __CLASS__, __FUNCTION__,
$user->flags);
+ if ($user->is_supp_custom()) {
+ $user->rec->supp_comp = $this->supp_comp;
+ }
if ($is_save)
$user->store_set();
}
@@ -1875,6 +1906,8 @@ class Room
$this->user[$idx]->bantime = 0;
$this->user[$idx]->ip = $ip;
+ $this->user[$idx]->rec = $authenticate;
+ fprintf(STDERR, "MOP: [%s]\n", $authenticate->supp_comp);
$this->user[$idx]->flags = $user_type;
$this->user[$idx]->flags |= ($authenticate != FALSE ? USER_FLAG_AUTH : 0x00);
$this->user[$idx]->flags |= ( ($pass != FALSE && $bdb == FALSE) ? USER_FLAG_DBFAILED : 0x00);
@@ -2190,18 +2223,28 @@ class Room
$content = ' j_stand_cont( [ ';
+ $user_cur_id = $user->idx_get();
for ($i = 0 , $ct = 0 ; $i < MAX_PLAYERS ; $i++) {
if ($this->user[$i]->sess == "" || $this->user[$i]->stat != "room" || $this->user[$i]->name == "")
continue;
$flags = $this->user[$i]->flags;
-
+
+ // sql record exists AND last donate > 2013-01-01
+ if ($this->user[$i]->is_supp_custom()) {
+ $supp_comp_s = sprintf(', "%s"', $this->user[$i]->rec->supp_comp);
+ }
+ else {
+ $supp_comp_s = '';
+ }
+
if ($this->user[$i]->subst == "standup") {
- if ($user->idx_get() == $i) {
+ if ($user_cur_id == $i) {
$flags |= 1;
}
- $content .= sprintf('%s[ %d, "%s" ]',($ct > 0 ? ', ' : ''), $flags, xcape($this->user[$i]->name));
+ $content .= sprintf('%s[ %d, "%s"%s ]',($ct > 0 ? ', ' : ''), $flags,
+ xcape($this->user[$i]->name), $supp_comp_s);
$ct++;
}
}
@@ -2225,18 +2268,24 @@ class Room
if ($user->stat != 'room')
return;
+ $user_cur_id = $user->idx_get();
$content = "[ ";
for ($i = 0 ; $i < $table->player_n ; $i++) {
$user_cur = $this->user[$table->player[$i]];
$flags = $user_cur->flags;
- if ($user->idx_get() == $table->player[$i])
+ if ($user_cur_id == $table->player[$i])
$flags |= 1;
log_main($user_cur->name. sprintf(" IN TABLE [%d]", $table_idx));
-
- $content .= sprintf('%s[ %d, "%s" ]',($i == 0 ? '' : ', '), $flags, xcape($user_cur->name));
+ if ($user_cur->is_supp_custom())
+ $supp_comp_s = sprintf(', "%s"', $user_cur->rec->supp_comp);
+ else
+ $supp_comp_s = '';
+
+ $content .= sprintf('%s[ %d, "%s"%s ]',($i == 0 ? '' : ', '), $flags,
+ xcape($user_cur->name), $supp_comp_s);
}
$content .= ' ]';