X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fuser.phh;h=6335832212f209bbc5c450266ea777fd6f55c8be;hb=refs%2Fheads%2Favoid-domino;hp=ad42e7fd2f3eec2b3c5e83d7e9f3837fcc09c6ee;hpb=9878243b4e002b50ee444cf906b9e13faba4fe01;p=brisk.git
diff --git a/web/Obj/user.phh b/web/Obj/user.phh
index ad42e7f..6335832 100644
--- a/web/Obj/user.phh
+++ b/web/Obj/user.phh
@@ -28,8 +28,8 @@ require_once("${G_base}Obj/transports.phh");
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);
@@ -112,6 +112,7 @@ class User {
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)
@@ -167,7 +168,7 @@ class User {
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);
@@ -177,6 +178,7 @@ class User {
$thiz->code = -1;
$thiz->name = $name;
$thiz->sess = $sess;
+ $thiz->page_id = $page_id;
$thiz->ip = $ip;
$thiz->lacc = time();
$thiz->laccwr = time();
@@ -233,6 +235,7 @@ class User {
$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;
@@ -299,6 +302,7 @@ class User {
$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;
@@ -578,6 +582,7 @@ class User {
$tmp_sess = $this->sess;
$this->sess = "";
+ $this->page_id = "";
self::unproxy_step($tmp_sess);
$this->name = ""; // OK here
while (array_pop($this->comm) != NULL);
@@ -605,8 +610,9 @@ class User {
$sp = " ";
}
}
- return (sprintf('$("myname").innerHTML = "%s";', $cl,
- xcape($this->name,ENT_COMPAT,"UTF-8")));
+ $myname = xcape($this->name,ENT_COMPAT,"UTF-8");
+ return (sprintf('window.myname = "%s"; $("myname").innerHTML = "%s";',
+ $myname, $cl, $myname));
}
/* INDEX_RD PORT */
@@ -623,7 +629,7 @@ class User {
// 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));
}
@@ -653,7 +659,7 @@ class User {
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']++;
@@ -707,7 +713,8 @@ class User {
}
}
}
- 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;
@@ -735,7 +742,7 @@ class User {
***************/
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));
}
@@ -750,7 +757,7 @@ class User {
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");
@@ -788,7 +795,7 @@ class User {
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);
@@ -813,7 +820,7 @@ function stream_init($init_string, $enc, $header, &$header_out, &$body, $get, $p
{
$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");
@@ -848,12 +855,12 @@ function stream_main(&$body, $get, $post, $cookie)
$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;
}
@@ -868,10 +875,15 @@ function stream_close()
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;
}
@@ -923,5 +935,39 @@ function chunked_fini()
} // 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;
+}
?>