function ReCountForum($fid)
{
	global $cfg;
	$sql = "SELECT COUNT(*) FROM $cfg[tb_topics] WHERE fid='$fid'";
	$result = RenDB_Query($sql);
	if($row = RenDB_Fetch_Row($result))
		$topics=$row[0];
	else $topics=0;

	$sql = "SELECT COUNT(*) FROM $cfg[tb_posts] WHERE fid='$fid'";
	$result = RenDB_Query($sql);
	if($row = RenDB_Fetch_Row($result))
		$posts=$row[0];
	else $posts=0;

	$sql = "SELECT author,postdate FROM $cfg[tb_posts] WHERE fid='$fid' ORDER BY pid DESC LIMIT 1";
	$result = RenDB_Query($sql);
	if($row = RenDB_Fetch_Array($result))
	{
		$lastpost=$row['postdate'];
		$lastposter=$row['author'];
	}
	else
	{
		$lastpost=0;
		$lastposter='';
	}

	$sql = "UPDATE $cfg[tb_forums] SET topics='$topics',posts='$posts',lastpost='$lastpost',lastposter='$lastposter'  WHERE  fid='$fid' LIMIT 1";
	RenDB_Query($sql,true);
}
Exemple #2
0
function IsMember( $name )
{
	global $cfg;
	$sql ="SELECT COUNT(*) FROM $cfg[tb_members] WHERE u_name='$name' LIMIT 1";
	$result = RenDB_Query($sql);

	if( RenDB_Num_Rows($result) != 0 )
	{
		$row = RenDB_Fetch_Row( $result );
		return $row[0];
	}
	return 0;
}
function DeleteMember($u_name)
{
    global $cfg;
    //$sql="UPDATE `$cfg[tb_topics]` SET author='' WHERE author='$u_name'";
    //RenDB_Query($sql,true);
    //$sql="UPDATE `$cfg[tb_posts]` SET author='' WHERE author='$u_name'";
    //RenDB_Query($sql,true);
    $sql = "UPDATE `{$cfg['tb_chats']}` SET author='' WHERE author='{$u_name}'";
    RenDB_Query($sql, true);
    $sql = "DELETE FROM `{$cfg['tb_newgames']}` WHERE host_name='{$u_name}'";
    RenDB_Query($sql, true);
    $sql = "DELETE FROM `{$cfg['tb_pms']}` WHERE sendto='{$u_name}' OR comefrom='{$u_name}'";
    RenDB_Query($sql, true);
    $sql = "DELETE FROM `{$cfg['tb_games']}` WHERE w_name='{$u_name}' OR b_name='{$u_name}' ";
    RenDB_Query($sql, true);
    $sql = "DELETE FROM `{$cfg['tb_members']}` WHERE u_name='{$u_name}'";
    RenDB_Query($sql, true);
}
        if (!In_Names($sendto, $cfg['admins'])) {
            //检查消息是否已满
            //	$sql ="SELECT COUNT(*) FROM $cfg[tb_pms] WHERE sendto='$sendto' OR comefrom='$sendto' LIMIT $cfg[maxpm]";
            $sql = "SELECT COUNT(*) FROM {$cfg['tb_pms']} WHERE sendto='{$sendto}' LIMIT {$cfg['maxpm']}";
            $result = RenDB_Query($sql);
            if ($row = RenDB_Fetch_Row($result)) {
                if ($row[0] >= $cfg['maxpm']) {
                    SimplyBox('对方消息已经满了');
                }
            }
        }
        //var_dump($meminfo);
        //写入数据库
        $sql = "INSERT INTO `{$cfg['tb_pms']}` SET ";
        $sql .= "sendto='{$sendto}',";
        $sql .= "comefrom='{$udata['u_name']}',";
        $sql .= "sendtime='{$nowtime}',";
        $sql .= "message='{$message}',";
        $sql .= "u_stand='{$pm_stand}'";
        $result = RenDB_Query($sql);
        if ($row = RenDB_Insert_ID()) {
            //通知用户有新消息
            if (!$meminfo['have_new_pm']) {
                $sql = "UPDATE {$cfg['tb_members']} SET have_new_pm=1 WHERE u_name='{$sendto}' LIMIT 1";
                RenDB_Query($sql, true);
            }
            SimplyBox('消息发送成功', true);
        }
        break;
}
SimplyBox($str['act_fail']);
<?php

require_once './include/common.php';
include_once './include/txt_func.php';
SetNoUseCache();
if (!isset($name)) {
    ErrorBox($str['act_err']);
}
$sql = "SELECT * FROM {$cfg['tb_members']} WHERE u_name='{$name}' LIMIT 1";
$result = RenDB_Query($sql);
unset($mdata);
if (RenDB_Num_Rows($result) == 1) {
    $mdata = RenDB_Fetch_Array($result);
}
if (empty($mdata)) {
    MessageBox("{$name} 不是会员");
}
$baninfo = '';
if ($mdata['ban_before'] > $nowtime || $mdata['ban_before'] == -1) {
    MessageBox("{$name} 账号已被冻结");
}
switch ($mdata['u_gender']) {
    case 1:
        $m_gender = '男';
        break;
    case 2:
        $m_gender = '女';
        break;
    default:
        $m_gender = '保密';
}
Exemple #6
0
	}
	else
	{
		MessageBox('发送失败');
	}
	break;
case 'confirm_pass':
	SetNoUseCache();

	if( !isset( $u_id,$passcheck,$newpass ))
		ErrorBox( $str['act_err'] );

	if($passcheck==''||$newpass=='') ErrorBox( $str['act_err'] );

	$sql="UPDATE `$cfg[tb_members]` SET u_pass=MD5(new_pass), new_pass='',new_pass_check='' WHERE u_id='$u_id' AND new_pass='******' AND new_pass_check='$passcheck' LIMIT 1";
	RenDB_Query($sql);
	if( RenDB_Affected_Rows())
	{
		$lks[0]=array('登陆','index');
		MessageBox('新密码已经激活,请用新密码登陆',$lks);
	}
	else
	{				
		$lks[0]=array('登陆','index');
		WriteBBLog("验证码错误(找回密码) u_id='$u_id' ", 'wrongpass');
		ErrorBox('验证码不对,可能是已经过期,请重新发送密码',$lks);
	}
	break;
}

ErrorBox( $str['act_fail'] );
function Rebuild_Global_Cache($insubdir = false)
{
    global $cfg;
    $buf = "<?php\n";
    //缓存banip
    $sql = "SELECT * FROM `{$cfg['tb_banips']}` ";
    $result = RenDB_Query($sql);
    $banip_S = array();
    $banip_D = array();
    if (RenDB_Num_Rows($result) > 0) {
        while ($row = RenDB_Fetch_Array($result)) {
            $cell = explode('.', $row['ban_ip']);
            if ($cell[3] == '*') {
                unset($cell[3]);
                $banip_D[] = '\'' . implode('.', $cell) . '\'';
            } else {
                $banip_S[] = "'{$row['ban_ip']}'";
            }
        }
    }
    $banip_S = implode(', ', $banip_S);
    $banip_D = implode(', ', $banip_D);
    $buf .= "\$RBB_CACHE['banip_S'] = array({$banip_S});\n";
    $buf .= "\$RBB_CACHE['banip_D'] = array({$banip_D});\n";
    /*
    //缓存论坛数据
    $buf .="\n";
    $sql ="SELECT * FROM $cfg[tb_forums] ORDER BY displayorder";
    $result = RenDB_Query($sql);
    
    $num=0;
    while( $row=RenDB_Fetch_Array( $result ) )
    {
    	//$displayorder=$row['displayorder'];
    	unset($row['topics']);
    	unset($row['posts']);
    	unset($row['lastpost']);
    	unset($row['lastposter']);
    	unset($row['displayorder']);
    	//unset($row['fid']);
    	unset($row['description']);
    	$fd=array();
    	foreach( $row as $k=>$v )
    		$fd[]='"'.addslashes($k).'"=>"'.addslashes($v).'"';
    	$fd=implode(', ',$fd);
    	$buf .="\$RBB_CACHE['forums'][$num] = array($fd);\n";
    	$num++;
    }
    if($num==0) $buf .="\$RBB_CACHE['forums']=array();\n";
    */
    //缓存设置
    $buf .= "\n";
    $sql = "SELECT * FROM {$cfg['tb_settings']}";
    $result = RenDB_Query($sql);
    while ($row = RenDB_Fetch_Array($result)) {
        /*
        		if(strpos($row['set_value'],'||')!==false)
        		{
        			$row['set_value']=explode('||',$row['set_value']);
        			foreach($row['set_value'] as $k=>$v)
        			{
        				$row['set_value'][$k]=str_replace('=>','"=>"',$v);
        			}
        			$buf .="\$cfg['$row[set_name]']=array(\"".implode('","',$row['set_value'])."\");\n";
        		}
        		else */
        $row['set_value'] = addslashes($row['set_value']);
        $buf .= "\$cfg['{$row['set_name']}']=\"{$row['set_value']}\";\n";
    }
    $buf .= "?>";
    $gc_file = $insubdir ? '../cache/global.php' : './cache/global.php';
    $fr = @fopen($gc_file, 'w');
    @flock($fr, LOCK_EX);
    @fwrite($fr, $buf);
    @fclose($fr);
}
function UpdateOnline()
{
    global $cfg, $udata, $nowtime, $fakename;
    if (empty($udata['o_time'])) {
        $udata['u_stand'] = $udata['is_member'] ? 1 : 0;
        $udata['o_time'] = $nowtime;
        $udata['fake_name'] = $udata['is_member'] ? $udata['u_name'] : $fakename;
        $sql = "REPLACE {$cfg['tb_onlines']} SET fake_name='{$udata['fake_name']}', u_stand='{$udata['u_stand']}',o_time='{$nowtime}', last_action='{$nowtime}'";
        RenDB_Query($sql, true);
    } elseif ($udata['o_time'] < $nowtime - $cfg['span_renew']) {
        $sql = "UPDATE {$cfg['tb_onlines']} SET o_time='{$nowtime}' WHERE fake_name='{$udata['fake_name']}' LIMIT 1";
        RenDB_Query($sql, true);
        if ($udata['is_member']) {
            if ($udata['o_time'] < $nowtime - 3600) {
                $udata['act_check'] = md5(uniqid(rand()));
            }
            $sql = "UPDATE {$cfg['tb_members']} SET last_visit='{$nowtime}', act_check='{$udata['act_check']}' WHERE u_id='{$udata['u_id']}' LIMIT 1";
            RenDB_Query($sql, true);
        }
    }
}