#!/usr/bin/perl
use strict;
use CGI qw(:standard);
use XML::Simple;
use utf8;
BEGIN {
chdir("/home/devi/cvs/lilalo");
require l3config;
};
my %filter;
for my $key (qw(login_from)) {
$filter{$key} = param($key) if param($key);
$filter{$key} = $ENV{$key} if defined $ENV{$key};
}
my %Trainings;
my $XMLTraining;
my %Machines;
my $print = "";
my $is_not_cgi="";
$is_not_cgi = "1" if defined($ENV{l3_to_file});
# Пока что мы считаем, что вызов выполняется через CGI,
# если не установлена переменная l3_to_file
# Это неверно, но как временное решение - пойдёт
$l3config::Config{frontend_css} =~ s@^/@@ if $is_not_cgi;
sub load_training
{
my $classfile =
$_[0]||
$l3config::Config{"classfile"} ||
$l3config::Config{"path_classes"}."/".$l3config::Config{"class"}.$l3config::Config{"class_suffix"};
my $XMLTraining = XMLin($classfile , ForceArray => [ 'student' ] )
or die "Can't open file of the training ",$classfile,"\n";
for my $student (@{$XMLTraining->{"student"}}) {
$XMLTraining->{host}->{$student->{"host"}}=$student;
}
return $XMLTraining;
}
if ($ENV{PATH_INFO} eq "/index") {
# Показываем индекс курсов
my @training_files = glob($l3config::Config{"path_classes"}."/*".$l3config::Config{"class_suffix"});
if (@training_files) {
for my $training_file (@training_files) {
my $training = load_training($training_file);
$Trainings{$training->{"date"}}=$training;
}
$print .= "\n";
$print .= "