X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex_rd_ifra.php;h=7d4f4932af07a673daa14b0329b36fde815f4d65;hb=c3ccbbd5bc7c8534127fa10b4f88b81cffc6029a;hp=86a1b2e3d23c7959c8b5d3fb496846b054f357c6;hpb=d26d12be0db2626de591b64c4407c190e746d290;p=brisk.git diff --git a/web/index_rd_ifra.php b/web/index_rd_ifra.php index 86a1b2e..7d4f493 100644 --- a/web/index_rd_ifra.php +++ b/web/index_rd_ifra.php @@ -22,11 +22,75 @@ * */ -$G_base = ""; - -require_once("Obj/brisk.phh"); +// require_once("Obj/brisk.phh"); // require_once("Obj/proxyscan.phh"); -require_once("briskin5/Obj/briskin5.phh"); +// require_once("briskin5/Obj/briskin5.phh"); + +$G_four_rnd_string = + "GGZDGDRBXDWFXHGPYAAVDXEKFDUWSTEDTDVXBXQPMZAIFPNLRPTWMJAZRHXTIRNZ" +."HTZXAUVJDCLXENDCLIZXSSEQQGUADYEKNNANJWEGRUFHPLUNSEROZQJSLMUYNUVG" +."FPLQAGCMTTGIRRXZFBFQFTRBYPHTWFSXFKHKYBRDAOSOURCMEVGPVXJVUQAOCFPV" +."OQSUBOYWOZLDGRPQQIBNOTHFUHTCRRZOBCUONAXIYUYCJBFTVNWIITVHBYLNMPWR" +."LPMMIROZVRUNYXSJSMJINSXGACXDMJAEPNFFAERHVDJELXSPPJWKMNFGVGAPTIMR" +."VMVMVCLWKMPOAJWZGPSPFEXVNQANXGLZIQSCBIYVFSTXZOODZYCXUVUZFCLFGHUJ" +."TXZWFHSMFJQAZOQRANKZJAUJHFJIKHIIEQUSDXUBRPQBKMIAVTWYQEOIMYKKDTEV" +."EYERPXKFJXWNIMJPOFFMWJCJSLFZKPNRNVXIDLUSRVBGLUCQZCUQCZNAORDXMRSS" +."UBNMPXJDQXXLMQRCTOCCJJWHFSUWBNWXWZHPKWYYKPZIMBXTYAZXJJQSBLNAQGJI" +."AIXZUHNTQYFSGUYMVOWEGUWWRBEMRJHXXOMLRXXWJZLPGLMKEANZWWXIXPIUTURJ" +."TCXYIKIPNTSUIOWBCEVQHLTHYQNGBHAOPREWGJVOQKNUKTXVTMBRHCERDGYWQVXB" +."BCZUGMIJXALLIOSXCYMEIDNTPLGRMKXKVFKWGRFKCBIRASOOYIFTLXFSBEOJSDFN" +."PHSWPGERDYIGUPDXUBSAFCHTPJNBORIRMAOCKGAMFFZUBTVSGEEFMYMEBPUVCRSP" +."DEEAROBQLJHNMCDAFMPLUKNZXTTJJIULUTDTLEZLVMRLKNLXGCQIGFCBHEWDHNPW" +."VRONBYCXVRGNQUMFSRADSIFLNRMQXAZKQUKYXGOAKTSLWVSBJMQYZMULCNYKFFUC" +."LKIPNJOURQLYDHLZYPHEJXPBYTXTGVZOGQUZXAORYINAOTRJCNEDPAXSJIQICWEY" +."UEJPQALSYHKYZLPJTMBLIDNFRFLTIOVZZTEWPSJCUNDWUDZWJKDDRJEXOICJBSYP" +."ZHLECBYVMMYLCCPCSVOVPEHEWQDJYSCOWTKFHTWVTSBCQSFKQFCNTGOQBEPSEXKR" +."AMJIKXZCWLPXMEUBLRJHNEVGMTGARBOBLOYPWUCWSBVTMZBIBRDCNOYXLPSDZODN" +."JSZXXQUCJZKIYOCCRHYALAJSYXFMWBAOIVAJWIAPOECUJAMFPCOCZDBDHRTBUWWJ" +."EJYZESNKIXFEBENSOHLCNSQPWGGJLOMTFEZVWWQAKPIFGUUUMWOKLXDUPFMOEKQG" +."ELOIQAUJPPIJZWKTCYQTJWXCBJMQWIOLQWJIASSXSFLWGUSETHRKEJHCHBOFLJJC" +."KPPLOTKBXSKUOSNSFHOJRCKXOKQHETCGSMABVALDSBAXBQRFNNJGIDZMNUYQYDHX" +."DJAHJBJSUEHADPSHOPOXEIRQPEAJEMEBWNXTOSGEQFUVXVHZDYHRUXCRICUHYUHA" +."FXXGTKWVDDMDSLXEVKZUNTEUKWAGSAWPHGQHEBUMQDHZDVIFVFNDXDUEVZVGSBCQ" +."STWYUOIHBOQQBAIAQJVNDZQVWHNXHMROIMXNCZRHYXUBFYLEZTWFCYOVILASEFSH" +."ZUQSNNTYEOCSTRDJPFHCPTDEWCQNEDFOQCZMXKCFIANKWOVDARXWRUCTPYPGTEZB" +."PERZIMOHRCNBYYJVYFBQJARSULMIAQPILDHEMKNVWMGFQBGZRSQZWZBMSDYKLOTA" +."VUILKBJADGDTEZENLJEOYPXIXJWIJXONTLXBRLIJFQZORAJIIZQRCUOZLVUTIHXI" +."NDRVVDJTEIKVLKZVRWHINEYVRGJHXLRNDCNFIYFRUUWMKKGHCPWLZKFULMJOIGJZ" +."OONOCNPLEJIBKYFDGEQEMMWYBNBWPDRCEIUMFTYAULDBHSHAGPFWVTZXYQGUAXYN" +."JGGOAMNBBFFSCDSXRTPOHBOVZEXYKAENIWSMBOXGQQTDTIBPSXFHMQUMMKNYYWIC" +."MFDWSMZDWHGCEWQHFTIMDGTMCEFKWMBAVPEBTCKHRRTLAYEGZTINIWYCUJRZMBPS" +."TLLEDLEPSAFMQPHYNJWBSSXKEMKLEZIAVNYIOUOTKGYUYJBKBSBQCFRXKOQABUWF" +."YCNLGXGTLWMLEJVSNDIAMYSXSYFLMNGBOZSREPCPQLRCLNYFVKTWUWBNYAPZTJVO" +."ONEPJBVBIOPBGVUNWUWZZBJEBDWUWUNFDBOICCGKXDBQWSWFUMIYRCXHLDWFKDUO" +."PBGTXWNOMUEBENXMARIGPKDETSZNTRODQZYNJJDMYSUBOLPWOEWEVESPLXIKLELG" +."DCIPTCCKJNNDBRCNVNHVZWPKWPUWLSOORQHNXRBZHHIYPJNBIRCZCIGGEMYKNWXV" +."TLCLXTIYRVUXONAJUCNMWHNMUSHRWHOEQTTGYJRJEZKNHLVUXUKQQYREZXWRNQKO" +."BDZTUGIKACSXLRJLESYYPLRFCFVSWJSZYPJBLBTPSEGUZOEXDIXEVWZJEOMOJOIB" +."QNXNFUXBRJYXMDXQOLVWVLZZMTEMTYRZBWUEEFIBOWXAPKEIQIZZCLMWAOBZVFTP" +."QQPBYCCLEYRLXVBPMUUMUDPECMDFSVJNKKAEMBYJJXMZGWYTAHECIXAFGWAOGIWV" +."GAOHCMVHJZVWZCHJWGJJDBZNDXPXOYTDVZEDPWZIIMQVCQPLQIEOSRPVVICTZKGX" +."JXSFDFUHKKOTXTEGLDSCAODMCVGSSEYANCXJDATMRJRIDLLIJHINSOXJQDEABCVU" +."WFXWKXJQEREZDLOVUQHYBESHNJWTESPNDVIKYLCTNQEVVUXAWFNQEYIVZXNMJEPL" +."MFMTOKXXFQYYVBHAXYQVUBALQLSNJSVOTZDDTOZMUEVZJATXQNQVSFXWTGACHUDD" +."QXCPCRLSREKXHKJNUYUJGIGCNWXUSXOGGYPQWFZDJCKKZONXJUSJKBYIPJSMPVIN" +."UFBIFNROMBTKQPBIZYJWLPQIJLNTLHTUEWFINOQQDAHCXXKVADTEDBANOPIJBXXC" +."NAEZOVJAISUQBCBNOYIJBXMRPYPKXBFKFVGQLOEFPOCTZHJXKGUPZQPZOZWXXSSH" +."SLBGVGVPRAFJCVRKWLSWLMHBMYOKVJDCZSQBLTGSOJDJHOVIDEBKJZNAQYLFIEYS" +."AYHOSGGDDJAAVTMBYFREMEPLWZXYZUYYRQWKQBLKAPDXMMHCBWSARJCHPGZFCVJG" +."OXXKCMWTVMKHUUSUMQOGNIHKIIAXNOAHPRIWHDOBJTRKSZAKOMHWTPQQXGZBOPIP" +."FQEVUBULHGESOARVICLMSUSHHTVYLFMLHFGKJNPYIYEMLBAZMLIDDSWRCVFOUSGC" +."TUQHWTUHRJUZHYQOKTWTLRVOSWRPSYBOBSZHZLRZEIZKKCMLNYICCUTIXNXETTKL" +."PYIFTUDCMWRQBZDROXTTVTAOOIQHIWOZESRHKPNGNCSHNAVEWUSGOTZCRNFSIXGF" +."QJUMUFPEZBFPOVGZZDCGDKEODSWAPNDNHVJUQDYLCXWNXSCDFFFPBTDOIZIZLBBP" +."ZXZYWTTPEUUCKXGBTXAJBAXYLMUVWWGWZYTXTKYVRXSOXOBHERLZJPRDXIQZRQLU" +."TXCLIJNKIRWMVQEJTLHZIDTNGBOYSULGWUTSYTKGNMGZFWKXCCZXGOQGZNQFZJUK" +."JMBQPQPZOPYTQMPEFTZUDLIIBZAZSZAPNILMIKMPKXJIRHRQMFSTJKAPIIQWOFYQ" +."HGANJGJSUGDIENDVEQFEMUJBGMZBPHLOARCVGMUUCHLCDDNKSJSCKYSALUAGUZFN" +."YVURVLREBESGXPANIDKGLPJZGXLKFKTPEQBQEINOYYZTBMPFBLBKIKVPAPFDKKRZ" +."YMVUBYCYTRXCIICUPTXKGQOIJSVSWPYVALIROWGVXDXGNSRVZOLEJHNRSUKHNTRJ" +."LQZQKBEFXYKIPXJRZMQMJKUGCNUKBZBWABPLHMAJJZVBCWOQYCLSGDUKJSTHTVXV" +."OUGJVADGJWGVNBNXYRZDSNLOZDIQRKOQAKJJDKXRMMTXRVTLOMTETNROPDYNXAGR"; $S_load_stat = array( 'rU_heavy' => 0, 'lL_laccgarb' => 0, @@ -57,13 +121,6 @@ if (DEBUGGING == "local" && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') { exit; } -function shutta() -{ - log_rd2("SHUTTA [".connection_status()."] !"); -} - -register_shutdown_function(shutta); - function blocking_error($is_unrecoverable) { GLOBAL $is_page_streaming; @@ -88,7 +145,7 @@ function page_sync($sess, $page, $table_idx, $table_token) -function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_subst, &$new_step) +function maincheck(&$room, &$user, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_subst, &$new_step) { GLOBAL $G_lang, $mlang_indrd, $is_page_streaming; // GLOBAL $first_loop; @@ -102,81 +159,81 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su log_rd("maincheck begin"); $ret = FALSE; - $room = FALSE; - $user = FALSE; + // $room = FALSE; + // $user = FALSE; $curtime = time(); // NOTE: qui forse si potrebbe fallback-are a una User::load_data // anche se non ce ne dovrebbe essere mai la necessità - if (($proxy_step = User::load_step($sess)) == FALSE) { - log_only2("R"); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } + /* if (($proxy_step = User::load_step($sess)) == FALSE) { */ + /* log_only2("R"); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ // log_rd2("M"); /* Sync check (read only without modifications */ ignore_user_abort(TRUE); - /* shared locking to load info */ - if (($sem = Room::lock_data(FALSE)) == FALSE) { - // wait 20 secs, then restart the xhr - ignore_user_abort(FALSE); - return ("sleep(gst,20000);|hstm.xhr_abort();"); - } + /* /\* shared locking to load info *\/ */ + /* if (($sem = Room::lock_data(FALSE)) == FALSE) { */ + /* // wait 20 secs, then restart the xhr */ + /* ignore_user_abort(FALSE); */ + /* return ("sleep(gst,20000);|hstm.xhr_abort();"); */ + /* } */ - // Verifica l'expire time lato server - if (($user = User::load_data($proxy_step['i'], $sess)) == FALSE) { - Room::unlock_data($sem); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } + /* // Verifica l'expire time lato server */ + /* if (($user = User::load_data($proxy_step['i'], $sess)) == FALSE) { */ + /* Room::unlock_data($sem); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ /* if lacc time great than STREAM_TIMEOUT or the room garbage_time is expired switch to exclusive locking and verify again the conditions */ if ((($curtime - $user->lacc) > STREAM_TIMEOUT) || Room::garbage_time_is_expired($curtime)) { /* there is some info that require to change data, switch to exclusive locking */ - Room::unlock_data($sem); - if (($sem = Room::lock_data(TRUE)) == FALSE) { - // wait 20 secs, then restart the xhr - ignore_user_abort(FALSE); - return ("sleep(gst,20000);|hstm.xhr_abort();"); - } + // Room::unlock_data($sem); + /* if (($sem = Room::lock_data(TRUE)) == FALSE) { */ + /* // wait 20 secs, then restart the xhr */ + /* ignore_user_abort(FALSE); */ + /* return ("sleep(gst,20000);|hstm.xhr_abort();"); */ + /* } */ $S_load_stat['lL_laccgarb']++; // load again the data after locking - unset($user); + // unset($user); // Verifica l'expire time lato server - if (($user = User::load_data($proxy_step['i'], $sess)) == FALSE) { - Room::unlock_data($sem); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } + /* if (($user = User::load_data($proxy_step['i'], $sess)) == FALSE) { */ + /* Room::unlock_data($sem); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ if (($curtime - $user->lacc) >= STREAM_TIMEOUT) { $S_load_stat['wU_lacc_upd']++; $user->lacc = $curtime; // lacc field updated - User::save_data($user, $user->idx); + /* User::save_data($user, $user->idx); */ } if (Room::garbage_time_is_expired($curtime)) { log_only("F"); $S_load_stat['wR_garbage']++; - if (($room = Room::load_data()) == FALSE) { - Room::unlock_data($sem); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } + /* if (($room = Room::load_data()) == FALSE) { */ + /* Room::unlock_data($sem); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ log_main("pre garbage_manager TRE"); $room->garbage_manager(FALSE); - Room::save_data($room); - unset($room); + /* Room::save_data($room); */ + /* unset($room); */ } } log_main("infolock: U"); - Room::unlock_data($sem); + /* Room::unlock_data($sem); */ ignore_user_abort(FALSE); @@ -221,35 +278,35 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su // $first_loop = FALSE; // } // if ($first_loop == TRUE) { - if ($cur_step == $proxy_step['s']) { - log_main("infolock: P"); - return (FALSE); - } - else { - log_only2("R"); - } + /* if ($cur_step == $proxy_step['s']) { */ + /* log_main("infolock: P"); */ + /* return (FALSE); */ + /* } */ + /* else { */ + /* log_only2("R"); */ + /* } */ $S_load_stat['rU_heavy']++; - if ($user == FALSE) { - do { - ignore_user_abort(TRUE); - if (($sem = Room::lock_data(FALSE)) == FALSE) - break; + /* if ($user == FALSE) { */ + /* do { */ + /* ignore_user_abort(TRUE); */ + /* if (($sem = Room::lock_data(FALSE)) == FALSE) */ + /* break; */ - log_main("infolock: P"); - if (($user = User::load_data($proxy_step['i'], $sess)) == FALSE) { - break; - } - } while (0); + /* log_main("infolock: P"); */ + /* if (($user = User::load_data($proxy_step['i'], $sess)) == FALSE) { */ + /* break; */ + /* } */ + /* } while (0); */ - if ($sem != FALSE) - Room::unlock_data($sem); + /* if ($sem != FALSE) */ + /* Room::unlock_data($sem); */ - ignore_user_abort(FALSE); - if ($user == FALSE) { - return (blocking_error(TRUE)); - } - } + /* ignore_user_abort(FALSE); */ + /* if ($user == FALSE) { */ + /* return (blocking_error(TRUE)); */ + /* } */ + /* } */ /* Nothing changed, return. */ if ($cur_step == $user->step) @@ -263,22 +320,22 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su */ /* unset the $user var to reload it from main structure */ - unset($user); + /* unset($user); */ ignore_user_abort(TRUE); - $sem = Room::lock_data(TRUE); - if (($room = Room::load_data()) == FALSE) { - Room::unlock_data($sem); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } + /* $sem = Room::lock_data(TRUE); */ + /* if (($room = Room::load_data()) == FALSE) { */ + /* Room::unlock_data($sem); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ $S_load_stat['wR_minusone']++; - if (($user = $room->get_user($sess, $idx)) == FALSE) { - Room::unlock_data($sem); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } + /* if (($user = $room->get_user($sess, $idx)) == FALSE) { */ + /* Room::unlock_data($sem); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ if ($user->the_end == TRUE) { log_rd2("main_check: the end".var_export(debug_backtrace())); @@ -290,8 +347,8 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su $cur_step = $user->trans_step; $user->trans_step = -1; - Room::save_data($room); - Room::unlock_data($sem); + /* Room::save_data($room); */ + /* Room::unlock_data($sem); */ ignore_user_abort(FALSE); } else { @@ -305,7 +362,7 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su // Room::save_data($room); // // $new_step = $user->step; - Room::unlock_data($sem); + /* Room::unlock_data($sem); */ ignore_user_abort(FALSE); } } @@ -351,20 +408,20 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su } /* if ($cur_step == -1) { */ else { ignore_user_abort(TRUE); - $sem = Room::lock_data(FALSE); + /* $sem = Room::lock_data(FALSE); */ $S_load_stat['rU_heavy']++; - if (($user = User::load_data($proxy_step['i'], $sess)) == FALSE) { - Room::unlock_data($sem); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } + /* if (($user = User::load_data($proxy_step['i'], $sess)) == FALSE) { */ + /* Room::unlock_data($sem); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ if ($cur_step < $user->step) { do { if ($cur_step + COMM_N < $user->step) { if (($cur_stat != $user->stat)) { $to_stat = $user->stat; - Room::unlock_data($sem); + /* Room::unlock_data($sem); */ ignore_user_abort(FALSE); log_load("RESYNC"); return (page_sync($user->sess, ($to_stat == "table" ? "briskin5/index.php" : "index.php"), $user->table, $user->table_token)); @@ -386,25 +443,25 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su log_rd2($user->step, 'index_rd.php: after ret set'); if ($user->the_end == TRUE) { - Room::unlock_data($sem); + /* Room::unlock_data($sem); */ /* Switch to exclusive locking */ - $sem = Room::lock_data(TRUE); + /* $sem = Room::lock_data(TRUE); */ - unset($user); + /* unset($user); */ $S_load_stat['wR_the_end']++; - if (($room = Room::load_data()) == FALSE) { - Room::unlock_data($sem); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } - - if (($user = $room->get_user($sess, $idx)) == FALSE) { - Room::unlock_data($sem); - ignore_user_abort(FALSE); - return (blocking_error(TRUE)); - } + /* if (($room = Room::load_data()) == FALSE) { */ + /* Room::unlock_data($sem); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ + + /* if (($user = $room->get_user($sess, $idx)) == FALSE) { */ + /* Room::unlock_data($sem); */ + /* ignore_user_abort(FALSE); */ + /* return (blocking_error(TRUE)); */ + /* } */ log_rd2("LOGOUT BYE BYE!!"); log_auth($user->sess, "Explicit logout."); @@ -421,12 +478,12 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su else log_rd2("LOGOUT FROM WHAT ???"); - Room::save_data($room); + /* Room::save_data($room); */ } /* if ($user->the_end == TRUE) { ... */ } /* if ($user->the_end == TRUE) { ... */ } /* if ($cur_step < $user->step) { */ - Room::unlock_data($sem); + /* Room::unlock_data($sem); */ ignore_user_abort(FALSE); } /* else of if ($cur_step == -1) { */ @@ -444,164 +501,117 @@ function maincheck($sess, $cur_stat, $cur_subst, $cur_step, &$new_stat, &$new_su stat step */ +function index_rd_ifra_init(&$room, &$user, &$header_out, &$body, $get, $post, $cookie) +{ + GLOBAL $G_four_rnd_string; -$is_page_streaming = FALSE; // (webservers_exceeded() || stristr($HTTP_USER_AGENT, "Mozilla/5.0 (Windows NT 6.1; rv:5.0)") || stristr($HTTP_USER_AGENT, "MSIE") || stristr($HTTP_USER_AGENT, "CHROME") ? TRUE : FALSE); + $is_page_streaming = FALSE; // (webservers_exceeded() || stristr($HTTP_USER_AGENT, "Mozilla/5.0 (Windows NT 6.1; rv:5.0)") || stristr($HTTP_USER_AGENT, "MSIE") || stristr($HTTP_USER_AGENT, "CHROME") ? TRUE : FALSE); -header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 -header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past -header('Content-type: text/html; charset="utf-8"',true); + $header_out['Cache-Control'] = 'no-cache, must-revalidate'; // HTTP/1.1 + $header_out['Expires'] = 'Mon, 26 Jul 1997 05:00:00 GMT'; // Date in the past + $header_out['Content-type'] = 'text/html; charset="utf-8"'; -$four_rnd_string = - "GGZDGDRBXDWFXHGPYAAVDXEKFDUWSTEDTDVXBXQPMZAIFPNLRPTWMJAZRHXTIRNZ" -."HTZXAUVJDCLXENDCLIZXSSEQQGUADYEKNNANJWEGRUFHPLUNSEROZQJSLMUYNUVG" -."FPLQAGCMTTGIRRXZFBFQFTRBYPHTWFSXFKHKYBRDAOSOURCMEVGPVXJVUQAOCFPV" -."OQSUBOYWOZLDGRPQQIBNOTHFUHTCRRZOBCUONAXIYUYCJBFTVNWIITVHBYLNMPWR" -."LPMMIROZVRUNYXSJSMJINSXGACXDMJAEPNFFAERHVDJELXSPPJWKMNFGVGAPTIMR" -."VMVMVCLWKMPOAJWZGPSPFEXVNQANXGLZIQSCBIYVFSTXZOODZYCXUVUZFCLFGHUJ" -."TXZWFHSMFJQAZOQRANKZJAUJHFJIKHIIEQUSDXUBRPQBKMIAVTWYQEOIMYKKDTEV" -."EYERPXKFJXWNIMJPOFFMWJCJSLFZKPNRNVXIDLUSRVBGLUCQZCUQCZNAORDXMRSS" -."UBNMPXJDQXXLMQRCTOCCJJWHFSUWBNWXWZHPKWYYKPZIMBXTYAZXJJQSBLNAQGJI" -."AIXZUHNTQYFSGUYMVOWEGUWWRBEMRJHXXOMLRXXWJZLPGLMKEANZWWXIXPIUTURJ" -."TCXYIKIPNTSUIOWBCEVQHLTHYQNGBHAOPREWGJVOQKNUKTXVTMBRHCERDGYWQVXB" -."BCZUGMIJXALLIOSXCYMEIDNTPLGRMKXKVFKWGRFKCBIRASOOYIFTLXFSBEOJSDFN" -."PHSWPGERDYIGUPDXUBSAFCHTPJNBORIRMAOCKGAMFFZUBTVSGEEFMYMEBPUVCRSP" -."DEEAROBQLJHNMCDAFMPLUKNZXTTJJIULUTDTLEZLVMRLKNLXGCQIGFCBHEWDHNPW" -."VRONBYCXVRGNQUMFSRADSIFLNRMQXAZKQUKYXGOAKTSLWVSBJMQYZMULCNYKFFUC" -."LKIPNJOURQLYDHLZYPHEJXPBYTXTGVZOGQUZXAORYINAOTRJCNEDPAXSJIQICWEY" -."UEJPQALSYHKYZLPJTMBLIDNFRFLTIOVZZTEWPSJCUNDWUDZWJKDDRJEXOICJBSYP" -."ZHLECBYVMMYLCCPCSVOVPEHEWQDJYSCOWTKFHTWVTSBCQSFKQFCNTGOQBEPSEXKR" -."AMJIKXZCWLPXMEUBLRJHNEVGMTGARBOBLOYPWUCWSBVTMZBIBRDCNOYXLPSDZODN" -."JSZXXQUCJZKIYOCCRHYALAJSYXFMWBAOIVAJWIAPOECUJAMFPCOCZDBDHRTBUWWJ" -."EJYZESNKIXFEBENSOHLCNSQPWGGJLOMTFEZVWWQAKPIFGUUUMWOKLXDUPFMOEKQG" -."ELOIQAUJPPIJZWKTCYQTJWXCBJMQWIOLQWJIASSXSFLWGUSETHRKEJHCHBOFLJJC" -."KPPLOTKBXSKUOSNSFHOJRCKXOKQHETCGSMABVALDSBAXBQRFNNJGIDZMNUYQYDHX" -."DJAHJBJSUEHADPSHOPOXEIRQPEAJEMEBWNXTOSGEQFUVXVHZDYHRUXCRICUHYUHA" -."FXXGTKWVDDMDSLXEVKZUNTEUKWAGSAWPHGQHEBUMQDHZDVIFVFNDXDUEVZVGSBCQ" -."STWYUOIHBOQQBAIAQJVNDZQVWHNXHMROIMXNCZRHYXUBFYLEZTWFCYOVILASEFSH" -."ZUQSNNTYEOCSTRDJPFHCPTDEWCQNEDFOQCZMXKCFIANKWOVDARXWRUCTPYPGTEZB" -."PERZIMOHRCNBYYJVYFBQJARSULMIAQPILDHEMKNVWMGFQBGZRSQZWZBMSDYKLOTA" -."VUILKBJADGDTEZENLJEOYPXIXJWIJXONTLXBRLIJFQZORAJIIZQRCUOZLVUTIHXI" -."NDRVVDJTEIKVLKZVRWHINEYVRGJHXLRNDCNFIYFRUUWMKKGHCPWLZKFULMJOIGJZ" -."OONOCNPLEJIBKYFDGEQEMMWYBNBWPDRCEIUMFTYAULDBHSHAGPFWVTZXYQGUAXYN" -."JGGOAMNBBFFSCDSXRTPOHBOVZEXYKAENIWSMBOXGQQTDTIBPSXFHMQUMMKNYYWIC" -."MFDWSMZDWHGCEWQHFTIMDGTMCEFKWMBAVPEBTCKHRRTLAYEGZTINIWYCUJRZMBPS" -."TLLEDLEPSAFMQPHYNJWBSSXKEMKLEZIAVNYIOUOTKGYUYJBKBSBQCFRXKOQABUWF" -."YCNLGXGTLWMLEJVSNDIAMYSXSYFLMNGBOZSREPCPQLRCLNYFVKTWUWBNYAPZTJVO" -."ONEPJBVBIOPBGVUNWUWZZBJEBDWUWUNFDBOICCGKXDBQWSWFUMIYRCXHLDWFKDUO" -."PBGTXWNOMUEBENXMARIGPKDETSZNTRODQZYNJJDMYSUBOLPWOEWEVESPLXIKLELG" -."DCIPTCCKJNNDBRCNVNHVZWPKWPUWLSOORQHNXRBZHHIYPJNBIRCZCIGGEMYKNWXV" -."TLCLXTIYRVUXONAJUCNMWHNMUSHRWHOEQTTGYJRJEZKNHLVUXUKQQYREZXWRNQKO" -."BDZTUGIKACSXLRJLESYYPLRFCFVSWJSZYPJBLBTPSEGUZOEXDIXEVWZJEOMOJOIB" -."QNXNFUXBRJYXMDXQOLVWVLZZMTEMTYRZBWUEEFIBOWXAPKEIQIZZCLMWAOBZVFTP" -."QQPBYCCLEYRLXVBPMUUMUDPECMDFSVJNKKAEMBYJJXMZGWYTAHECIXAFGWAOGIWV" -."GAOHCMVHJZVWZCHJWGJJDBZNDXPXOYTDVZEDPWZIIMQVCQPLQIEOSRPVVICTZKGX" -."JXSFDFUHKKOTXTEGLDSCAODMCVGSSEYANCXJDATMRJRIDLLIJHINSOXJQDEABCVU" -."WFXWKXJQEREZDLOVUQHYBESHNJWTESPNDVIKYLCTNQEVVUXAWFNQEYIVZXNMJEPL" -."MFMTOKXXFQYYVBHAXYQVUBALQLSNJSVOTZDDTOZMUEVZJATXQNQVSFXWTGACHUDD" -."QXCPCRLSREKXHKJNUYUJGIGCNWXUSXOGGYPQWFZDJCKKZONXJUSJKBYIPJSMPVIN" -."UFBIFNROMBTKQPBIZYJWLPQIJLNTLHTUEWFINOQQDAHCXXKVADTEDBANOPIJBXXC" -."NAEZOVJAISUQBCBNOYIJBXMRPYPKXBFKFVGQLOEFPOCTZHJXKGUPZQPZOZWXXSSH" -."SLBGVGVPRAFJCVRKWLSWLMHBMYOKVJDCZSQBLTGSOJDJHOVIDEBKJZNAQYLFIEYS" -."AYHOSGGDDJAAVTMBYFREMEPLWZXYZUYYRQWKQBLKAPDXMMHCBWSARJCHPGZFCVJG" -."OXXKCMWTVMKHUUSUMQOGNIHKIIAXNOAHPRIWHDOBJTRKSZAKOMHWTPQQXGZBOPIP" -."FQEVUBULHGESOARVICLMSUSHHTVYLFMLHFGKJNPYIYEMLBAZMLIDDSWRCVFOUSGC" -."TUQHWTUHRJUZHYQOKTWTLRVOSWRPSYBOBSZHZLRZEIZKKCMLNYICCUTIXNXETTKL" -."PYIFTUDCMWRQBZDROXTTVTAOOIQHIWOZESRHKPNGNCSHNAVEWUSGOTZCRNFSIXGF" -."QJUMUFPEZBFPOVGZZDCGDKEODSWAPNDNHVJUQDYLCXWNXSCDFFFPBTDOIZIZLBBP" -."ZXZYWTTPEUUCKXGBTXAJBAXYLMUVWWGWZYTXTKYVRXSOXOBHERLZJPRDXIQZRQLU" -."TXCLIJNKIRWMVQEJTLHZIDTNGBOYSULGWUTSYTKGNMGZFWKXCCZXGOQGZNQFZJUK" -."JMBQPQPZOPYTQMPEFTZUDLIIBZAZSZAPNILMIKMPKXJIRHRQMFSTJKAPIIQWOFYQ" -."HGANJGJSUGDIENDVEQFEMUJBGMZBPHLOARCVGMUUCHLCDDNKSJSCKYSALUAGUZFN" -."YVURVLREBESGXPANIDKGLPJZGXLKFKTPEQBQEINOYYZTBMPFBLBKIKVPAPFDKKRZ" -."YMVUBYCYTRXCIICUPTXKGQOIJSVSWPYVALIROWGVXDXGNSRVZOLEJHNRSUKHNTRJ" -."LQZQKBEFXYKIPXJRZMQMJKUGCNUKBZBWABPLHMAJJZVBCWOQYCLSGDUKJSTHTVXV" -."OUGJVADGJWGVNBNXYRZDSNLOZDIQRKOQAKJJDKXRMMTXRVTLOMTETNROPDYNXAGR"; -?> + log_load("index_rd_ifra_init.php"); + + if (($from = gpcs_var('from', $get, $post, $cookie)) === FALSE) + $from = ""; + if (($stat = gpcs_var('stat', $get, $post, $cookie)) === FALSE) + $stat = ""; + if (($subst = gpcs_var('subst', $get, $post, $cookie)) === FALSE) + $subst = ""; + if (($step = gpcs_var('step', $get, $post, $cookie)) === FALSE) + unset($step); + + $user->rd_data_set(time() + STREAM_TIMEOUT, $stat, $subst, $step, $from); + + $body .= sprintf(" - - - + + - -"); + $body .= sprintf("\n", $G_four_rnd_string); -echo("\n"); -mop_flush(); - -if (!isset($from)) - $from = ""; -if (!isset($subst)) - $subst = ""; -log_rd2("FROM OUTSIDE - STAT: ".$stat." SUBST: ".$subst." STEP: ".$step." FROM: ".$from. "IS_PAGE:" . $is_page_streaming); - - -$endtime = time() + STREAM_TIMEOUT; -$old_stat = $stat; -$old_subst = $subst; -$old_step = $ext_step = $step; - -$no_data = TRUE; -for ($i = 0, $script_step = 0 ; time() < $endtime ; $i++) { - // log_rd("PRE MAIN ".$step);; - $pre_main = gettimeofday(TRUE); - if (($ret = maincheck($sess, $old_stat, $old_subst, $old_step, &$stat, &$subst, &$step)) != FALSE) { - $no_data = FALSE; - if (0 == 1) { - echo '@BEGIN@'; - // log_rd2(sprintf("\nSESS: [%s]\nOLD_STAT: [%s] OLD_SUBST: [%s] OLD_STEP: [%s] \nSTAT: [%s] SUBST: [%s] STEP: [%s] \nCOMM: [%s]\n", $sess, $old_stat, $old_subst, $old_step, $stat, $subst, $step, $ret)); - echo "$ret"; - echo ' @END@'; - } - printf("", $script_step++, escpush($ret) ); - - log_send("IS_PAGE: ".($is_page_streaming == TRUE ? "TRUE" : "FALSE")." EXT_STEP: ".$ext_step." ENDTIME: [".$endtime."] ".$ret); - mop_flush(); - log_rd2(0, 'index_rd.php: after mop_flush (begin: '.sprintf("%f", $pre_main).')'); - if ($is_page_streaming) - break; - } - $old_stat = $stat; - $old_subst = $subst; - $old_step = $step; - // log_rd("POST MAIN ".$step);; - usleep(400000); - if (($i % 10) == 0) { - if ($no_data == TRUE) { - // log_rd2("TIME: ".time()); - printf("", $script_step++); - mop_flush(); - log_crit("flush"); - } - $no_data = TRUE; - } + return TRUE; } -$s = ""; -$tr = 0; -$tw = 0; -foreach ($S_load_stat as $key => $value) { - $s .= sprintf("%s: %d - ", $key, $value); - if (substr($key, 0, 1) == "w") - $tw += $value; - else if (substr($key, 0, 1) == "r") - $tr += $value; +function index_rd_ifra_main(&$room, &$user, &$body) +{ + GLOBAL $is_page_streaming; + + $is_page_streaming = FALSE; + log_rd2("FROM OUTSIDE - STAT: ".$user->rd_stat." SUBST: ".$user->rd_subst." STEP: ".$user->rd_step." FROM: ".$user->rd_from. "IS_PAGE:" . $is_page_streaming); + + + // $no_data = TRUE; + // for ($i = 0, $script_step = 0 ; time() < $endtime ; $i++) { + // log_rd("PRE MAIN ".$step);; + + $pre_main = gettimeofday(TRUE); + + $old_stat = $user->rd_stat; + $old_subst = $user->rd_subst; + $old_step = $user->rd_step; + if (($ret = maincheck($room, $user, $old_stat, $old_subst, $old_step, $user->rd_stat, $user->rd_subst, $user->rd_step)) != FALSE) { + // $no_data = FALSE; + if (0 == 1) { + echo '@BEGIN@'; + // log_rd2(sprintf("\nSESS: [%s]\nOLD_STAT: [%s] OLD_SUBST: [%s] OLD_STEP: [%s] \nSTAT: [%s] SUBST: [%s] STEP: [%s] \nCOMM: [%s]\n", $sess, $old_stat, $old_subst, $old_step, $stat, $subst, $step, $ret)); + echo "$ret"; + echo ' @END@'; + } + $body .= sprintf("", $user->rd_scristp++, escpush($ret) ); + + // log_send("IS_PAGE: ".($is_page_streaming == TRUE ? "TRUE" : "FALSE")." ENDTIME: [".$endtime."] ".$ret); + // mop_flush(); + log_rd2(0, 'index_rd.php: after mop_flush (begin: '.sprintf("%f", $pre_main).')'); + if ($is_page_streaming) + return TRUE; + } + /* $old_stat = $stat; */ + /* $old_subst = $subst; */ + /* $old_step = $step; */ + // log_rd("POST MAIN ".$step);; + // usleep(400000); +/* if (($i % 10) == 0 && 1 == 0) { // TODO: reenable push(null); */ +/* if ($no_data == TRUE) { */ +/* // log_rd2("TIME: ".time()); */ +/* printf("", $script_step++); */ +/* // mop_flush(); */ +/* log_crit("flush"); */ +/* } */ +/* $no_data = TRUE; */ +/* } */ + // } + + /* $s = ""; */ + /* $tr = 0; */ + /* $tw = 0; */ + /* foreach ($S_load_stat as $key => $value) { */ + /* $s .= sprintf("%s: %d - ", $key, $value); */ + /* if (substr($key, 0, 1) == "w") */ + /* $tw += $value; */ + /* else if (substr($key, 0, 1) == "r") */ + /* $tr += $value; */ + /* } */ + /* $s = sprintf("index_rd.php stats: R: %d W: %d - %s", $tr, $tw, $s); */ + /* log_crit($s); */ + + return TRUE; } -$s = sprintf("index_rd.php stats: R: %d W: %d - %s", $tr, $tw, $s); -log_crit($s); ?>