if(phpversion()<"4.1.0"){
$_GET = $HTTP_GET_VARS;
$_POST = $HTTP_POST_VARS;
$_SESSION = $HTTP_SESSION_VARS;
}
extract($_GET);
extract($_POST);
extract($_SERVER);
/******************************
* pHp de cHat by ToR
*
* http://php.s3.to/
******************************/
define('CHATLOG', 'chat.htm'); //ログファイル(666)
define('MEMBER', 'member.log'); //参加者ファイル(666)
define('LOGMAX', 100); //ログ保存行
define('NAMEMAX', 30); //名前表示文字数(半角)
define('EMAILMAX', 60); //EMAIL表示文字数
define('ROM', 1); //ROM時ホスト 0-no,1-count,2-ip view
define('HOST', 1); //入室時ホスト 0-no,1-source,2-ip view
define('SEPA', '♪'); //参加者表示区切り
define('POINT', '■'); //発言先頭文字(EMAILにリンク)
define('HR', '
'); //区切り線
define('JUMP', 'http://php.s3.to/chat/'); //退室後の飛び先
define('JOINA', 'メッセージ > '); //入室時先頭部
define('JOINB', ' さんが入室されました'); //入室時メッセージ
define('EXITA', 'メッセージ > '); //退室時先頭部
define('EXITB', ' さんが退室されました'); //退室時メッセージ
$Reload = array("0","5","10","20","30","45","60"); //リロード時間
$Logline = array("5","10","20","30","40"); //ログ行数
$Colors = array('800f65','e50086','db0015','eb7988','ad8c38','e4a20b','ffb74c','28af78','008677','6d9a4a','bcc8db','504dcb','3100b2','3a2d6b');
$title = 'pHp de cHat';
$top_body = '';
$main_body= '';
function ShowHeader($title ="",$meta ="") {
?>
echo $title; ?>
echo $meta; ?>
}
function ShowFooter(){
echo "";
}
function DatePrint($now){
$n_date = " (".gmdate("m/d(D) H:i",$now+9*3600).")";
return $n_date;
}
function MemUpdate($name,$color,$id){
$mem_arr = file(MEMBER);
$now = time();
$addr = getenv("REMOTE_ADDR");
$host = @gethostbyaddr($addr);
$fp = fopen(MEMBER, "w");
foreach($mem_arr as $mem_data){
list($m_name,$m_co,$m_ip,$m_id,$m_time) = explode("\t", $mem_data);
if(($now-$m_time) < 60){
if($m_id != $id){
fputs($fp, $mem_data);
}
}
}
fputs($fp, "$name\t$color\t$host\t$id\t$now\n");
fclose($fp);
}
function MemDump(){
$mem_cnt = 0;
$rom_cnt = 0;
$mem_arr = file(MEMBER);
foreach($mem_arr as $mem_data){
list($m_name,$m_color,$m_ip,$m_id,$m_time) = explode("\t", $mem_data);
if(trim($m_name)){
$mem_lst .= " ".$m_name."".SEPA;
$mem_cnt++;
}elseif(ROM==2){
$mem_lst .= " ".$m_ip.SEPA;
}elseif(ROM==1){
$rom_cnt++;
}
}
return array($mem_cnt,$mem_lst,$rom_cnt);
}
function WriteLog($msg){
$log_arr = file(CHATLOG);
$fp = fopen(CHATLOG, "w");
flock($fp, LOCK_EX);
fputs($fp, "$msg\n");
for($i = 0; $i < LOGMAX; $i++){
fputs($fp, $log_arr[$i]);
}
fclose($fp);
}
function CleanStr($instr){
$instr = htmlspecialchars($instr);
if(get_magic_quotes_gpc()){
$instr = stripslashes($instr);
}
$instr = str_replace("&#", "", $instr);
return $instr;
}
function error($mes){
global $PHP_SELF;
ShowHeader();
?>
print($mes); ?>
戻る
die("\n