X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fuser.phh;h=87c93fb1f3a87ede4834e75c8d765a99ff183561;hb=0afea1ef9bfb43e9c1fe82aef2f13421b71836bb;hp=a2c382940bc8d9b6b6301cba2a91fe2570fc156f;hpb=9a47c903403cc9ced0120c237af9bec7dbec4a76;p=brisk.git diff --git a/web/Obj/user.phh b/web/Obj/user.phh index a2c3829..87c93fb 100644 --- a/web/Obj/user.phh +++ b/web/Obj/user.phh @@ -34,24 +34,27 @@ define('USER_FLAG_ISOLAUTH', 0x08); define('USER_FLAG_DBFAILED', 0x10); // user status -define('USER_FLAG_S_NORM', 0x000); // done -define('USER_FLAG_S_PAU', 0x100); // done -define('USER_FLAG_S_OUT', 0x200); // done -define('USER_FLAG_S_DOG', 0x300); // done -define('USER_FLAG_S_EAT', 0x400); // done -define('USER_FLAG_S_WRK', 0x500); // done -define('USER_FLAG_S_SMK', 0x600); // done -define('USER_FLAG_S_EYE', 0x700); // done -define('USER_FLAG_S_RABB', 0x800); // done -define('USER_FLAG_S_SOCC', 0x900); // done -define('USER_FLAG_S_BABY', 0xa00); // done -define('USER_FLAG_S_MOP', 0xb00); // done -define('USER_FLAG_S_BABBO', 0xc00); // done -define('USER_FLAG_S_RENNA', 0xd00); // done -define('USER_FLAG_S_PUPAZ', 0xe00); // done -define('USER_FLAG_S_VISCH', 0xf00); // done - -define('USER_FLAG_S_ALL', 0xf00); // done +define('USER_FLAG_S_NORM', 0x00); // done +define('USER_FLAG_S_PAU', 0x01); // done +define('USER_FLAG_S_OUT', 0x02); // done +define('USER_FLAG_S_DOG', 0x03); // done +define('USER_FLAG_S_EAT', 0x04); // done +define('USER_FLAG_S_WRK', 0x05); // done +define('USER_FLAG_S_SMK', 0x06); // done +define('USER_FLAG_S_EYE', 0x07); // done +define('USER_FLAG_S_RABB', 0x08); // done +define('USER_FLAG_S_SOCC', 0x09); // done +define('USER_FLAG_S_BABY', 0x0a); // done +define('USER_FLAG_S_MOP', 0x0b); // done +define('USER_FLAG_S_BABBO', 0x0c); // done +define('USER_FLAG_S_RENNA', 0x0d); // done +define('USER_FLAG_S_PUPAZ', 0x0e); // done +define('USER_FLAG_S_VISCH', 0x0f); // done + +define('USER_FLAG_S_ALL', 0xff); // done + +/* does is user moderationg brisk ? */ +define('USER_FLAG_MODER', 0x0100); // done /* type of user normal, supporter etc ... */ define('USER_FLAG_TY_ALL', 0xff0000); // done @@ -120,7 +123,10 @@ class User { var $table_orig; // id of the current table when you aren't in game var $table_pos; // idx on the table var $table_token;// token that identify a game on a table + + var $flags_volat;// Bitfield of volatile flags var $flags; // Bitfield with: AUTHENTICATE: 0x02 + var $flags_vlt; // Volatile flags valid for this session only var $rec; // field with user db record or FALSE var $the_end; // Flag to change the end of the session @@ -174,6 +180,7 @@ class User { $thiz->exitislock = TRUE; $thiz->flags = 0x00; + $thiz->flags_vlt = 0x00; $thiz->rec = FALSE; $thiz->chattime = array_fill(0, CHAT_N, 0); @@ -220,6 +227,7 @@ class User { $this->exitislock = $from->exitislock; $this->flags = $from->flags; + $this->flags_vlt = $from->flags_vlt; $this->rec = $from->rec; $this->chattime = array(); @@ -285,6 +293,7 @@ class User { $thiz->the_end = $from->the_end; $thiz->flags = $from->flags; + $thiz->flags_vlt = $from->flags_vlt; $thiz->rec = $from->rec; $thiz->chattime = array_fill(0, CHAT_N, 0); @@ -303,10 +312,30 @@ class User { return ($thiz); } + function flags_get($mask) + { + return ($this->flags & $mask); + } + function flags_set($flags, $mask) { - $flags_old = $this->flags & (~$mask); - $this->flags = ($flags_old | ($flags & $mask)); + $flags_old = $this->flags; + $this->flags = (($flags_old & (~$mask)) | ($flags & $mask)); + + return ($flags_old != $this->flags); + } + + function flags_vlt_get($mask) + { + return ($this->flags_vlt & $mask); + } + + function flags_vlt_set($flags_vlt, $mask) + { + $flags_vlt_old = $this->flags_vlt; + $this->flags_vlt = (($flags_vlt_old & (~$mask)) | ($flags_vlt & $mask)); + + return ($flags_vlt_old != $this->flags_vlt); } function store_set()