lilalo
diff l3-cgi @ 42:5499496e2462
Печать сначала в переменную, а потом всё выводим сразу
author | devi |
---|---|
date | Tue Nov 22 23:49:32 2005 +0200 (2005-11-22) |
parents | 6452bfe549d1 |
children | a717ea245c90 |
line diff
1.1 --- a/l3-cgi Tue Nov 22 23:27:51 2005 +0200 1.2 +++ b/l3-cgi Tue Nov 22 23:49:32 2005 +0200 1.3 @@ -13,11 +13,13 @@ 1.4 1.5 for my $key (qw(login_from)) { 1.6 $filter{$key} = param($key) if param($key); 1.7 + $filter{$key} = $ENV{$key} if defined $ENV{$key}; 1.8 } 1.9 1.10 my %Trainings; 1.11 my $XMLTraining; 1.12 my %Machines; 1.13 +my $print = ""; 1.14 1.15 sub load_training 1.16 { 1.17 @@ -35,7 +37,7 @@ 1.18 return $XMLTraining; 1.19 } 1.20 1.21 -print header( 1.22 +$print .= header( 1.23 -charset => "utf-8", 1.24 ); 1.25 1.26 @@ -48,87 +50,87 @@ 1.27 my $training = load_training($training_file); 1.28 $Trainings{$training->{"date"}}=$training; 1.29 } 1.30 - print "<html>\n"; 1.31 - print "<head>\n"; 1.32 - print "<title>Журналы лабораторных работ</title>\n"; 1.33 - print "</head>\n"; 1.34 - print "<body>\n"; 1.35 - print "<table>\n"; 1.36 + $print .= "<html>\n"; 1.37 + $print .= "<head>\n"; 1.38 + $print .= "<title>Журналы лабораторных работ</title>\n"; 1.39 + $print .= "</head>\n"; 1.40 + $print .= "<body>\n"; 1.41 + $print .= "<table>\n"; 1.42 for my $tdate (reverse sort keys %Trainings) { 1.43 my $t = $Trainings{$tdate}; 1.44 - print "<tr>"; 1.45 - print "<td>".$t->{date}."</td>"; 1.46 - print "<td>".$t->{course}."</td>"; 1.47 - print "</tr>\n"; 1.48 - print "<tr>"; 1.49 - print "<td/>"; 1.50 - print "<td><pre>"; 1.51 + $print .= "<tr>"; 1.52 + $print .= "<td>".$t->{date}."</td>"; 1.53 + $print .= "<td>".$t->{course}."</td>"; 1.54 + $print .= "</tr>\n"; 1.55 + $print .= "<tr>"; 1.56 + $print .= "<td/>"; 1.57 + $print .= "<td><pre>"; 1.58 for my $host (sort keys %{$t->{host}}) { 1.59 my $h = $t->{host}->{$host}; 1.60 - print "$host"; 1.61 - print " ".$h->{firstname}." ".$h->{surname}." "; 1.62 - print "<a href='/cgi-bin/l3/".$tdate."/".$host."/root'>root</a> "; 1.63 - print "<a href='/cgi-bin/l3/".$tdate."/".$host."/".$h->{user}."'>".$h->{user}."</a> "; 1.64 - print "\n"; 1.65 + $print .= "$host"; 1.66 + $print .= " ".$h->{firstname}." ".$h->{surname}." "; 1.67 + $print .= "<a href='/cgi-bin/l3/".$tdate."/".$host."/root'>root</a> "; 1.68 + $print .= "<a href='/cgi-bin/l3/".$tdate."/".$host."/".$h->{user}."'>".$h->{user}."</a> "; 1.69 + $print .= "\n"; 1.70 } 1.71 - print "</pre><td>"; 1.72 - print "</tr>\n"; 1.73 + $print .= "</pre><td>"; 1.74 + $print .= "</tr>\n"; 1.75 } 1.76 - print "</table>\n"; 1.77 - print "</body>\n"; 1.78 - print "</html>\n"; 1.79 + $print .= "</table>\n"; 1.80 + $print .= "</body>\n"; 1.81 + $print .= "</html>\n"; 1.82 } 1.83 else { 1.84 - print "No training-files found<br/>\n"; 1.85 - print "Template to load files: ".$l3config::Config{"path_classes"}."*".$l3config::Config{"class_suffix"}."\n" 1.86 + $print .= "No training-files found<br/>\n"; 1.87 + $print .= "Template to load files: ".$l3config::Config{"path_classes"}."*".$l3config::Config{"class_suffix"}."\n" 1.88 } 1.89 } 1.90 elsif ($ENV{PATH_INFO} eq "/current/index" || $ENV{PATH_INFO} eq "") { 1.91 my $t = load_training(); 1.92 1.93 - print "<html>\n"; 1.94 - print "<head>\n"; 1.95 - print "<title>Журналы лабораторных работ</title>\n"; 1.96 - print "<link rel='stylesheet' href='".$l3config::Config{frontend_css}."' type='text/css'/>\n"; 1.97 - print "</head>\n"; 1.98 - print "<body>\n"; 1.99 - print "<h1>Журналы лабораторных работ</h1>\n"; 1.100 - print "<table>\n"; 1.101 - print "<tr class='table_header'>\n"; 1.102 - print "<td>"."Имя"."</td>"; 1.103 - print "<td>Хост</td>"; 1.104 - print "<td colspan='3'>Пользователь</td>"; 1.105 - print "</tr>\n"; 1.106 + $print .= "<html>\n"; 1.107 + $print .= "<head>\n"; 1.108 + $print .= "<title>Журналы лабораторных работ</title>\n"; 1.109 + $print .= "<link rel='stylesheet' href='".$l3config::Config{frontend_css}."' type='text/css'/>\n"; 1.110 + $print .= "</head>\n"; 1.111 + $print .= "<body>\n"; 1.112 + $print .= "<h1>Журналы лабораторных работ</h1>\n"; 1.113 + $print .= "<table>\n"; 1.114 + $print .= "<tr class='table_header'>\n"; 1.115 + $print .= "<td>"."Имя"."</td>"; 1.116 + $print .= "<td>Хост</td>"; 1.117 + $print .= "<td colspan='3'>Пользователь</td>"; 1.118 + $print .= "</tr>\n"; 1.119 for my $host (sort keys %{$t->{host}}) { 1.120 1.121 my $prefix = "/cgi-bin/l3/current/"; 1.122 my $suffix = ""; 1.123 1.124 - print "<tr>\n"; 1.125 + $print .= "<tr>\n"; 1.126 my $h = $t->{host}->{$host}; 1.127 - print "<td>".$h->{firstname}." ".$h->{surname}."</td>"; 1.128 - print "<td>$host</td>"; 1.129 - print "<td><a href='".$prefix.$host."/root$suffix'>root</a></td>"; 1.130 - print "<td><a href='".$prefix.$host."/".$h->{user}."$suffix'>".$h->{user}."</a></td>"; 1.131 - print "<td><a href='".$prefix.$host."$suffix'>все</a></td>"; 1.132 - print "</td>\n"; 1.133 - print "</tr>\n"; 1.134 + $print .= "<td>".$h->{firstname}." ".$h->{surname}."</td>"; 1.135 + $print .= "<td>$host</td>"; 1.136 + $print .= "<td><a href='".$prefix.$host."/root$suffix'>root</a></td>"; 1.137 + $print .= "<td><a href='".$prefix.$host."/".$h->{user}."$suffix'>".$h->{user}."</a></td>"; 1.138 + $print .= "<td><a href='".$prefix.$host."$suffix'>все</a></td>"; 1.139 + $print .= "</td>\n"; 1.140 + $print .= "</tr>\n"; 1.141 } 1.142 - print "<tr>\n"; 1.143 - print "<td>"."Инструктор"."</td>"; 1.144 - print "<td>from linux.nt</td>"; 1.145 - print "<td/>"; 1.146 - print "<td/>"; 1.147 - print "<td><a href='/cgi-bin/l3/current"."?login_from=192.168.15.254'>все</a></td>"; 1.148 - print "</tr>\n"; 1.149 - print "</table>\n"; 1.150 - print "</body>\n"; 1.151 - print "</html>\n"; 1.152 + $print .= "<tr>\n"; 1.153 + $print .= "<td>"."Инструктор"."</td>"; 1.154 + $print .= "<td>from linux.nt</td>"; 1.155 + $print .= "<td/>"; 1.156 + $print .= "<td/>"; 1.157 + $print .= "<td><a href='/cgi-bin/l3/current"."?login_from=192.168.15.254'>все</a></td>"; 1.158 + $print .= "</tr>\n"; 1.159 + $print .= "</table>\n"; 1.160 + $print .= "</body>\n"; 1.161 + $print .= "</html>\n"; 1.162 } 1.163 elsif ($ENV{PATH_INFO} eq "/current") { 1.164 open (FRONTEND, "./l3-frontend --output - --show_comments no |"); 1.165 while (<FRONTEND>) { 1.166 - print; 1.167 + $print .=; 1.168 } 1.169 close(FRONTEND); 1.170 } 1.171 @@ -160,8 +162,9 @@ 1.172 1.173 open (FRONTEND, "./l3-frontend ".join(" ",map("\"$_\"",@args))." |"); 1.174 while (<FRONTEND>) { 1.175 - print; 1.176 + $print .= $_; 1.177 } 1.178 close(FRONTEND); 1.179 } 1.180 1.181 +print $print;