#!C:/sambar51/perl/bin/perl.exe

############################################################
# E-Blah Bulliten Board Systems                   Platinum #
############################################################
# Software Version  : Platinum - RC 1                      #
# Project started   : December 2001 by Justin              #
# Distrobuted by    : http://www.eblah.com                 #
# License Agreement : http://www.eblah.com/?v=license      #
############################################################
# Copyright (c) 2001 - 2003 e-blah! - all rights reserved. #
############################################################

$theblahver = 12;
$version = 'Platinum';
$versioncr = 'Platinum';

if(-e('Blah.cgi')) { $scripttype = 'cgi'; } else { $scripttype = 'pl'; }

use Fcntl qw/:DEFAULT/;
use CGI::Carp qw(fatalsToBrowser);
use CGI qw(:standard);

$languagep = "English";
$languages = "./Languages";

require('Settings.pl');

require("$code/QuickCore.pl");
&UFS;
&CheckCookies;

if($URL{'theme'}) { $settings[26] = $URL{'theme'}; } # Preview
if($settings[26] && -e("$theme/$settings[26].v2")) { require("$theme/$settings[26].v2"); }

$language = "$languages/$languagep";
require("$language.lng");
require("$code/Routines.pl");
require("$code/Load.pl");

# Load basic forum settings that we can use later
&LMG;
&BoardCheck;
&ClickLog;
&AL;

if(($maintance || (-e "$root/Maintance.lock") || $noguest) || $lockout) { CoreLoad('BoardLock'); &MainLO; }
&Ban;

&LoadBoard;

sub UFS {
        my($query);
        @url = split(/\,/,$ENV{'QUERY_STRING'});
        foreach (@url) {
                ($action,$actiondo) = split("=",$_);
                $URL{$action} = $actiondo;
                if($action =~ /\&/) { $blockform = 1; } # Hack attemp, block forms!!
        }
        if(!$blockform) {
                $form = new CGI;
                foreach $var ($form->param) {
                        $output = join(',',$form->param($var));
                        if(!$nouselist{$var}) { $FORM{$var} = $output; }
                }
        }
}

sub CoreLoad {
        if($_[1] == 1) { $load = "$language/$_[0].lng"; }
        elsif($_[1]) { $load = $_[0]; }
                else { $load = "$code/$_[0].pl"; }
        eval { require($load); };
        if($_[1] == 2) {
                if($@) { return(0); }
                return(1);
        }
        if($@) { &error(qq~$rtxt[52]\n\n$load\n\n\[size=1\]$@\[/size\]~,2); }
}

sub LoadBoard {
        %LoadBoard = (
                'memberpanel' => 'MemberPanel,MemberPanel',
                'login'       => 'Login,Login',
                'mod'         => 'Moderate,Moderate',
                'register'    => 'Register,Register',
                'admin'       => 'Admin,Admin',
                'post'        => 'Post,Post',
                'ppoll'       => 'Poll,PPoll',
                'display'     => 'MessageDisplay,MessageDisplay',
                'mindex'      => 'MessageIndex,MessageIndex',
                'print'       => 'Print,PrintDisplay',
                'members'     => 'Members,Members',
                'report'      => 'Report,Report',
                'cal'         => 'Calendar,Month',
                'download'    => 'Attach,Download',
                'stats'       => 'Stats,Stats',
                'search'      => 'Search,Search',
                'invite'      => 'Invite,Invite',
                'recommend'   => 'Recommend,Recommend',
                'mark'        => ',Mark',
                'shownews'    => 'Portal,Shownews',
                'portal'      => 'Portal,Portal'
        );

        if($LoadBoard{$URL{'v'}}) {
                ($core,$sub) = split(',',$LoadBoard{$URL{'v'}});
                if($core ne '') { CoreLoad($core); }
                &$sub;
        }
        elsif($URL{'m'} && $URL{'b'}) { redirect("$scripturl,v=display,m=$URL{'m'}"); }
        elsif($URL{'b'}) { redirect("$scripturl,v=mindex"); }
                else { CoreLoad('BoardIndex'); &LoadIndex; }
}
1;