#!/usr/bin/perl
# -d:ptkdb
# main cgi-module
#
use strict;
use CGI::Carp qw(fatalsToBrowser);
use CGI;
use MIME::Lite;
# Declares general modules
use lib qw/. Kernel/;
use Kernel;
use DataKeeperMySQL;
use database;

########## Declares inserted modules
use ABAdmin;                   ## Navigator
use ABRecord;
use NSNews;

#use MFUser;
#use MFCategory;
#use MFLink;

use GSFileUpload;
use GSDB;

########## Globals
use vars qw(%param %res $Error_Message $dbh);

BEGIN {
#  $ENV{ORACLE_HOME}='/home/oracle/app/oracle/product/8.0.5';
#  $ENV{NLS_LANG}='russian_cis.cl8mswin1251';
  $ENV{DISPLAY}='127.0.0.1:0.0';
  $ENV{PTKDB_STOP_TAG_COLOR}='green';
}

########## Main code
select(STDERR); $| = 1; # Make unbuffered.
select(STDOUT); $| = 1; # Make unbuffered.

my $prjname='ab';
my $kernel=new Kernel($prjname, new DataKeeperMySQL($prjname));

$kernel->AddHash({WP=>$kernel->GetConstant (undef,"WebPath")},'Path');

$kernel->AddScript('Admin', new ABAdmin, "SuperVisor"); 
#$kernel->AddScript('User', new MFUser);
#$kernel->AddScript('Category', new MFCategory);
#$kernel->AddScript('Link', new MFLink);
$kernel->AddScript('Record', new ABRecord);
$kernel->AddScript('FileUpload', new GSFileUpload);
$kernel->AddScript('DB', new GSDB);
$kernel->AddScript('News', new NSNews);

# Debug only !!!
#$kernel->OutputStackBeforeOut();

if(@ARGV==1 and $ARGV[0] eq 'init') {
    print "\nInitialize mode on!\n\n";
    $kernel->InitializeAll();
} else {
    $kernel->SelectTemplateAutomatic('act', 'defact');
}

CloseDataBase();