X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fbrisk.phh;h=586f0d9b23739d5bf51da6ebc0a6695f192a4c27;hb=0fd9bab2d4822c3682dd213e4028789fb8707401;hp=e7ff7142ecbc78624ecda015ca77e89c2248ba89;hpb=2f7ef792e22946a9678f5982a19dacdccd9091eb;p=brisk.git diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh index e7ff714..586f0d9 100644 --- a/web/Obj/brisk.phh +++ b/web/Obj/brisk.phh @@ -2,7 +2,7 @@ /* * brisk - brisk.phh * - * Copyright (C) 2006-2011 Matteo Nastasi + * Copyright (C) 2006-2012 Matteo Nastasi * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it @@ -140,10 +140,10 @@ $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.6.3"; +$G_brisk_version = "4.0.0"; /* MLANG: ALL THE INFO STRINGS IN brisk.phh */ -$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': nuovo sistema di evidenziazione degli utenti registrati.', +$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': adottato sac-a-push come motore per l\'invio dei dati in tempo reale.', 'Se vuoi iscriverti alla Mailing List, cliccala!' ), 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NEWS: usage of reader/writer locking instead of generic exclusive locking.', 'If you want to subscribe our Mailing List, click it!' ) ); @@ -286,7 +286,7 @@ Copyright 2006-2012 Matteo Nasta declaration briscola in ajax sauce (Beta)
version '.$G_brisk_version.'

-Copyright 2006-2009
Matteo Nastasi (aka mop)

'); +Copyright 2006-2012 Matteo Nastasi (aka mop)

'); function mop_flush() { @@ -680,7 +680,7 @@ class Room { var $match; var $comm; // commands for many people var $step; // current step of the comm array - // externalized var $garbage_timeout; + var $garbage_timeout; var $shm_sz; function Room () { @@ -709,8 +709,7 @@ class Room { else $this->table[$i]->auth_only = FALSE; } - // externalized $this->garbage_timeout = 0; - Room::garbage_time_expire_set(0); + $this->garbage_timeout = 0; $this->shm_sz = SHM_DIMS_MIN; } @@ -725,8 +724,7 @@ class Room { /* Garbage collector degli utenti in timeout */ $curtime = time(); - // externalized if ($force || $this->garbage_timeout < $curtime) { - if (!$force && !Room::garbage_time_is_expired($curtime)) { + if (!$force && !($this->garbage_timeout < $curtime)) { return ($ismod); } @@ -874,8 +872,7 @@ class Room { } log_rd2("GARBAGE UPDATED!"); - // externalized $this->garbage_timeout = time() + GARBAGE_TIMEOUT; - Room::garbage_time_expire_set($curtime + GARBAGE_TIMEOUT); + $this->garbage_timeout = $curtime + GARBAGE_TIMEOUT; $ismod = TRUE; return ($ismod); @@ -926,7 +923,8 @@ class Room { $ret .= sprintf('tra.rem(%d); ', $i); } $ret .= $this->standup_content($user); - + $ret .= "setTimeout(preload_images, 0, g_preload_img_arr, g_imgct); "; + return ($ret); } @@ -1221,7 +1219,7 @@ class Room { $only_you = FALSE; // common settings - $msg = substr($mesg, 6, 128); + $msg = mb_substr($mesg, 6, 128, "UTF-8"); $curtime = time(); $dt = date("H:i ", $curtime); $target = ""; @@ -1655,9 +1653,9 @@ class Room { * if ($idx == -$idx && ret == user) => SUCCESS (but the login exists in the auth db) */ - function add_user(&$sess, &$idx, $name, $pass, $ip) + function add_user(&$sess, &$idx, $name, $pass, $ip, $cookie) { - GLOBAL $G_base, $CO_list; + GLOBAL $G_base; $idx = 0; @@ -1797,12 +1795,12 @@ class Room { $this->user[$idx]->code = $authenticate->code_get(); $this->user[$idx]->flags |= USER_FLAG_LISTAUTH; - if (isset($CO_list)) { - if (strcmp($CO_list, "auth") == 0) { + if (isset($cookie['CO_list'])) { + if (strcmp($cookie['CO_list'], "auth") == 0) { $this->user[$idx]->flags &= ~USER_FLAG_MAP_AUTH; $this->user[$idx]->flags |= USER_FLAG_LISTAUTH; } - if (strcmp($CO_list, "isolation") == 0) { + if (strcmp($cookie['CO_list'], "isolation") == 0) { $this->user[$idx]->flags &= ~USER_FLAG_MAP_AUTH; $this->user[$idx]->flags |= USER_FLAG_ISOLAUTH; } @@ -1898,7 +1896,7 @@ class Room { GLOBAL $sess; do { - if (($tok = @ftok(FTOK_PATH."/main", "B")) == -1) { + if (($tok = @ftok(FTOK_PATH."/main", "C")) == -1) { log_main("ftok failed"); break; } @@ -1963,7 +1961,7 @@ class Room { // var_dump($room); - if (($tok = @ftok(FTOK_PATH."/main", "B")) == -1) + if (($tok = @ftok(FTOK_PATH."/main", "C")) == -1) return (FALSE); while ($room->shm_sz < SHM_DIMS_MAX) { @@ -1997,7 +1995,7 @@ class Room { $ret = FALSE; $shm = FALSE; - if (($tok = @ftok(FTOK_PATH."/main", "B")) == -1) + if (($tok = @ftok(FTOK_PATH."/main", "C")) == -1) return (FALSE); // SHSPLIT: before save the $room you must save users, @@ -2135,49 +2133,7 @@ class Room { return ($ret); } - static function garbage_time_is_expired($tm) - { - $ret = TRUE; - $fp = FALSE; - do { - if (file_exists(PROXY_PATH) == FALSE) - mkdir(PROXY_PATH, 0775, TRUE); - if (($fp = @fopen(PROXY_PATH."/garbage_time.expired", 'rb')) == FALSE) - break; - if (($s = fread($fp, 4)) == FALSE) - break; - if (mb_strlen($s, "ASCII") != 4) - break; - $arr = unpack('Le', $s); - if ($arr['e'] > $tm) - $ret = FALSE; - } while (0); - - if ($fp != FALSE) - fclose($fp); - - log_rd2("END: return ".($ret ? "TRUE" : "FALSE")); - - return ($ret); - } - - static function garbage_time_expire_set($tm) - { - do { - if (file_exists(PROXY_PATH) == FALSE) - mkdir(PROXY_PATH, 0775, TRUE); - if (($fp = @fopen(PROXY_PATH."/garbage_time.expired", 'wb')) == FALSE) - break; - fwrite($fp, pack("L",$tm)); - fclose($fp); - - return (TRUE); - } while (0); - - return (FALSE); - } - - function request_mgr(&$s_a_p, &$header_out, &$new_socket, $path, $addr, $get, $post, $cookie) + function request_mgr(&$s_a_p, $enc, &$header_out, &$new_socket, $path, $addr, $get, $post, $cookie) { printf("NEW_SOCKET (root): %d\n", intval($new_socket)); @@ -2187,21 +2143,21 @@ class Room { case "": case "index.php": ob_start(); - index_main($this, $header_out, $addr, $get, $post, $cookie); - $content = ob_get_contents(); - ob_end_clean(); + index_main($this, $header_out, $addr, $get, $post, $cookie); + $content = ob_get_contents(); + ob_end_clean(); - $s_a_p->pgflush_try_add($new_socket, 20, $header_out, $content); - return TRUE; + $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content); + return TRUE; - break; + break; case "index_wr.php": ob_start(); index_wr_main($this, $addr, $get, $post, $cookie); $content = ob_get_contents(); ob_end_clean(); - - $s_a_p->pgflush_try_add($new_socket, 20, $header_out, $content); + + $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content); return TRUE; break; @@ -2209,9 +2165,9 @@ class Room { do { if (!isset($cookie['sess']) || (($user = $this->get_user($cookie['sess'], $idx)) == FALSE)) { - $content = User::stream_fini(TRUE); + $content = User::stream_fini($s_a_p->rndstr, TRUE); - $s_a_p->pgflush_try_add($new_socket, 20, $header_out, $content); + $s_a_p->pgflush_try_add($enc, $new_socket, 20, $header_out, $content); return TRUE; break; @@ -2223,11 +2179,11 @@ class Room { printf("CLOSE AND OPEN AGAIN ON IFRA2\n"); $user->rd_socket_set(NULL); } - + $content = ""; - $user->stream_init($header_out, $content, $get, $post, $cookie); + $user->stream_init($s_a_p->rndstr, $enc, $header_out, $content, $get, $post, $cookie); - $response = headers_render($header_out, -1).chunked_content($content); + $response = headers_render($header_out, -1).chunked_content($user->rd_zls_get(), $content); $response_l = mb_strlen($response, "ASCII"); $wret = @fwrite($new_socket, $response, $response_l); @@ -2255,7 +2211,7 @@ class Room { $subs = "briskin5/"; $subs_l = strlen($subs); if (!strncmp($path, $subs, $subs_l)) { - $ret = Bin5::request_mgr(&$s_a_p, &$header_out, &$new_socket, substr($path, $subs_l) , $addr, $get, $post, $cookie); + $ret = Bin5::request_mgr(&$s_a_p, $enc, &$header_out, &$new_socket, substr($path, $subs_l) , $addr, $get, $post, $cookie); return ($ret); } break; @@ -2721,7 +2677,7 @@ function validate_sess($sess) function validate_name($name) { - $name_new = str_replace(' ', '_', substr(trim($name),0,12)); + $name_new = str_replace(' ', '_', mb_substr(trim($name),0,12, "UTF-8")); for ($i = 0 ; $i < strlen($name_new) ; $i++) { $c = $name_new[$i];