Handle hostnames with upper-case letters
[webmin.git] / lpadmin / test_print.cgi
1 #!/usr/local/bin/perl
2 # test_print.cgi
3 # Print one of the test pages
4
5 require './lpadmin-lib.pl';
6 &foreign_require("proc", "proc-lib.pl");
7 &ReadParseMime();
8 $access{'test'} || &error($text{'test_ecannot'});
9 &ui_print_header(&text('jobs_on', "<tt>$in{'name'}</tt>"),
10                  $text{'test_title'}, "");
11
12 if ($in{'mode'} == 0) {
13         $file = "bw.ps";
14         }
15 elsif ($in{'mode'} == 1) {
16         $file = "colour.ps";
17         }
18 elsif ($in{'mode'} == 2) {
19         $file = "ascii.txt";
20         }
21 else {
22         $file = &transname();
23         &open_tempfile(FILE, ">$file", 0, 1);
24         &print_tempfile(FILE, $in{'file'});
25         &close_tempfile(FILE);
26         }
27
28 $cmd = &print_command($in{'name'}, $file);
29 if ($access{'user'} eq '*') {
30         # Run as root
31         }
32 elsif ($access{'user'}) {
33         $cmd = &command_as_user($access{'user'}, 0, $cmd);
34         }
35 else {
36         $cmd = &command_as_user($remote_user, 0, $cmd);
37         }
38
39 print &text('test_exec', "<tt>$cmd</tt>"),"<br>\n";
40 print "<pre>";
41 &open_execute_command(CMD, $cmd, 1);
42 while(<CMD>) {
43         print;
44         }
45 close(CMD);
46 print "</pre>\n";
47
48 if ($?) { print "<b>$text{'test_failed'}</b> <p>\n"; }
49 else { print "$text{'test_ok'} <p>\n"; }
50
51 unlink($file) if ($in{'mode'} == 3);
52 &ui_print_footer("list_jobs.cgi?name=".&urlize($in{'name'}),
53                   $text{'jobs_return'},
54                  "", $text{'index_return'});
55