Scott MacVicar |
01-13-2002 09:41 AM |
Its becase vBulletin checks to see if the board is closed in the global.php file, and as i don't think you want to edit global.php, as its always in use.
try this script, it connects to the database and checks the bbactive variable itself not letting the global file load the variables.
Tested this on my forums worked fine.
PHP Code:
<?php
chdir("/home/username/public_html/");
require("/home/username/public_html/admin/config.php");
mysql_connect("$servername", "$dbusername", "$dbpassword");
$setting = mysql_fetch_array(mysql_query("SELECT * FROM $dbname.setting WHERE varname='bbactive'"));
mysql_close();
if(!$setting['value']) {
echo "forum undergoing maintenance";
exit;
}
require("/home/username/public_html/global.php");
if($displayloggedin) {
$datecut=time()-$cookietimeout;
$loggedins=$DB_site->query_first("SELECT COUNT(*) AS sessions FROM session WHERE userid=0 AND lastactivity>$datecut");
$numberguest=$loggedins['sessions'];
$numbervisible=0;
$numberregistered=0;
$loggedins=$DB_site->query("SELECT DISTINCT session.userid,username,invisible FROM session
LEFT JOIN user ON (user.userid=session.userid) WHERE session.userid<>0 AND session.lastactivity>$datecut ORDER BY invisible ASC, username ASC");
if($loggedin=$DB_site->fetch_array($loggedins)) {
$numberregistered++;
if($loggedin['invisible']==0 or $bbuserinfo['usergroupid']==6) {
$numbervisible++;
$userid=$loggedin['userid'];
if($loggedin['invisible']==1) { // Invisible User but show to Admin
$username=$loggedin['username'];
$invisibleuser = '*';
}
else {
$username=$loggedin['username'];
$invisibleuser = '';
}
$location=$loggedin['location'];
eval("\$activeusers = \"".gettemplate('forumhome_loggedinuser')."\";");
}
while($loggedin=$DB_site->fetch_array($loggedins)) {
$numberregistered++;
$invisibleuser = '';
if($loggedin['invisible']==1 and $bbuserinfo['usergroupid']!=6) {
continue;
}
$numbervisible++;
$userid=$loggedin['userid'];
if($loggedin['invisible']==1) { // Invisible User but show to Admin
$username=$loggedin['username'];
$invisibleuser = '*';
}
else {
$username=$loggedin['username'];
}
$location=$loggedin['location'];
eval("\$activeusers .= \", ".gettemplate('forumhome_loggedinuser')."\";");
}
}
$DB_site->free_result($loggedins);
$totalonline=$numberregistered+$numberguest;
$numberinvisible=$numberregistered-$numbervisible;
echo "forum users online: <a href=http://animeboards.com/index.php#active target=\"_blank\">$numberregistered</a>
members + <a href=http://animeboards.com/index.php#active target=\"_blank\">$numberguest</a> guests";
}
?>
|