define('USER_FLAG_TY_ALL', 0xff0000); // done
define('USER_FLAG_TY_NORM', 0x010000); // done
define('USER_FLAG_TY_SUPER', 0x020000); // done
+define('USER_FLAG_TY_CERT', 0x040000); // done
// ... other usefull status ...
define('USER_FLAG_TY_SUSPEND', 0x400000); // done
define('USER_FLAG_TY_DISABLE', 0x800000); // done
var $table_pos; // idx on the table
var $table_token;// token that identify a game on a table
var $flags; // Bitfield with: AUTHENTICATE: 0x02
+ var $rec; // field with user db record or FALSE
var $the_end; // Flag to change the end of the session
var $chat_lst; // Last chat line
function User() {
}
- function create(&$room, $idx, $name, $sess, $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
+ static function create(&$room, $idx, $name, $sess, $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
if (($thiz = new User()) == FALSE)
return (FALSE);
$thiz->exitislock = TRUE;
$thiz->flags = 0x00;
-
+ $thiz->rec = FALSE;
+
$thiz->chattime = array_fill(0, CHAT_N, 0);
$thiz->chat_cur = 0;
$thiz->chat_lst = "";
$this->exitislock = $from->exitislock;
$this->flags = $from->flags;
+ $this->rec = $from->rec;
$this->chattime = array();
for ($i = 0 ; $i < CHAT_N ; $i++)
}
- function myclone($from)
+ static function myclone($from)
{
if (($thiz = new User()) == FALSE)
return (FALSE);
return ($thiz);
}
- function spawn($from, $table, $table_pos)
+ static function spawn($from, $table, $table_pos)
{
if (($thiz = new User()) == FALSE)
return (FALSE);
$thiz->the_end = $from->the_end;
$thiz->flags = $from->flags;
+ $thiz->rec = $from->rec;
$thiz->chattime = array_fill(0, CHAT_N, 0);
$thiz->chat_cur = 0;
return ($thiz);
}
+ function flags_set($flags, $mask)
+ {
+ $flags_old = $this->flags & (~$mask);
+ $this->flags = ($flags_old | ($flags & $mask));
+ }
+
+ function store_set()
+ {
+ if (($bdb = BriskDB::create()) == FALSE) {
+ return FALSE;
+ }
+ return ($bdb->user_prefs_update($this->code, ($this->flags & (USER_FLAG_TY_ALL | USER_FLAG_MAP_AUTH)),
+ $this->rec->supp_comp));
+ }
+
function rd_data_set($curtime, $transp, $enc, $stat, $subst, $step, $from)
{
$this->rd_endtime = $curtime + RD_ENDTIME_DELTA;
$curtime = time();
printf("CLASS: [%s] base: [%s]\n", get_class($this), self::base_get());
-
- // (webservers_exceeded() || stristr($HTTP_USER_AGENT, "Mozilla/5.0 (Windows NT 6.1; rv:5.0)") || stristr($HTTP_USER_AGENT, "MSIE") || stristr($HTTP_USER_AGENT, "CHROME") ? TRUE : FALSE);
log_load("index_rd_ifra_init.php");
return $c::BASE;
}
+function is_supp_custom()
+{
+ if ($this->rec != FALSE) {
+ if ($this->flags & USER_FLAG_TY_SUPER) {
+ return (TRUE);
+ }
+ /*
+ if ($this->rec->last_dona > 1356994800) {
+ return (TRUE);
+ }
+ */
+ }
+ return (FALSE);
+}
+
} // end class User