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 +