vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   online.php non-vB page closed forum message (https://vborg.vbsupport.ru/showthread.php?t=34070)

eva2000 01-13-2002 04:31 AM

i got this code for adding online.php to non-vB pages but the problem is when you close the forum the included calls to this file online.php result in gibberish... can someone help add some code into the file below so that when i close the forum it gives a 'forum undergoing maintenance' message instead ?
PHP Code:

<?php 
chdir
("/home/username/public_html/");
require(
"/home/username/public_html/global.php");

if (
$displayloggedin) { 
$datecut=time()-$cookietimeout

//$loggedins=$DB_site->query_first("SELECT COUNT(*) AS sessions FROM session WHERE lastactivity>$datecut"); 
//$totalonline=$loggedins['sessions']; 
$loggedins=$DB_site->query_first("SELECT COUNT(*) AS sessions FROM session WHERE userid=0 AND lastactivity>$datecut"); 
$numberguest=$loggedins['sessions']; 
//$numberregistered=$totalonline-$numberguest; 

$numbervisible=0
$numberregistered=0
//$loggedins=$DB_site->query("SELECT DISTINCT user.userid,username FROM user,session WHERE session.userid=user.userid AND session.userid<>0 AND invisible=0 AND session.lastactivity>$datecut ORDER BY username"); 
$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']==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']==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:&nbsp;&nbsp;<a href=http://animeboards.com/index.php#active target=\"_blank\">$numberregistered</a>
&nbsp;members&nbsp;+&nbsp;<a href=http://animeboards.com/index.php#active target=\"_blank\">
$numberguest</a>&nbsp;guests";

?>


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']==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']==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:&nbsp;&nbsp;<a href=http://animeboards.com/index.php#active target=\"_blank\">$numberregistered</a>
  &nbsp;members&nbsp;+&nbsp;<a href=http://animeboards.com/index.php#active target=\"_blank\">
$numberguest</a>&nbsp;guests";
}

?>


eva2000 01-14-2002 04:07 PM

thanks will be testing it out today :D

eva2000 01-14-2002 04:18 PM

perfect mate! :D

mchaos 02-07-2006 03:11 AM

any one got anything like this that works in 3.5.0 and ^


All times are GMT. The time now is 08:04 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01239 seconds
  • Memory Usage 1,772KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete