/*
* brisk - Obj/user.phh
*
- * Copyright (C) 2012 Matteo Nastasi
+ * Copyright (C) 2012-2015 Matteo Nastasi
* mailto: nastasi@alternativeoutput.it
* matteo.nastasi@milug.org
* web: http://www.alternativeoutput.it
define('USER_FLAG_TY_NORM', 0x010000); // done
define('USER_FLAG_TY_SUPER', 0x020000); // done
define('USER_FLAG_TY_CERT', 0x040000); // done
+define('USER_FLAG_TY_APPR', 0x080000); // done
// ... other usefull status ...
define('USER_FLAG_TY_FIRONLY', 0x200000); // done
define('USER_FLAG_TY_ADMIN', 0x400000); // done
var $cl_step; // current step returned by client
var $ping_req; // ping is already requested ?
+ var $pend_async; // number of async check that must be returned
+
var $rd_socket; // socket handle of push stream
var $rd_endtime; // end time for push stream
var $rd_stat; // actual status of push stream
$thiz->trans_step = -1;
$thiz->cl_step = -1;
$thiz->ping_req = FALSE;
+ $thiz->pend_async = 0;
$thiz->comm = array();
$thiz->rd_socket = NULL;
$thiz->rd_zls = FALSE;
$thiz->rd_transp = NULL;
$thiz->rd_is_chunked = FALSE;
- $thiz->ping_req = FALSE;
$thiz->asta_card = -2;
$thiz->asta_pnt = -1;
$this->trans_step = $from->trans_step;
$this->cl_step = $from->cl_step;
$this->ping_req = $from->ping_req;
+ $this->pend_async = $from->pend_async;
$this->comm = array();
$i_start = (1 > ($from->step - COMM_N) ? 1 : ($from->step - COMM_N));
$thiz->trans_step = $from->trans_step;
$thiz->cl_step = $from->cl_step;
$thiz->ping_req = $from->ping_req;
+ $thiz->pend_async = $from->pend_async;
$thiz->comm = array();
/*
return ($thiz);
}
+ function is_appr()
+ {
+ return ($this->flags & USER_FLAG_TY_APPR);
+ }
+
function is_auth()
{
return ($this->flags & USER_FLAG_AUTH);
log_rd2("do other cur_stat[".$this->rd_stat."] user->stat[".$this->stat."] cur_step[".$this->rd_step."] user_step[".$this->step."]");
- if ($this->rd_step == -1) {
+ fprintf(STDERR, "ASYNC: %d %d\n", $this->rd_step, $this->pend_async);
+ if ($this->rd_step == -1 && $this->pend_async == 0) {
/* if $this->rd_step == -1 load the current state from the main struct */
$S_load_stat['wR_minusone']++;
}
}
-
+ if ($this->pend_async > 0) {
+ return (FALSE);
+ }
/* this part I suppose is read only on $this->room structure */
if ($this->rd_step == -1) {
log_rd2("PRE-NEWSTAT: ".$this->stat);
}
}
}
- if ($G_with_splash &&
+ // if ($G_with_splash &&
+ if ($this->is_auth() && (! $this->is_appr()) && $G_with_splash &&
($splashdate < $curtime - $G_splash_interval ||
$splashdate > $curtime)) {
$is_super = $this->flags & USER_FLAG_TY_SUPER;
($is_super ? 0 : $G_splash_timeout));
$ret .= sprintf('|createCookie("CO_splashdate%d", %d, 24*365, cookiepath);', $G_splash_idx, $curtime);
}
+ $this->room->standup_update($this);
$ret .= $this->room->show_room($this->step, $this);
// TODO uncomment and test
} // end class User
+define('USERSNET_FRIEND_BLACK', 1);
+define('USERSNET_FRIEND_UNKNOWN', 2);
+define('USERSNET_FRIEND_TEST', 3);
+define('USERSNET_FRIEND_FRIEND', 4);
+define('USERSNET_FRIEND_BFF', 5);
+
+if (!isset($__usersnet_friend_map)) {
+ $__usersnet_friend_map = array("black", "unknown", "test", "friend", "bff");
+}
+
+function usersnet_friend_getlabel($id)
+{
+ GLOBAL $__usersnet_friend_map;
+
+ $id_i = intval($id);
+
+ if ($id_i < 1 || $id_i > count($__usersnet_friend_map)) {
+ return FALSE;
+ }
+ return ($__usersnet_friend_map[$id_i - 1]);
+}
+/* return index + 1 of friend label */
+function usersnet_friend_getid($label_in)
+{
+ GLOBAL $__usersnet_friend_map;
+
+ foreach ($__usersnet_friend_map as $id => $label) {
+ if ($label == $label_in) {
+ return ($id + 1);
+ }
+ }
+
+ return FALSE;
+}
?>