#!/usr/local/perl
###############################################################
# WHO'S ONLINE FOR UBB
#
# WOL SSI coded by Qasic. (c) 2001 Qasic Productions, Inc.
#
# PLEASE DO NOT REMOVE THE COPYRIGHT NOTICE - I WORKED HARD TO
# CREATE THIS HACK, AND IT PROVIDES ME WITH USEFUL INFORMATION
# SHOULD YOU REQUIRE HELP OR ASSISTANCE
###############################################################

# add current path to @INC
($0 =~ m!(.*)(\\|/)[^/\\]+!) && unshift(@INC, $1, "$1$2Modules");
	
# ubb libraries required
use lib("./Modules", ".");	# in the event $0 is not set
use strict;
use Fcntl ':flock';
use UBBCGI qw(:cgi -no_debug);

# variables
use vars qw(%vars_config %vars_misc %in $masterCharset @ubber $invisble_pref $username $user_number @Ell_cookie $invisible_pref @people %vars_whos_online %vars_wordlets_mods %vars_time %vars_wordlets_date %vars_style $Footer $version $TBB $show_logout $Header %GotTime %vars_wordlets $MainButtonsLine $TBT);


# get variables and wordlets
eval {
require "vars_config.cgi";
require "$vars_config{VariablesPath}/vars_display.cgi";
require "$vars_config{VariablesPath}/vars_misc.cgi";
require "$vars_config{VariablesPath}/vars_whos_online.cgi";
require "$vars_config{VariablesPath}/vars_wordlets_mods.cgi";
require "ubb_lib_files.cgi";
require "ubb_lib.cgi";
require "ubb_lib_time.cgi";
};

# print header
print "Content-type: text/html\n\n";

# check files
if ($@) {
print "<pre>Error including required files: $@ $!\n";
print "Make sure these files exist, permissions are set properly, and paths are set correctly.</pre>";
exit;
}

# check for UBB closure
if ($vars_misc{BBStatus} ne 'ON') {
exit;
}

# retrieve cookies!
@ubber = cookie("ubber$vars_config{Cookie_Number}");
if ($ubber[0] ne '') { $username = $ubber[0]; }
if ($ubber[4] ne '') { $user_number = $ubber[4]; }
@Ell_cookie = cookie("Ell$vars_config{Cookie_Number}");
$invisible_pref = $Ell_cookie[0] if ($Ell_cookie[0] ne '');
$invisible_pref = "" unless $vars_whos_online{allow_invisible};

#get who's online people
if (-e "$vars_config{MembersPath}/UBB6online.cgi") {
	@people = &OpenFileAsArray("$vars_config{MembersPath}/UBB6online.cgi");
}

# now get ssi and output it
$in{ubb} = "whos_online_ssi";
require "$vars_config{CGIPath}/ubb_whos_online.cgi";
&whos_online_ssi;
exit;