static function output() { global $db; $c = count(self::$script); $time = time(); if (!$c && ($keep = $time % self::$keep_connect_sec)) { return; } self::$count_script += $c; echo '<script language="javascript">'; foreach (self::$script as $i) { switch ($i['action']) { case 'msg': echo 'window.parent.chat.givemsg(\'' . $i['type'] . '\',\'' . $i['message'] . '\',\'' . $i['fromuid'] . '\',\'' . $i['fromname'] . '\',\'' . $i['toname'] . '\',' . $i['time'] . ');'; break; case 'keepconnect': echo 'window.parent.system.server.keepconnect(' . (self::$max_interval_sec * 1000 + 3000) . ');'; break; case 'script': echo $i['code']; break; } } if (self::$count_script >= self::$max_count_script) { echo 'window.parent.system.server.clearserverscript();'; } if (!$keep) { echo 'window.parent.system.server.keep(' . (self::$keep_connect_sec + 3) . ');'; } echo '</script>'; ob_flush(); self::$script = array(); self::$last_script_time = $time; $db->update('online_user', array('lastmsgid' => self::$last_chatmsg_id), '`uid`=\'' . $user['uid'] . '\''); }