define('USER_FLAG_AUTH', 0x02);
define('USER_FLAG_MAP_AUTH', 0x0c);
-define('USER_FLAG_LISTAUTH', 0x04);
-define('USER_FLAG_ISOLAUTH', 0x08);
+// DISABLED define('USER_FLAG_LISTAUTH', 0x04);
+define('USER_FLAG_ISOLAUTH', 0x04);
define('USER_FLAG_DBFAILED', 0x10);
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 $code; // authentication code
var $name; // name of the user
var $sess; // session of the user
+ var $page_id; // id of the latest page connected with this session
var $ip; // ip of the user
var $lacc; // last access (for the cleanup)
var $laccwr; // last access (for the cleanup)
function User() {
}
- static function create(&$brisk, $idx, $name, $sess, $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
+ static function create(&$brisk, $idx, $name, $sess, $page_id="", $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
if (($thiz = new User()) == FALSE)
return (FALSE);
$thiz->code = -1;
$thiz->name = $name;
$thiz->sess = $sess;
+ $thiz->page_id = $page_id;
$thiz->ip = $ip;
$thiz->lacc = time();
$thiz->laccwr = time();
$this->code = $from->code;
$this->name = $from->name;
$this->sess = $from->sess;
+ $this->page_id = $from->page_id;
$this->ip = $from->ip;
$this->lacc = $from->lacc;
$this->laccwr = $from->laccwr;
$thiz->code = $from->code;
$thiz->name = $from->name;
$thiz->sess = $from->sess;
+ $thiz->page_id = $from->page_id;
$thiz->ip = $from->ip;
$thiz->lacc = $from->lacc;
$thiz->laccwr = $from->laccwr;
return ($thiz);
}
+ function is_appr()
+ {
+ return ($this->flags & USER_FLAG_TY_APPR);
+ }
+
function is_auth()
{
return ($this->flags & USER_FLAG_AUTH);
$tmp_sess = $this->sess;
$this->sess = "";
+ $this->page_id = "";
self::unproxy_step($tmp_sess);
$this->name = ""; // OK here
while (array_pop($this->comm) != NULL);
$sp = " ";
}
}
- return (sprintf('$("myname").innerHTML = "<span class=\"%s\">%s</span>";', $cl,
- xcape($this->name,ENT_COMPAT,"UTF-8")));
+ $myname = xcape($this->name,ENT_COMPAT,"UTF-8");
+ return (sprintf('window.myname = "%s"; $("myname").innerHTML = "<span class=\"%s\">%s</span>";',
+ $myname, $cl, $myname));
}
/* INDEX_RD PORT */
// log_rd2("page_sync:".var_export(debug_backtrace()));
log_rd2("PAGE_SYNC");
- printf("xXx USER::PAGE_SYNC [%s]\n", get_class($this));
+ // printf("xXx USER::PAGE_SYNC [%s]\n", get_class($this));
return (sprintf('createCookie("table_idx", %d, 24*365, cookiepath); createCookie("table_token", "%s", 24*365, cookiepath); xstm.stop(); window.onunload = null; window.onbeforeunload = null; document.location.assign("%s");', $table_idx, $table_token, $page));
}
log_rd2("do other cur_stat[".$this->rd_stat."] user->stat[".$this->stat."] cur_step[".$this->rd_step."] user_step[".$this->step."]");
- fprintf(STDERR, "ASYNC: %d %d\n", $this->rd_step, $this->pend_async);
+ // 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 ($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;
***************/
else if ($this->stat == 'table') {
log_load("RESYNC");
- printf("xXx USER::MAINCHECK1 [%s]\n", get_class($this));
+ // printf("xXx USER::MAINCHECK1 [%s]\n", get_class($this));
return ($this->page_sync($this->sess, "briskin5/index.php", $this->table, $this->table_token));
}
if (($this->rd_stat != $this->stat)) {
$to_stat = $this->stat;
log_load("RESYNC");
- printf("xXx USER::MAINCHECK2 [%s]\n", get_class($this));
+ // printf("xXx USER::MAINCHECK2 [%s]\n", get_class($this));
return ($this->page_sync($this->sess, ($to_stat == "table" ? "briskin5/index.php" : "index.php"), $this->table, $this->table_token));
}
log_rd2("lost history, refresh from scratch");
public static function stream_fini($transp, $init_string, $is_unrecoverable)
{
- printf("xXx user::stream_fini\n");
+ // printf("xXx user::stream_fini\n");
// FIXME: dynamic "Transport_" type
$trans_class = Transport::gettype($transp);
{
$curtime = time();
- printf("CLASS: [%s] base: [%s]\n", get_class($this), self::base_get());
+ // printf("CLASS: [%s] base: [%s]\n", get_class($this), self::base_get());
log_load("index_rd_init.php");
$this->rd_data_set($curtime, $transp, $enc, $stat, $subst, $step, $from);
- $ret = $this->rd_transp->init($enc, $header, &$header_out, $init_string, self::base_get(), $this->rd_scristp);
+ $ret = $this->rd_transp->init($enc, $header, $header_out, $init_string, self::base_get(), $this->rd_scristp);
if ($ret === FALSE) {
return FALSE;
$pre_main = gettimeofday(TRUE);
- printf("xXx PRE : rd_step %d\n", $this->rd_step);
+ // printf("xXx PRE : rd_step %d\n", $this->rd_step);
if (($ret = $this->maincheck($get, $post, $cookie)) != FALSE) {
$body .= $this->rd_transp->chunk( $this->rd_scristp++, $ret);
log_rd2(0, 'index_rd.php: after mop_flush (begin: '.sprintf("%f", $pre_main).')');
}
- printf("xXx POST: rd_step %d\n", $this->rd_step);
+ // printf("xXx POST: rd_step %d\n", $this->rd_step);
return TRUE;
}
return ($this->rd_transp->close());
}
+function stream_postclose_get($sock, $curtime)
+{
+ return ($this->rd_transp->postclose_get($sock, $curtime));
+}
+
static function base_get()
{
$c = get_called_class();
- printf("CALLED_CLASS: [%s]\n", $c);
+ // printf("CALLED_CLASS: [%s]\n", $c);
return $c::BASE;
}
} // 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;
+}
?>