X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fbrisk.phh;h=fa53c6291a1a8ea790f64c60754ce7d593225343;hb=e4bf569ad33ddc0459769eb1fa1e0113bb83899d;hp=ca9a14086c7ac413a847098bd2eed895966212ae;hpb=e469882b494df00aab18f2e38d18c5faa214c740;p=brisk.git
diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh
index ca9a140..fa53c62 100644
--- a/web/Obj/brisk.phh
+++ b/web/Obj/brisk.phh
@@ -134,12 +134,12 @@ $mlang_brisk = array( 'btn_backstand'=> array( 'it' => 'torna in piedi',
$G_lng = langtolng($G_lang);
$G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 );
-$G_brisk_version = "3.5.0";
+$G_brisk_version = "3.5.1";
/* MLANG: ALL THE INFO STRINGS IN brisk.phh */
-$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': seconda versione di test per la nuova gestione dei dati volatili, rivista gestione del ticker.',
+$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': terza versione di test per la nuova gestione dei dati volatili, rivista gestione del ticker.',
'Se vuoi iscriverti alla Mailing List, cliccala!' ),
- 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NEWS: second test version for the new volatile data management, ticker management refactored.',
+ 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NEWS: third test version for the new volatile data management, ticker management refactored.',
'If you want to subscribe our Mailing List, click it!' ) );
$G_room_help = array( 'it' => '
@@ -814,6 +814,19 @@ class User {
{
$this->step = $step & 0x7fffffff;
+ return (TRUE);
+ }
+
+ function step_inc($delta = 1) {
+ $this->step += $delta;
+ /* modularization because unpack() not manage unsigned 32bit int correctly */
+ $this->step &= 0x7fffffff;
+
+ return TRUE;
+ }
+
+ function save_step()
+ {
do {
if (validate_sess($this->sess) == FALSE)
break;
@@ -823,7 +836,7 @@ class User {
break;
fwrite($fp, pack("LL",$this->step, $this->idx));
fclose($fp);
-
+
log_main("step_set [".$this->sess. "] [".$this->step."]");
return (TRUE);
@@ -832,27 +845,7 @@ class User {
return (FALSE);
}
- function step_inc($delta = 1) {
- $this->step += $delta;
- /* modularization because unpack() not manage unsigned 32bit int correctly */
- $this->step &= 0x7fffffff;
-
- if (validate_sess($this->sess)) {
- if (file_exists(PROXY_PATH) == FALSE)
- mkdir(PROXY_PATH);
- $fp = fopen(PROXY_PATH."/".$this->sess.".step", 'w');
- fwrite($fp, pack("LL", $this->step, $this->idx));
- fclose($fp);
-
- log_main("step_inc [".$this->sess. "] [".$this->step."]");
-
- return (TRUE);
- }
-
- return (FALSE);
- }
-
- static function step_get($sess)
+ static function load_step($sess)
{
$fp = FALSE;
do {
@@ -865,7 +858,7 @@ class User {
break;
if (($s = fread($fp, 8)) == FALSE)
break;
- if (strlen($s) != 8)
+ if (mb_strlen($s, "ASCII") != 8)
break;
$arr = unpack('Ls/Li', $s);
fclose($fp);
@@ -938,7 +931,20 @@ class User {
log_only(serialize($user));
}
}
-
+ else {
+ if ($sess != FALSE) {
+ /*
+ * NOTE: this part is for check only, theoretically
+ * user->step anch proxy_step are set allways at the same value
+ */
+ $old_step = $user->step;
+ $arr = User::load_step($sess);
+ $user->step = $arr['s'];
+ if ($old_step != $user->step) {
+ log_crit("steps are diffetents User->step ".$user->step." Old_step: ".$old_step);
+ }
+ }
+ }
$user->shm_sz = $shm_sz;
shm_detach($shm);
@@ -973,6 +979,8 @@ class User {
// log_only("PUT_VAR DI ".strlen(serialize($user)));
if (shm_put_var($shm, $tok, $user) != FALSE) {
shm_detach($shm);
+ if ($user->sess != "")
+ $user->save_step();
log_main("User[".$id."] saved.");
return (TRUE);
}
@@ -2486,7 +2494,7 @@ class Room {
break;
if (($s = fread($fp, 4)) == FALSE)
break;
- if (strlen($s) != 4)
+ if (mb_strlen($s, "ASCII") != 4)
break;
$arr = unpack('Le', $s);
if ($arr['e'] > $tm)