<html>
<head>
<title>Urlaubsantrag</title>
</head>
<body>
<center>
<h1>Urlaubsantrag</h1>
</center>
<form method="post" action="/cgi-bin/Urlaub.cgi">
<table>
<tr><td> Name:
<td> <input type="text" name="Name" size=15>
<td> Vorname:
<td> <input type="text" name="Vorname" size=15>
<td> Dienstbezeichnung:
<td> <input type="text" name="DBez" size=5>
<tr><td> eMail:
<td colspan=5> <input type="text" name="eMail" size=42>
<tr><td align=right> Sachgebiet:
<td> <input type="text" name="Sachgebiet" size=10>
<td> Referat:
<td> <input type="text" name="Referat" size=10>
<td> KDV-FH:
<input type="checkbox" name="KDV">
<tr><td colspan=2> Zentrale Einrichtung:
<td>
<input type="checkbox" name="Einrichtung" value="Bib"> Bibliothek
<td align=center>
<input type="checkbox" name="Einrichtung" value="RZ"> Rechenzentrum
<td>
<input type="checkbox" name="Einrichtung" value="Hochschulleitung">
Hochschulleitung
</table>
<br>
<h2>Antrag auf:</h2>
<table>
<tr><td>
<input type="radio" name="Antrag" value="Urlaub">
<font size=+1>Erholungsurlaub:</font>
<td nowrap>
am/vom: <input type="text" name="vom" size=5>
<td> bis: <input type="text" name="bis" size=5>
<td> = <input type="text" name="Tage" size=5> Tage
<tr><td>
<input type="radio" name="Antrag" value="AZV">
<font size=+1>Arbeitszeitverkürzung:</font>
<td>
<td>am: <input type="text" name="vom" size=5>
<td> = <input type="text" name="Tage" size=5> Tag
</table>
<br>
<table>
<tr><td>Vertretung durch:
<td><input type="text" name="Vertretung" size=15>
<td allign=center>_______________________________
<tr><td><td>
<td align=center>(Unterschrift Vertreter/in)
<tr><td>Regensburg,
<td><input type="text" name="Datum" size=10 maxlength=10>
<td allign=center>_______________________________
<tr><td><td>
<td align=center>(Unterschrift Antragsteller/in)
</table>
<table cellspacing=30>
<tr><td> <input type=submit value="Antrag absenden">
<td> <input type=reset value="Vorgang abbrechen">
</table>
</form>
<hr noshade>
<I>
<SCRIPT>
<!-
document.write( "Zuletzt geändert am " +
document.lastModified )
//->
</SCRIPT>
<I><A HREF="mailto:metten@tuba.baynet.org">Christoph Metten</A></I>
</body>
</html>
#!/soft/bin/perl
#----------------------------------------
# Urlaub.cgi Bearbeiten des Urlaubsantragsformulars
# Erzeugt eine Textdatei und Antwort-Dokument
# Autor: Christoph Metten, 27.09.1997
# fuer die Fachhochschule Regensburg
# Aenderungen:
#----------------------------------------
use lib '/soft/lib';
use CGI;
use strict;
#-------------
# Variablen
my( $ausgabedatei, $mailprog, $mailaddress,
$cgiprogram,
$q, $par, @val,
$Name, $Vorname, $email );
$ausgabedatei = "/www/log/Urlaub.list";
$mailprog = "/usr/sbin/sendmail";
$mailaddress = "Christoph Metten <cmetten\
@tuba.baynet.org>";
$cgiprogram = "/cgi-bin/Urlaub-Genehmigung.cgi";
$q = new CGI;
#-------------
# Eingabe lesen
&eingabe_lesen;
#-------------
# Parameter fuer Mail
$Name = $q->param( "Name" );
$Vorname = $q->param( "Vorname" );
$email = $q->param( "eMail" );
#-------------
# Ausgabe-eMail erzeugen
# &Ausgabemail;
#-------------
# Ausgabe
&http_header;
#-------------
# Ausgabe
# &test_ausgabe;
&formular_auswertung;
#-------------
# Verfuegung ausgeben
&verfuegung;
#-------------
# Abschlussarbeiten
&http_end;
exit( 0 );
#----------------------------------------
# Formulareingabe einlesen und Log-Datei schreiben
sub eingabe_lesen {
open( FILE, "> $ausgabedatei" ) || die;
foreach $par ($q->param) { # Parameter lesen
@val = $q->param( $par ); # Wert lesen
print FILE $par, ": "; # Ausgabe in Textdatei
print FILE join( ",", @val );
print FILE "; ";
}
print FILE "\
n";
close( FILE );
}
#----------------------------------------
# HTTP-Header ausgeben
sub http_header {
my( $s );
$s = "Urlaubsantrag von $Vorname $Name";
print $q->header;
print $q->start_html( -title=>$s,
-author=>'cmetten@intern.fh-regensburg.de');
}
#----------------------------------------
# HTTP-Trailer
sub http_end {
print "<hr noshade>\
n
<font size=-1>
<a href=\
"http://INTERN-fh-regensburg.de/~cmetten\
">
Christoph Metten</a>, ";
print `date`;
print $q->end_html;
}
#----------------------------------------
# Ausgabe-eMail
sub Ausgabemail{
open( MAIL, "| $mailprog -t" ) || die "Kann Mailprogramm nicht öffnen!";
print MAIL "To: $mailaddress\
n";
print MAIL "From: $Vorname $Name
<$email>\
n";
print MAIL "Subject: Urlaubsantrag
($Vorname $Name)\
n";
foreach $par ($q->param) {
@val = $q->param( $par );
print MAIL $par;
print MAIL ":\
t";
print MAIL @val;
}
close( MAIL );
}
#----------------------------------------
# Testausgabe
sub test_ausgabe {
foreach $par ($q->param) { # Parameter lesen
@val = $q->param( $par );
print $par, " ->
", join( ", ", @val ), "<br>\
n";
}
print "<hr noshade>\
n";
}
#----------------------------------------
# Formulardaten auswerten -> neues Formular
sub formular_auswertung {
print "<center><h1>Urlaubsantrag</h1></center>\
n";
print "<table>\
n";
#-- Name
print "<tr><td>Name: <td colspan=2><b>",
$q->param('Name'), " ",
$q->param('Vorname'), "\
n";
#-- Dienstbezeichnung
print "<tr><td>Dienstbez.: <td><b>",
$q->param('DBez'), "\
n";
#-- eMail-Adresse
print "<tr><td>eMail: <td colspan=4><b>",
$q->param('eMail'), "\
n";
#-- Sachgebiet, Referat
print "<tr><td> Sachgebiet: <td><b>",
$q->param('Sachgebiet'),
"\
n";
print "<td>Referat: <td><b>",
$q->param('Referat'), "\
n";
#-- KDV-FH
print "<td>KDV-FH:";
if( $q->param('KDV') eq "on" ) {
print "<b><tt>[X]</tt>\
n";
} else {
print "<b><tt>[
]</tt>\
n";
}
#-- zentrale Einrichtung: Bib, RZ, Hochschulleitung
print "<tr><td> Zentrale Einrichtung: <td><b>",
join( ", ", $q->param('Einrichtung') );
#-- Antrag
print "<tr><td>Antrag auf:";
if( $q->param('Antrag') eq "Urlaub" ) {
print "<td colspan=3><b>Erholungsurlaub";
} elsif ( $q->param('Antrag') eq "AZV" ) {
print "<td colspan=3><b>Arbeitszeitverkürzung";
} else {
print "<td colspan=3><b>kein Antrag !";
}
#-- von .. bis .. = .. Tage
print "<tr><td>";
print "<td>am / vom: <td><b>",
$q->param('vom');
if( $q->param('bis') ) {
print "<td>bis: <td><b>",
$q->param('bis');
}
print "<td><tt>=</tt> <b>",
$q->param('Tage'),
" Tag(e)\
n";
#-- Vertretung
print "<tr><td>Vertretung durch: <td colspan=2><b>",
$q->param( 'Vertretung' );
print "<tr><td colspan=3>",
"<td colspan=3 align=right>Unterschrift Vertreter/in:",
"<td allign=center>_______________________________";
#-- Ort, Datum, Unterschrift
print "<tr><td><td colspan=2>Regensburg, <b>",
$q->param( 'Datum' );
print "<tr><td colspan=3>",
"<td colspan=3 align=right>Unterschrift Antragsteller/in:",
"<td allign=center>_______________________________";
print "</table>\
n";
}
#----------------------------------------
# Verfuegung
sub verfuegung {
#-- Formular
print "<form method='post'
action=", $cgiprogram, ">\
n";
#-- Einverstaendniserklaerung
print "<br><center><b>Für Mitarbeiter der Hochschulleitung ",
"/ Fachbereiche:</b></center><br>",
"<table><tr><td>",
"Einverständnis Hochschulleitung / Fachbereiche<br>";
print "<tr><td>Regensburg, ",
"<input type='text' name='Einverst' size=10 maxlength=10> ";
print "<td><pre> </pre>";
print "<td>Unterschrift: ",
"_______________________________";
print "</table>";
#-- Verfuegung
print "<center><h2>Verfügung</h2></center>\
n";
print "<ol><li>O.g.
Antrag wird<br>\
n";
#-- alle Formulardaten (hidden) mitschleifen
print "<input type=hidden name=\
"Name\
"
value=\
"",
$q->param('Name'), "\
">\
n";
print "<input type=hidden name=\
"Vorname\
"
value=\
"",
$q->param('Vorname'), "\
">\
n";
print "<input type=hidden name=\
"DBez\
"
value=\
"",
$q->param('DBez'), "\
">\
n";
print "<input type=hidden name=\
"Sachgebiet\
"
value=\
"",
$q->param('Sachgebiet'),
"\
">\
n";
print "<input type=hidden name=\
"Referat\
"
value=\
"",
$q->param('Referat'), "\
">\
n";
print "<input type=hidden name=\
"KDV\
"
value=\
"",
$q->param('KDV'), "\
">\
n";
print "<input type=hidden name=\
"Einrichtung\
"
value=\
"",
$q->param('Einrichtung'),
"\
">\
n";
print "<input type=hidden name=\
"Antrag\
"
value=\
"",
$q->param('Antrag'), "\
">\
n";
print "<input type=hidden name=\
"vom\
"
value=\
"",
$q->param('vom'), "\
">\
n";
print "<input type=hidden name=\
"bis\
"
value=\
"",
$q->param('bis'), "\
">\
n";
print "<input type=hidden name=\
"Tage\
"
value=\
"",
$q->param('Tage'), "\
">\
n";
print "<input type=hidden name=\
"Vertretung\
"
value=\
"",
$q->param('Vertretung'),
"\
">\
n";
print "<input type=hidden name=\
"Datum\
"
value=\
"",
$q->param('Datum'), "\
">\
n";
#-- Genehmigung erteilen
print "<dl>";
print "<dt><input type='radio' name='genehmigt' value='ja'> ",
"genehmigt (Weiterleitung
an Telefonzentrale)<br>\
n";
#-- Genehmigung nicht erteilen
print "<dt><input
type='radio' name='genehmigt' value='nein'> \
n",
"<b>nicht</b>
genehmigt \
n",
"(<i>mit Begründung</i>
zurück an Antragsteller)\
n";
#-- Begruendung
print "<dd><textarea rows=3 Cols=40 name='Grund'></textarea>",
"</dl><br>\
n";
#-- Ort, Datum, Unterschrift
print "Regensburg, ",
"<input type='text'
name='Verf' size=10 maxlength=10>\
n";
print "Unterschr. Sachgebietsleiter/(Vize-)Kanzler: ",
"_______________________________<br>\
n";
#-- Verteiler
print "<li>An Telefonzentrale
<br>\
n",
"In Urlaubsblatt eingetragen:
__________\
n";
print "<li>Zum Urlaubsakt\
n",
"</ol>";
#-- Aktionsschalter
print "<input type=submit
value='Antrag absenden'>\
n";
#-- Formularende
print "</form>\
n";
}
#--E-O-F------------------------------------
#!/soft/bin/perl
#----------------------------------------
# Urlaub-Genehmigung.cgi
# weiteres Bearbeiten des Urlaubsantragsformulars
# eingegangene Antraege (nicht) genehmigen
# Autor: Christoph Metten, 27.09.1997
# fuer die Fachhochschule Regensburg
# Aenderungen:
#----------------------------------------
use lib '/soft/lib';
use CGI;
use strict;
#-------------
# Variablen
my( $ausgabedatei, $mailprog, $mailaddress,
$q, $par, @val,
$Name, $Vorname, $email );
$ausgabedatei = "/www/log/Urlaub.ablage";
$mailprog = "/usr/sbin/sendmail";
$mailaddress = "Christoph Metten <cmetten\
@tuba.baynet.org>";
$q = new CGI;
#-------------
# Parameter fuer Mail
$Name = $q->param( "Name" );
$Vorname = $q->param( "Vorname" );
$email = $q->param( "eMail" );
#-------------
# Eingabe lesen, Log schreiben
&eingabe_lesen;
#-------------
# Ausgabe-eMail erzeugen
# &Ausgabemail;
#-------------
# Ausgabe
&http_header;
#-------------
# Ausgabe
#&test_ausgabe;
&formular_auswertung;
#-------------
# Abschlussarbeiten
&http_end;
exit( 0 );
#----------------------------------------
# Formulareingabe einlesen und Log-Datei schreiben
sub eingabe_lesen {
open( FILE, "> $ausgabedatei" ) || die;
foreach $par ($q->param) { # Parameter lesen
@val = $q->param( $par ); # Wert lesen
print FILE $par, ": "; # Ausgabe in Textdatei
print FILE join( ",", @val );
print FILE "; ";
}
print FILE "\
n";
close( FILE );
}
#----------------------------------------
# HTTP-Header ausgeben
sub http_header {
my( $s );
$s = "Urlaubsantrag von $Vorname $Name";
print $q->header;
print $q->start_html( -title=>$s,
-author=>'cmetten@intern.fh-regensburg.de');
}
#----------------------------------------
# HTTP-Trailer
sub http_end {
print "<hr noshade>\
n
<font size=-1>
<a href=\
"http://INTERN-fh-regensburg.de/~cmetten\
">
Christoph Metten</a>, ";
print `date`;
print $q->end_html;
}
#----------------------------------------
# Ausgabe-eMail
sub Ausgabemail{
open( MAIL, "| $mailprog -t" ) || die "Kann Mailprogramm nicht öffnen!";
print MAIL "To: $mailaddress\
n";
print MAIL "From: $Vorname $Name
<$email>\
n";
print MAIL "Subject: Urlaubsantrag
($Vorname $Name)\
n";
foreach $par ($q->param) {
@val = $q->param( $par );
print MAIL $par;
print MAIL ":\
t";
print MAIL @val;
}
close( MAIL );
}
#----------------------------------------
# Testausgabe
sub test_ausgabe {
foreach $par ($q->param) { # Parameter lesen
@val = $q->param( $par );
print $par, " ->
", join( ", ", @val ), "<br>\
n";
}
print "<hr noshade>\
n";
}
#----------------------------------------
# Formulardaten auswerten -> neues Formular
sub formular_auswertung {
#-- Ueberschrift
print "<center><h1>Urlaubsantrag</h1></center>\
n";
print "<table>\
n";
#-- Name
print "<tr><td>Name: <td colspan=2><b>",
$q->param('Name'), " ",
$q->param('Vorname'), "\
n";
#-- Dienstbezeichnung
print "<tr><td>Dienstbez.: <td><b>",
$q->param('DBez'), "\
n";
#-- eMail-Adresse
print "<tr><td>eMail: <td colspan=4><b>",
$q->param('eMail'), "\
n";
#-- Sachgebiet, Referat
print "<tr><td> Sachgebiet: <td><b>",
$q->param('Sachgebiet'),
"\
n";
print "<td>Referat: <td><b>",
$q->param('Referat'), "\
n";
#-- KDV-FH
print "<td>KDV-FH:";
if( $q->param('KDV') eq "on" ) {
print "<b><tt>[X]</tt>\
n";
} else {
print "<b><tt>[
]</tt>\
n";
}
#-- zentrale Einrichtung: Bib, RZ, Hochschulleitung
print "<tr><td> Zentrale Einrichtung: <td><b>",
join( ", ", $q->param('Einrichtung') );
#-- Antrag
print "<tr><td>Antrag auf:";
if( $q->param('Antrag') eq "Urlaub" ) {
print "<td colspan=3><b>Erholungsurlaub";
} elsif ( $q->param('Antrag') eq "AZV" ) {
print "<td colspan=3><b>Arbeitszeitverkürzung";
} else {
print "<td colspan=3><b>kein Antrag !";
}
#-- von .. bis .. = .. Tage
print "<tr><td>";
print "<td>am / von: <td><b>",
$q->param('vom');
if( $q->param('bis') ) {
print "<td>bis: <td><b>",
$q->param('bis');
}
print "<td><tt>=</tt> <b>",
$q->param('Tage'),
" Tag(e)\
n";
#-- Vertretung
print "<tr><td>Vertretung durch: <td colspan=2><b>",
$q->param( 'Vertretung' );
print "<tr><td colspan=3>",
"<td colspan=3 align=right>Unterschrift Vertreter/in:",
"<td allign=center>_______________________________";
#-- Ort, Datum, Unterschrift
print "<tr><td><td colspan=2>Regensburg, <b>",
$q->param( 'Datum' );
print "<tr><td colspan=3>",
"<td colspan=3 align=right>Unterschrift Antragsteller/in:",
"<td allign=center>_______________________________";
print "</table>\
n";
#-- Einverstaendniserklaerung
print "<br><center><b>Für Mitarbeiter der Hochschulleitung ",
"/ Fachbereiche:</b></center><br>",
"<table><tr><td>",
"Einverständnis Hochschulleitung / Fachbereiche<br>";
print "<tr><td>Regensburg, ", $q->param( 'Einverst' );
print "<td><pre> </pre>";
print "<td>Unterschrift: ",
"_______________________________";
print "</table>\
n";
#-- Verfuegung
print "<center><h2>Verfügung</h2></center>\
n";
print "<ol><li>O.g.
Antrag wird<br>\
n";
#-- Genehmigung erteilen
if( $q->param( 'genehmigt' ) eq 'ja' ) {
print "<b><tt>[X]</tt>\
n";
print "genehmigt ",
"(Weiterleitung
an Telefonzentrale)<br>\
n";
}
#-- Genehmigung nicht erteilen
else {
print "<b><tt>[X]</tt></b>\
n";
print "<b>nicht</b>
genehmigt \
n",
"(<i>mit Begründung</i> ",
"zurück an
Antragsteller)\
n";
#-- Begruendung
print "<dd><blockquote>\
n",
$q->param( 'Grund' ),
"</dl><br>\
n";
}
#-- Ort, Datum, Unterschrift
print "Regensburg, ", $q->param( 'Verf' );
print " Unterschr. Sachgebietsleiter/(Vize-)Kanzler: ",
"_______________________________<br>\
n";
#-- Verteiler
print "<li>An Telefonzentrale
<br>\
n",
"In Urlaubsblatt eingetragen:
__________\
n";
print "<li>Zum Urlaubsakt\
n",
"</ol>\
n";
}
#--E-O-F------------------------------------