GIF89a;
Direktori : /home/serb/public_html/chat/ |
Current File : /home/serb/public_html/chat/save.php |
<?php $GLOBALS['my_file_name'] = 'save'; require_once('inc/common.php'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); $req = array_merge($_GET, $_POST); // ajax skin fix. artemK0 $isAjax = isset($_GET['notifColor']) ? true : false; // end of fix $theme = $_REQUEST['theme']; $conn =& ChatServer::getConnection($req); $mqi = $conn->process($req); $users = array(); $rooms = array(); function getLocalMessage($messageid, $lang = null) { if(!isset($lang)) $lang = $GLOBALS['fc_config']['defaultLanguage']; $msg = $GLOBALS['fc_config']['languages'][$lang]['messages'][$messageid]; if(!$msg) $msg = $GLOBALS['fc_config']['languages'][$GLOBALS['fc_config']['defaultLanguage']]['messages'][$messageid]; if(!$msg) $msg = $GLOBALS['fc_config']['languages']['en']['messages'][$messageid]; return $msg; } function parseMessage($msg, $userLabel, $roomLabel, $timestamp) { global $users, $rooms; $search = array( 'USER_LABEL', 'ROOM_LABEL', 'TIMESTAMP' ); $replace = array( $userLabel, $roomLabel, $timestamp ); return str_replace($search, $replace, $msg); } function formatMessage($msg, $userLabel = '', $roomLabel = '', $timestamp = '') { // ajax skin fix. artemK0 global $isAjax; $color = $isAjax ? $_GET['notifColor'] : htmlColor($GLOBALS['fc_config']['themes'][$_REQUEST['theme']]['enterRoomNotify']); // end of fix return "<font color=\"$color\">" . parseMessage($msg, $userLabel, $roomLabel, $timestamp) . '</font><br>'; } ?> <html> <head> <title>Chat log</title> <meta http-equiv=Content-Type content="text/html; charset=UTF-8"> </head> <style type="text/css"> <!-- BODY { font-family: <?php printf($req['font'])?>, Verdana, Arial, Helvetica, sans-serif; font-size: <?php printf($req['size'])?>px; } --> </style> <body bgcolor="<?php // ajax skin fix. artemK0 $color = $isAjax ? $_GET['theme'] : htmlColor($GLOBALS['fc_config']['themes'][$theme]['publicLogBackground']); // end of fix printf($color); ?>" onLoad="window.focus()"> <?php while($mqi->hasNext()) { $m = $mqi->next(); // echo '<pre>';print_r($m); $m->created = format_Timestamp($m->created, $conn->tzoffset); switch($m->command) { case 'msgu': case 'msgb': case 'msg': if ($users[$m->userid] == null) break; $color = ($m->command != 'msg')?htmlColor($GLOBALS['fc_config']['themes'][$theme]['enterRoomNotify']):$users[$m->userid][2]; $login = $users[$m->userid][0]; if($m->touserid) $login .= "->{$users[$m->touserid][0]}"; printf("<font color=\"$color\">"); $msgLabel = $GLOBALS['fc_config']['labelFormat']; $replace_pairs = array( 'AVATAR' => '', 'USER' => $login, 'TIMESTAMP' => $m->created, ); $msgLabel = strtr ( $msgLabel, $replace_pairs); printf($msgLabel); $replace_pairs = array( '&apos;' => "'", '<' => '<', '>' => '>', '&' => '&', ' ' => ' ' ); $str = strtr ( $m->txt, $replace_pairs).'</font><br/>'; $str = str_replace('<br>', '<br>'.$GLOBALS['fc_config']['linebreaktext'], $str); if(strpos($str, $GLOBALS['fc_config']['badWordSubstitute']) === false) { printf($str); } else { echo $str; } break; case 'adu': $stmt = new Statement('SELECT `password` FROM '.$GLOBALS['fc_config']['db']['pref'].'rooms WHERE id=?', 84); $users[$m->userid] = array($m->txt, $m->roomid, htmlColor($GLOBALS['fc_config']['themes'][$theme]['recommendedUserColor'])); if($rs = $stmt->process($m->roomid)) { while($rec = $rs->next()) { if($rec['password'] == '') { if(isset($users[$conn->userid]) && $users[$conn->userid][1] == $m->roomid) { printf(formatMessage(getLocalMessage(($m->userid == $conn->userid)?'selfenterroom':'enterroom', $conn->lang), $users[$m->userid][0], $rooms[$m->roomid], $m->created)); } } } } break; case 'uclc': $users[$m->userid][2] = dechex($m->txt); $dig_count = strlen($users[$m->userid][2]); if($dig_count<6) { $i=6-$dig_count; $to_add = ''; while($i>0) { $to_add .= '0'; $i--; } $users[$m->userid][2] = $to_add.$users[$m->userid][2]; } break; case 'mvu': if($m->userid == $conn->userid) { printf(formatMessage(getLocalMessage('selfenterroom', $conn->lang), $users[$m->userid][0], $rooms[$m->roomid], $m->created)); } else { if($m->roomid == $users[$conn->userid][1]) { printf(formatMessage(getLocalMessage('enterroom', $conn->lang), $users[$m->userid][0], $rooms[$m->roomid], $m->created)); } else { printf(formatMessage(getLocalMessage('leaveroom', $conn->lang), $users[$m->userid][0], $rooms[$users[$conn->userid][1]], $m->created)); } } $users[$m->userid][1] = $m->roomid; break; case 'rmu': printf(formatMessage(getLocalMessage('leaveroom', $conn->lang), $users[$m->userid][0], $rooms[$users[$conn->userid][1]], $m->created)); break; case 'adr': $rooms[$m->roomid] = $m->txt; break; case 'error': //printf(formatMessage(getLocalMessage($m->txt, $conn->lang), $users[$m->userid][0], $rooms[$users[$conn->userid][1]], $m->created)); break; case 'back': printf(formatMessage('/back '.$m->roomid)); break; case 'backt': printf(formatMessage('/backtime '.$m->roomid)); break; } } ?> </body> </html>