#!/usr/local/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"; $home = "$fax_home/admin"; $dbfile = "$home/incoming-db"; @file = $query->param('file'); @users = $query->param('user'); print $query->header; print < Forward Fax
         Nutzer: FaxAdmin | NutzerAdmin | Persönl. Einstellungen | FaxHome | Inbox

Fax wurde weitergeleitet an:

EOF
;

foreach (@users) {
	$name = `echo \"$_\" | awk '{ORS=\"\"}{print \$2}'`." ".`echo \"$_\" | awk -F, 'BEGIN{ORS=\"\"}{print \$1}'`;
	$login=`cat $home/users|grep \"$name\"|awk -F: '{ORS=""; print \$2}'`;
	if (-e "$fax_home/$login/@file") {
		print "(Achtung: $name hatte dieses Fax bereits erhalten)\n";
        } else {
		system "echo \"`date '+%a %e.%b %X'`: Weitergeleitet von `cat $fax_home/admin/users|egrep .+:$user|awk -F: '{print \$1}'` an `cat $fax_home/admin/users|egrep .+:$login|awk -F: '{print \$1}'`\" >>$home/@file.log";
		system "cp $home/@file* $fax_home/$login";
		while (-e "$fax_home/$login/faxdblock") {
		  sleep 2;
		}
		system "touch $fax_home/$login/faxdblock";
		system "mv $fax_home/$login/incoming-db $fax_home/$login/incoming-db.tmp";
		system "echo `cat $dbfile|grep @file|sed -e 's/[^|]*\$/NEW/'` >$fax_home/$login/incoming-db";
		system "cat $fax_home/$login/incoming-db.tmp >>$fax_home/$login/incoming-db";
		system "rm $fax_home/$login/incoming-db.tmp";
		system "rm $fax_home/$login/faxdblock";
		open(MAIL,"|mail $login");
		print MAIL "From: Faxserver Administrator \n";
		print MAIL "To: $name <$login>\n";
		print MAIL "Subject: Sie haben ein neues Fax erhalten\n";
		print MAIL "\n";
		print MAIL `/usr/local/sbin/faxinfo $fax_home/$login/@file|sed -e '1 d'`,"\n";
		print MAIL "Den FaxServer und ihre persoenliche Fax-Inbox erreichen Sie unter der\n";
		print MAIL "URL: http://www.chemnitz.debis-sfi.de/fax-usr/view_received.cgi\n";
		print MAIL ".\n";
		close(MAIL);
		print "$name ($login\@chemnitz.debis-sfi.de)\n";
	}
}
print "
"; print "
\n
\nChemnitz FaxServer; ",`date`,"
\n"; print "
\n"; print $query->end_html; while (-e "$home/faxdblock") { sleep 2; } system "touch $home/faxdblock"; system "cat $dbfile | sed -e '/@file/ s/[^|]*\$/FORWARDED/' >$dbfile.tmp"; system "mv $dbfile.tmp $dbfile"; system "rm $home/faxdblock";