#!/usr/bin/perl use CGI; $query = new CGI; umask 007; $user = $query->remote_user(); $http_home = "/home/mha/public_html/server"; $fax_home = "$http_home/fax"; @file = $query->param('file'); $printer = $query->param('printer'); $from_page = $query->param('from-page'); $to_page = $query->param('to-page'); $pages = $query->param('pages'); $select = $query->param('select'); $type = $query->param('type'); $server = $query->param('server'); $service = $query->param('service'); $password = $query->param('passwd'); $private = $query->param('private'); $coverpage = ""; if ($private eq "true") { $home = "$fax_home/$user"; } else { $home = "$fax_home/admin"; } $dbfile="$home/incoming-db"; if ($to_page < $from_page) { $tmp = $from_page; $from_page = $to_Page; $to_page = $from_page; } if ($to_page > $pages) {$to_page = $pages;} if ($from_page < 1) {$from_page = 1;} print $query->header; print "\n
| \n"; print " | \n";
if ($private eq "true") {
print "Nutzer: $user | Persönl. Einstellungen | FaxHome | Inbox | Forward | Print | Delete\n \n"; } else { if ($private eq "true") { if (-e "$home/processing-@file") { print "Nutzer: $user | Persönl. Einstellungen | FaxHome | Inbox | View | Forward | Print | Delete\n \n"; } else { print "Nutzer: $user | Persönl. Einstellungen | FaxHome | Inbox | View | Forward | Print | Delete\n \n"; } } else { if (-e "$home/processing-@file") { print "Admin: $user | NutzerAdmin | Persönl. Einstellungen | FaxHome | Inbox | View | Forward | Print | Delete\n \n"; } else { print "Admin: $user | NutzerAdmin | Persönl. Einstellungen | FaxHome | Inbox | View | Forward | Print | Delete\n \n"; } } } print " Drucke Fax\n\n"; $t = ""; for ($i=$from_page; $i<=$to_page; $i++) { $t.=" -p $i"; } print " Ausgabe des Konvertierungs- und Druckprogramms:\n"; print "\n";
if ($select eq "public") {
if ($printer eq "HP LaserJet 1. Etage") {
#print `/usr/local/bin/fax2ps $t -S -W 8.26 -H 11.3 $home/@file | /usr/local/bin/gs -q -sPAPERSIZE=a4 -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=$home/@file.ljet4 -`;
#print `/usr/bin/lp -onb -dchlaser4 $home/@file.ljet4`;
print `/usr/local/bin/fax2ps $t -S -W 8.26 -H 11.3 $home/@file >$home/@file.ps`;
print `/usr/bin/lp -dchlaser4_ps $home/@file.ps`;
system "rm -f $home/@file.ljet4";
system "rm -f $home/@file.ps";
} elsif ($printer eq "HP LaserJet 3. Etage") {
print `/usr/local/bin/fax2ps $t -S -W 8.26 -H 11.3 $home/@file | /usr/bin/lp -onb -dchlaser4m`;
} elsif ($printer eq "Fax im Sekretariat") {
print `/usr/local/bin/sendfax -h fax.chemnitz.debis-sfi.de -n -d 159 $home/@file 2>&1`;
}
} else {
# select is "private"
$printer="Arbeitsplatzdrucker";
$res="";
$_=$type;
SWITCH: {
/LaserJet\ 3/ && do {$type="ljet3";};
/LaserJet\ 4/ && do {$type="ljet4";};
/LaserJet\ 4L/ && do {$type="ljet4";$res="-r300";};
/HP.+500/ && do {$type="djet500";};
/HP.+1200C/ && do {$type="pjxl300";};
/Postscript/ && do {$type="psmono";}
}
system "/usr/local/bin/fax2ps $t -S -W 8.26 -H 11.3 $home/@file >$home/fax-$$.ps";
if ($type ne "ps") {
print "GS: ",`/usr/local/bin/gs -q -sPAPERSIZE=a4 -dNOPAUSE -dSAFER $res -sDEVICE=$type -sOutputFile=$home/fax-$$.$type $home/fax-$$.ps -`,"\n";
}
print "PRINT: ",`cat $home/fax-$$.$type | $http_home/bin/smbprint $server $service $password`,"\n";
system "rm -f $home/fax-$$.*";
}
print "\n\n"; print "Fax wird auf $printer gedruckt. \n"; print " \n\nChemnitz FaxServer; ",`date`,"\n"; print " |