Beispiel #1
0
 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'] . '\'');
 }