#!/usr/bin/perl

use CGI qw(:standard);

@modules = ("show", "user", "chap", "news", "part", "soft", "sudo");

$kernel_datadir = "data";

foreach (@modules){
    require "/home/phil/skif/cgi-bin/modules/$_/m$_.pl";
}

$kernel_error_log = "/home/phil/skif/cgi-bin/data/error_log.dat";

$kernel{"username"} = "guest";

sub kernel_error{

    open(F, ">> $kernel_error_log");
    $date = `date "+%x %X"`;
    chomp($date);
    print F "[ $date ] ($_[0]): $_[1]\n";
    close(F);

    exit if ($_[2] ne "");
}

foreach (@modules){
    $func = "m$_\_on_begin";
    if (eval ("&$func(1)")){
	&$func;
    }
}


if (!param() || (param('mnu') && !param('module'))){

#    $kernel{"page"} = "index";
    $kernel{"page"} = "mainpage";
    

    open(F, "data/index.htm");
    my $text = join("", <F>);
    close(F);

    $kernel{"page_text"} = $text;
    $kernel{"action"} = "show";

    mshow_function();

    foreach (keys %ENV){
#	print "$_ = $ENV{$_}<BR>\n";
    }

}
elsif (param('module')){
    $call = "m" . param('module') . "_function"; # . param('action');

    foreach (param()){
	if ($_ !~ /^p_/){
	    $kernel{"$_"} = param("$_");
	}
    }

    &$call;
}
else{
    print "Error";
}
