コード例 #1
0
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    global $cfg;
    if (($line = file('./log/errors.php')) === FALSE) {
        return;
    }
    $logkeep = max(10, $GLOBALS['cfg']['max_log']);
    $logkeep = min(500, $logkeep);
    unset($line[0]);
    $line = array_slice($line, 0, $logkeep - 1);
    array_unshift($line, TimeToDate(time(), true) . " #{$errno} {$errstr} {$errfile}[{$errline}]\r\n");
    $line = "<?php die(); ?>\r\n" . implode('', $line);
    @($fr = fopen('./log/errors.php', 'w'));
    @flock($fr, LOCK_EX);
    @fwrite($fr, $line);
    @fclose($fr);
}
コード例 #2
0
ファイル: m_view.php プロジェクト: BGCX261/zjrenju-svn-to-git
//$cfg['qq_types']=explode('|',$cfg['qq_types']);
//$m_qq_type=isset($cfg['qq_types'][$mdata['qq_type']]) ? $cfg['qq_types'][$mdata['qq_type']] :'腾讯QQ';
if ($mdata['u_qq'] != '') {
    $m_qq = $mdata['u_qq'];
} else {
    $m_qq = '----';
}
$m_email = $mdata['show_email'] ? "<a href=\"mailto:{$mdata['u_email']}\">{$mdata['u_email']}</a>" : '保密';
$m_website = $mdata['u_website'] == '' ? '无' : "<a href=\"{$mdata['u_website']}\" target=\"_blank\">{$mdata['u_website']}</a>";
$m_avatar = MakeBBAvatar($mdata['u_avatar']);
//$m_grade= MakeBBGrade($mdata);
$m_tout = GetBBTout($mdata) . '%';
$m_rate = $mdata['g_w'] + $mdata['g_d'] + $mdata['g_l'] == 0 ? 0 : round($mdata['g_w'] * 100 / ($mdata['g_w'] + $mdata['g_d'] + $mdata['g_l']), 1);
$m_rate .= '%';
$mdata['reg_date'] = TimeToDate($mdata['reg_date']);
$mdata['last_visit'] = TimeToDate($mdata['last_visit']);
$buttons = '';
$encodename = urlencode($mdata['u_name']);
if ($udata['is_member'] && !IsSameName($name, $udata['u_name'])) {
    $buttons .= MakeBBButton("room_new.php?byname={$encodename}", '搜索新局');
    $buttons .= MakeBBButton("g_search.php?action=list&search_all_user=0&u_name={$encodename}", '搜索棋局');
    $buttons .= MakeBBButton("pm_new.php?action=new1&sendto={$encodename}", '发送消息', 500, 220);
    $buttons .= MakeBBButton("pm_new.php?action=invite1&sendto={$encodename}", '邀请下棋', 500, 220);
    if (!In_Names($mdata['u_name'], $udata['friends'])) {
        $buttons .= MakeBBButton("m_fb.php?action=f_add&tname={$encodename}", '加为好友');
    }
    if (!In_Names($mdata['u_name'], $udata['blacklist'])) {
        $buttons .= MakeBBButton("m_fb.php?action=b_add&tname={$encodename}", '加入黑名单');
    }
}
$m_rec = "{$mdata['g_w']}胜{$mdata['g_d']}平{$mdata['g_l']}负";
コード例 #3
0
ファイル: m_man.php プロジェクト: BGCX261/zjrenju-svn-to-git
		ErrorBox('Email 和 用户名不匹配');
	}

	$row = RenDB_Fetch_Array( $result );
	if($row['u_id']<1) MessageBox( '发送失败' );

	//generate checkcode for new pass
	$passcheck=md5(uniqid(rand(),true));
	$newpass=substr(md5(uniqid(rand(),true)),0,8);
	//$newpass=uniqid(rand(),true);

	//write into database
	$sql = "UPDATE `$cfg[tb_members]` SET new_pass='******', new_pass_check='$passcheck' WHERE u_id='$row[u_id]' LIMIT 1";
	RenDB_Query($sql,true);

	$nowtime=TimeToDate($nowtime,true);
	//send email
	eval('$mail_msg= "'.LoadTemplate('email_send_pass').'";');
	//echo $mail_msg;
	
	//die($cfg['email_subject'].$mail_msg);
	if(mail($u_email,$cfg['email_subject'],$mail_msg,
		"From: $cfg[rbb_email]" ))
	{
		MessageBox('新的密码已经发到您的邮箱,请查收');
	}
	else
	{
		MessageBox('发送失败');
	}
	break;
コード例 #4
0
$link_outbox = $outbox ? HLTxt('■发件箱') : "□<a href=\"pm_view.php?page={$page}&outbox=1\">发件箱</a>";
$box_type = $outbox ? 'out' : 'in';
$cond = $outbox ? " WHERE comefrom='{$udata['u_name']}' " : " WHERE sendto='{$udata['u_name']}' ";
$sql = "SELECT COUNT(*) FROM {$cfg['tb_pms']} {$cond}";
$result = RenDB_Query($sql);
$row = RenDB_Fetch_Row($result);
$pageinfo = MakePageBar("pm_view.php?outbox={$outbox}", $row[0], $cfg['pmperpage'], $page);
$sql = "SELECT * FROM {$cfg['tb_pms']} {$cond} ORDER BY pmid DESC LIMIT {$pageinfo['start']},{$cfg['pmperpage']}";
$result = RenDB_Query($sql);
$pmlist = '';
$pmnum = 0;
if (RenDB_Num_Rows($result) > 0) {
    $pm_cell = LoadTemplate('pm_cell');
    //$endid = 0;
    while ($pmdata = RenDB_Fetch_Array($result)) {
        $pmdate = TimeToDate($pmdata['sendtime']);
        //是收件
        $pmnum++;
        if ($pmnum == $cfg['maxpm']) {
            $endid = $pmdata['pmid'];
        }
        if ($pmnum > $cfg['maxpm'] && !$pmdata['isnew']) {
            continue;
        }
        $pmnew = $pmdata['isnew'] ? HLTxt('*') : '';
        //$ignore='';
        $reply = $outbox ? '&nbsp;' : MakeBBButton("pm_new.php?&action=new1&sendto={$pmdata['comefrom']}", '回复', 550, 250);
        /*
        		$ignore= ( !In_Names( $pmdata['comefrom'], $udata['blacklist'] )) ?
        			MakeBBButton( "m_man.php?&action=add&name={$pmdata['comefrom']}", '拒收') : '' ;
        */
コード例 #5
0
 $log_name = trim($_POST['log_name']);
 //删除旧的在线记录
 $sql = "DELETE FROM {$cfg['tb_onlines']} WHERE o_time<={$o_deadline} OR o_time>'" . time() . "'";
 RenDB_Query($sql, true);
 $row['u_id'] = 0;
 $sql = "SELECT u_id,ban_before FROM {$cfg['tb_members']} WHERE u_name='{$log_name}' AND u_pass=MD5('{$log_pass}') LIMIT 1";
 $result = RenDB_Query($sql);
 if (RenDB_Num_Rows($result)) {
     $row = RenDB_Fetch_Array($result);
 }
 if (!$row['u_id']) {
     WriteBBLog("密码错误 IP:{$userip} 用户名:'{$log_name}'", 'wrongpass');
     MessageBox('账号或密码无效');
 }
 if ($row['ban_before'] > $nowtime) {
     MessageBox('你的账号被冻结到 ' . TimeToDate($row['ban_before']));
 }
 //删除online
 $sql = "DELETE FROM {$cfg['tb_onlines']} WHERE fake_name='{$udata['fake_name']}'";
 RenDB_Query($sql, true);
 //更新lastlogin和actcheck
 $actcheck = md5(uniqid(rand()));
 $sql = "UPDATE {$cfg['tb_members']} SET last_visit='{$nowtime}', act_check='{$actcheck}' WHERE u_name='{$log_name}' LIMIT 1";
 RenDB_Query($sql, true);
 //更新cookies
 //print("setcookie");
 setcookie('cook_name', $log_name);
 setcookie('cook_pass', md5($log_pass));
 //header("Location: index.php");
 $lks[] = array("回到主页", 'index');
 MessageBox("登陆成功.", $lks);
コード例 #6
0
function WriteBBLog($log, $logname = 'syslog', $insubdir = false)
{
    global $udata;
    $filename = $insubdir ? "../log/{$logname}.php" : "./log/{$logname}.php";
    if (($line = file($filename)) === FALSE) {
        return;
    }
    $logkeep = max(10, $GLOBALS['cfg']['max_log']);
    $logkeep = min(500, $logkeep);
    unset($line[0]);
    $line = array_slice($line, 0, $logkeep - 1);
    array_unshift($line, TimeToDate(time(), true) . " {$log} \tby {$udata['fake_name']}\r\n");
    $line = "<?php die(); ?>\r\n" . implode('', $line);
    @($fr = fopen($filename, 'w'));
    @flock($fr, LOCK_EX);
    @fwrite($fr, $line);
    @fclose($fr);
}
コード例 #7
0
ファイル: ip_man.php プロジェクト: BGCX261/zjrenju-svn-to-git
    die('Fatal error.');
}
SetNoUseCache();
if (!isset($action)) {
    $action = 'show';
}
if (!in_array($action, array('show', 'unban', 'ban'))) {
    ACP_MessageBox($str['act_err']);
}
switch ($action) {
    case 'show':
        $ban_ips = '';
        $sql = "SELECT * FROM `{$cfg['tb_banips']}` ORDER BY ban_time DESC";
        $result = RenDB_Query($sql);
        while ($row = RenDB_Fetch_Array($result)) {
            $row['ban_time'] = TimeToDate($row['ban_time'], true);
            $ban_ips .= "<option value=\"{$row['ban_ip']}\">{$row['ban_time']} | {$row['ban_ip']} | {$row['ban_reason']}</option>";
        }
        if ($ban_ips != '') {
            $ban_ips = "<select style=\"width: 90%\" name=\"ban_ip\">{$ban_ips}</select> <input type=\"submit\" value=\"解禁\" >";
        } else {
            $ban_ips = '目前没有IP被屏蔽';
        }
        ACP_ShowHeader('屏蔽IP');
        eval('echo "' . LoadTemplate('ip_man') . '";');
        ACP_ShowFooter();
        break;
    case 'ban':
        if (!isset($ban_ip, $ban_reason)) {
            ACP_MessageBox($str['act_err']);
        }
コード例 #8
0
 }
 //$tablename=$old_game?$cfg['tb_oldgames']:$cfg['tb_games'];
 //$sql="SELECT * FROM `$cfg[tb_games]` $where_sql ORDER BY gid DESC LIMIT";
 //echo "$row[0]";
 if ($packdown) {
     require_once './include/tar.class.php';
     header("Content-type: /tar.gz");
     $filename = md5(uniqid(rand()));
     header("Content-Disposition: attachment; filename={$filename}.tar.gz");
     $tar = new tar();
     $sql = "SELECT * FROM `{$cfg['tb_games']}` {$where_sql}";
     $result = RenDB_Query($sql);
     while ($gdata = RenDB_Fetch_Array($result)) {
         $tar->addPosFile($gdata);
     }
     $tar->addInfo('Generated by RBB, ' . TimeToDate(time(), true));
     $tar->echoTar();
 } else {
     SetNoUseCache();
     $sql = "SELECT COUNT(*) FROM `{$cfg['tb_games']}` {$where_sql}";
     $result = RenDB_Query($sql);
     $row = RenDB_Fetch_Row($result);
     if (!isset($page)) {
         $page = 1;
     }
     $page = intval($page);
     $encodename = urlencode($u_name);
     $pageinfo = MakePageBar("g_search.php?action=list&rules={$rules}&search_time={$search_time}&opening={$opening}&search_all_user={$search_all_user}&u_name={$encodename}&game_status={$game_status}&cp_id={$cp_id}&group_id={$group_id}", $row[0], $cfg['gperpage'], $page);
     $packdownlink = $row[0] ? "[<a href=\"g_search.php?action=list&rules={$rules}&search_time={$search_time}&opening={$opening}&search_all_user={$search_all_user}&u_name={$encodename}&game_status={$game_status}&cp_id={$cp_id}&group_id={$group_id}&packdown=1\">全部打包下载</a>]" : '';
     $sql = "SELECT * FROM `{$cfg['tb_games']}` {$where_sql} ORDER BY {$order_sql} LIMIT {$pageinfo['start']},{$cfg['gperpage']}";
     $result = RenDB_Query($sql);
コード例 #9
0
ファイル: g_view.php プロジェクト: BGCX261/zjrenju-svn-to-git
                $panel .= '黑超时';
        }
    } elseif ($nostart) {
        $panel .= "该局将于 " . TimeToDate($gdata['startdate']) . " 开始";
    } else {
        $panel .= " 目前共走了{$mcount}步";
    }
}
//对话
$sql = "SELECT * FROM `{$cfg['tb_chats']}` WHERE gid='{$gid}' ORDER BY chat_id DESC";
$result = RenDB_Query($sql);
//$rows=RenDB_Num_Rows($result);
$chat_message = '';
while ($chatdata = RenDB_Fetch_Array($result)) {
    $chat_message .= $chatdata['chat_author'] == '' ? 'Guest  ' : "{$chatdata['chat_author']}  ";
    $chat_message .= TimeToDate($chatdata['chat_date'], true);
    $chat_message .= "\r\n";
    $chat_message .= $chatdata['chat_message'];
    $chat_message .= "\r\n-----------------\r\n";
}
$panel .= '<br />';
$panel .= "<textarea rows=\"8\" cols=\"35\" readonly>{$chat_message} </textarea>";
$panel .= "<form method=\"post\" action=\"chat_new.php?&gid={$gid}\"><input type=\"textarea\" size=\"27\" maxlength=\"253\" name=\"message\" /> <input type=\"submit\" value=\"chat\"></form>";
$panel .= '</td></tr></table>';
//自动刷新
if ($cfg['span_refresh_game'] > 0 && $nowtime - $gdata['l_time'] < 1800 && $myside >= 0 && $mems[1 - $myside]['online']) {
    $statcode = urlencode("{$turnside}{$gdata['swaped']}{$undos[0]}{$undos[1]}{$draws[0]}{$draws[1]}-{$gdata['mcount']}");
    //echo $statcode;
    $frame_auto = "<iframe frameborder=\"0\" width=\"0\" height=\"0\" src=\"auto_refresh.php?gid={$gid}&statcode={$statcode}\"></iframe>";
} else {
    $frame_auto = '';
コード例 #10
0
 if (IsSameName($gdata['b_name'], $udata['u_name'])) {
     $gcolor = '<img src="./images/black.gif" alt="黑">';
     $gopp = MemberLink($gdata['w_name']);
 } else {
     $gcolor = '<img src="./images/white.gif" alt="白">';
     $gopp = MemberLink($gdata['b_name']);
 }
 $gblack = MemberLink($gdata['b_name']);
 //if( $gdata['w_name'] !='')
 $gwhite = MemberLink($gdata['w_name']);
 $gmcount = $mcount;
 //$bgcolor = $color[ $gnum % 2 ];
 $glink = "<a href=\"g_view.php?gid={$gdata['gid']}\">查看</a>";
 if ($gdata['startdate'] > $nowtime) {
     $ginfo = '还未开始';
     $gtremain = '开始时间: ' . TimeToDate($gdata['startdate']);
     $gtstep = '';
 } elseif ($gdata['status']) {
     $ginfo = '已经结束';
     switch ($gdata['status']) {
         case 1:
             $gtremain = '黑禁手';
             break;
         case 2:
             $gtremain = '和棋';
             break;
         case 3:
             $gtremain = '黑胜';
             break;
         case 4:
             $gtremain = '白胜';
コード例 #11
0
        $lks[0] = HLTxt('积分');
        break;
}
//上榜人数
$sql = "SELECT COUNT(*) FROM {$cfg['tb_members']}";
$result = RenDB_Query($sql);
$row = RenDB_Fetch_Row($result);
$pageinfo = MakePageBar("ranking.php?orderby={$orderby}", $row[0], $cfg['mperpage'], $page);
$sql = "SELECT * FROM {$cfg['tb_members']} ORDER BY {$order} LIMIT {$pageinfo['start']},{$cfg['mperpage']}";
$result = RenDB_Query($sql);
$mlist = '';
$mnum = 0;
if (RenDB_Num_Rows($result) > 0) {
    $member_cell = LoadTemplate('m_cell');
    while ($mdata = RenDB_Fetch_Array($result)) {
        $morder = $pageinfo['start'] + $mnum + 1;
        $mname = MemberLink($mdata['u_name']);
        $mgrade = $mdata['skill'];
        $mrate = $mdata['g_w'] + $mdata['g_d'] + $mdata['g_l'] == 0 ? 0 : round($mdata['g_w'] * 100 / ($mdata['g_w'] + $mdata['g_d'] + $mdata['g_l']), 1);
        $mrate .= '%';
        $minfo = "{$mdata['g_w']}胜{$mdata['g_d']}平{$mdata['g_l']}负";
        $mregtime = TimeToDate($mdata['reg_date']);
        eval("\$mlist .= \"{$member_cell}\";");
        $mnum++;
    }
} else {
    $glist = "<tr><td colspan=\"7\">(空)</td></tr>";
}
ShowHeader('<img src="./images/ranking.gif" /> 用户排名');
eval('echo "' . LoadTemplate("ranking") . '";');
ShowFooter();
コード例 #12
0
ファイル: index.php プロジェクト: BGCX261/zjrenju-svn-to-git
    }
    if (!$first) {
        $onlines .= ', ';
    }
    $onlines .= MemberLink($row['fake_name']);
    $first = false;
}
if ($guestcount > 0) {
    if (!$first) {
        $onlines .= ', ';
    }
    $onlines .= "Guest x {$guestcount}</td>";
}
//删除旧的在线记录
$sql = "DELETE FROM {$cfg['tb_onlines']} WHERE o_time<={$o_deadline} OR o_time>'" . time() . "'";
RenDB_Query($sql, true);
//在线纪录
require_once './cache/onlinerec.php';
if ($onlcount > $maxonline[0]) {
    $maxonline[0] = $onlcount;
    $buf = "<?php \$maxonline=array({$onlcount},{$nowtime}); ?>";
    $fr = @fopen('./cache/onlinerec.php', 'w');
    @flock($fr, LOCK_EX);
    @fwrite($fr, $buf);
    @fclose($fr);
    WriteBBLog("在线人数记录: {$onlcount}");
}
$maxonline[1] = TimeToDate($maxonline[1]);
ShowHeader('<img src="./images/home.gif" /> ' . $str['main_page']);
eval('echo "' . LoadTemplate('main') . '";');
ShowFooter();
コード例 #13
0
ファイル: cp_man.php プロジェクト: BGCX261/zjrenju-svn-to-git
 $result3 = RenDB_Query($sql);
 $row = RenDB_Fetch_Row($result3);
 $total = $row[0];
 $sql = "SELECT COUNT(*) FROM `{$cfg['tb_games']}` WHERE cp_id='{$cp_id}' AND status=0";
 $result3 = RenDB_Query($sql);
 $row = RenDB_Fetch_Row($result3);
 $finished = $total - $row[0];
 $buf = '<table style="word-wrap: break-word" width="100%" border="0" cellpadding="4"><tr><td>';
 $buf .= "<h2>{$cpdata['cp_name']}</h2>";
 $buf .= "<h5>" . TimeToDate($cpdata['starttime']);
 if ($cpdata['endtime']) {
     $buf .= ' - ' . TimeToDate($cpdata['endtime']);
 }
 $buf .= "</h5>";
 $buf .= "<h5>Totally {$total} games, {$finished} finished. [<a href=\"g_search.php?&action=list&cp_id={$cp_id}\">view</a>] [<a href=\"g_search.php?&action=list&cp_id={$cp_id}&packdown=1\">download</a>]  </h5>";
 $buf .= '<h5>Last update: ' . TimeToDate($nowtime, true) . '</h5>';
 $buf .= $cpdata['description'];
 $sql = "SELECT * FROM `{$cfg['tb_groups']}` WHERE cp_id='{$cp_id}' ORDER BY group_id";
 $result = RenDB_Query($sql);
 $num = 0;
 while ($gpdata = RenDB_Fetch_Array($result)) {
     $sql = "SELECT * FROM `{$cfg['tb_players']}` WHERE group_id='{$gpdata['group_id']}' ORDER BY player_id";
     $result1 = RenDB_Query($sql);
     $players = array();
     while ($row = RenDB_Fetch_Array($result1)) {
         $players[] = $row;
     }
     //判断是否结束
     $sql = "SELECT gid FROM `{$cfg['tb_games']}` WHERE group_id='{$gpdata['group_id']}' AND status=0 LIMIT 1";
     $result3 = RenDB_Query($sql);
     if (RenDB_Num_Rows($result3)) {
コード例 #14
0
ファイル: m_man.php プロジェクト: BGCX261/zjrenju-svn-to-git
     } else {
         $ban_time *= 60;
         $banbefore = $ban_time + $nowtime;
     }
     $sql = "UPDATE {$cfg['tb_members']} SET ban_before='{$banbefore}' WHERE u_name='{$ban_name}' LIMIT 1";
     RenDB_Query($sql, true);
     if ($banbefore == -1) {
         ACP_WriteLog("冻结账号 {$ban_name} ");
         ACP_MessageBox("{$ban_name} 永久冻结");
     }
     if ($ban_time <= 0) {
         ACP_WriteLog("解冻账号 {$ban_name} ");
         ACP_MessageBox("{$ban_name} 解冻完毕");
     } else {
         ACP_WriteLog("冻结账号 {$ban_name} ");
         ACP_MessageBox("{$ban_name} 冻结到 " . TimeToDate($banbefore));
     }
     break;
 case 'ed1':
     if (!isset($u_name)) {
         ACP_MessageBox($str['act_err']);
     }
     $u_name = trim($u_name);
     $sql = "SELECT * FROM `{$cfg['tb_members']}` WHERE u_name='{$u_name}' LIMIT 1";
     $result = RenDB_Query($sql);
     if (!($mdata = RenDB_Fetch_Array($result))) {
         ACP_MessageBox('该用户不存在');
     }
     if (IN_Names($u_name, $cfg['admins'])) {
         $m_stan = '管理员';
     } else {
コード例 #15
0
$page = intval($page);
$sql = "SELECT COUNT(*) FROM `{$cfg['tb_competitions']}`";
$result = RenDB_Query($sql);
$row = RenDB_Fetch_Row($result);
$pageinfo = MakePageBar("cp_list.php?", $row[0], $cfg['gperpage'], $page);
$sql = "SELECT * FROM `{$cfg['tb_competitions']}` ORDER BY cp_id DESC LIMIT {$pageinfo['start']},{$cfg['gperpage']}";
$result = RenDB_Query($sql);
$cplist = '';
if (RenDB_Num_Rows($result) > 0) {
    while ($cpdata = RenDB_Fetch_Array($result)) {
        $cplist .= "<tr bgcolor=\"{$color['cell']}\"><td>";
        if (!file_exists("./cpdata/{$cpdata['cp_id']}.html")) {
            $cplist .= $cpdata['cp_name'];
        } else {
            $cplist .= "<a  href=\"cp_view.php?cp_id={$cpdata['cp_id']}\">{$cpdata['cp_name']}</a>";
        }
        $cplist .= ' ' . TimeToDate($cpdata['starttime']);
        if ($cpdata['endtime']) {
            $cplist .= ' - ' . TimeToDate($cpdata['endtime']);
        }
        $cplist .= '<hr />';
        $cplist .= $cpdata['description'];
        $cplist .= "</td></tr>";
    }
} else {
    $cplist = "<tr bgcolor=\"{$color['cell']}\"><td>(空)</td></tr>";
}
//echo sprintf ( "%01.3f" , GetMicrotime() - $mt0 );
ShowHeader('<img src="./images/renju.gif" /> ' . $str['cp_view']);
eval('echo "' . LoadTemplate('cp_list') . '";');
ShowFooter();