lilalo

diff l3-cgi @ 47:fcd63bc2bfa0

Печать индекса в файл при установленной переменной l3_to_file
author devi
date Wed Nov 23 00:18:36 2005 +0200 (2005-11-23)
parents f13cd5b4f2d0
children 568bab7090fc
line diff
     1.1 --- a/l3-cgi	Tue Nov 22 23:54:49 2005 +0200
     1.2 +++ b/l3-cgi	Wed Nov 23 00:18:36 2005 +0200
     1.3 @@ -22,6 +22,14 @@
     1.4  my %Machines;
     1.5  my $print = "";
     1.6  
     1.7 +my $is_not_cgi="";
     1.8 +$is_not_cgi = "1" if defined($ENV{l3_to_file});
     1.9 +# Пока что мы считаем, что вызов выполняется через CGI, 
    1.10 +# если не установлена переменная l3_to_file 
    1.11 +# Это неверно, но как временное решение - пойдёт
    1.12 +
    1.13 +$l3config::Config{frontend_css} =~ s@^/@@ if $is_not_cgi;
    1.14 +
    1.15  sub load_training
    1.16  {
    1.17          my $classfile = 
    1.18 @@ -38,9 +46,6 @@
    1.19  	return $XMLTraining;
    1.20  }
    1.21  
    1.22 -$print .= header(
    1.23 -		-charset => "utf-8", 
    1.24 -		);
    1.25  
    1.26  
    1.27  if ($ENV{PATH_INFO} eq "/index") {
    1.28 @@ -106,6 +111,10 @@
    1.29  
    1.30  		my $prefix = "/cgi-bin/l3/current/";
    1.31  		my $suffix = "";
    1.32 +		if ($is_not_cgi) {
    1.33 +			$prefix = "";
    1.34 +			$suffix = ".html";
    1.35 +		}
    1.36  		
    1.37  		$print .= "<tr>\n";
    1.38  		my $h = $t->{host}->{$host};
    1.39 @@ -168,5 +177,19 @@
    1.40  	close(FRONTEND);
    1.41  }
    1.42  
    1.43 -binmode STDOUT, ":utf8";
    1.44 -print $print;
    1.45 +# Если задана переменная окружения l3_to_file, 
    1.46 +# печатаем в файл с соответствующим именем,
    1.47 +# в противном случае -- выводим на стандартный поток вывода
    1.48 +if (not defined $ENV{l3_to_file}) {
    1.49 +  binmode STDOUT, ":utf8";
    1.50 +  print header(-charset => "utf-8");
    1.51 +  print $print;
    1.52 +}
    1.53 +else {
    1.54 +  open(FILE, ">:utf8", $ENV{l3_to_file})
    1.55 +    or die "Can't open $ENV{l3_to_file} for writing";
    1.56 +  print FILE $print;
    1.57 +  close(FILE);
    1.58 +}
    1.59 +
    1.60 +