1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118: | #use CGI::Carp qw(fatalsToBrowser);
$termine=2; # Anzahl der anzuzeigenden Termine
$faktor=int(95/$termine);
# --- Datum ermitteln ----------------------------------
($sek, $min, $std, $tag, $mon, $jhr, $wtg, $jtg, $isdst)=localtime(time);
$mon ++;
$jhr=$jhr+1900;
&Wochentag;
$datum=sprintf('%02d.%02d.%04d',$tag, $mon, $jhr);
# --- Kalender Datei lesen -----------------------------
if(open(IN, 'termine.txt')){
@liste=<IN>;
close(IN);
}
else{die;}
# --- Kalender Datei vorbereiten -----------------------
foreach $zeile (@liste) {
($id,$xdatestamp,$label,$desc) = split(/|/,$zeile,4);
$xjhr=substr($xdatestamp,0,4);
$xmon=substr($xdatestamp,4,2);
$xtag=substr($xdatestamp,6,2);
if ($xjhr eq "0000"){
$xdatestamp=$jhr.$xmon.$xtag;
}
$liste[$i]=$xdatestamp.'|'.$label.'|'.$desc;
$i++;
}
# --- Kalender Datei sortieren -------------------------
@liste = sort {$a cmp $b} @liste;
# --- Kalender Datei ausgeben --------------------------
foreach(@liste) {
chomp;
next unless /^d/;
($xdatestamp,$label,$desc) = split(/|/,$_,3);
$xjhr=substr($xdatestamp,0,4);
$xmon=substr($xdatestamp,4,2);
$xtag=substr($xdatestamp,6,2);
if ((($xjhr*365)+($xmon*30)+$xtag) >= (($jhr*365)+($mon*30)+$tag)) {
$anz++;
if (($xtag==$tag) & ($xmon==$mon) & ($xjhr==$jhr)){
$farbe="yellow";
}
else{
$farbe="#000000";
}
$tab=$tab.'<tr><td valign="top" bgcolor="#86B580" background="tile_msg.gif" height="1"><b><font face="Arial" size="2" color="'.$farbe.'">'."$xtag.$xmon.$xjhr</b> -- $label</font></td></tr>";
$tab=$tab.'<tr><td valign="center" bgcolor="#A7C8A2"><font face="Arial" size="2"><p style="margin-top: 5; margin-bottom: 5">'.$desc.'</font><br></td></tr>';
}
}
$height=int($faktor*$anz);
$tab='<table border="1" cellpadding="0" cellspacing="0" valign="top" bgcolor="#A7C8A2" bordercolor="#000000" bordercolordark="#D1EFD1" height="1" width="100%"><tr><td bgcolor="#86B580" background="header_tile.gif" height="62px"><a name="Termine Allgemein"><img border="0" src="terallg.jpg"></a></td></tr>'.$tab;
if ($anz==0) {
$tab='<table border="0" cellpadding="0" cellspacing="0" valign="top" bgcolor="#A7C8A2" bordercolor="#000000" bordercolordark="#000000" height="'.$height.'" width="100%"><font face="Arial" size="2" color="'.$farbe.'"><center>keine Termine vorhanden</center></font>';
}
# --- HTML Header einrichten ---------------------------
print <<Kopf1;
Content-type: text/html
$tab
<tr>
<td width="607" background="foot.gif"><img border="0" src="foot.gif" width="4" height="7"></td>
</tr>
</table>
Kopf1
##################################################################################
# UNTERPROGRAMME #
##################################################################################
sub datum {
my $dat = shift(@_);
($sek, $min, $std, $tag, $mon, $jhr, $wtg, $jtg, $isdst)=localtime($dat);
$jhr=$jhr+1900;
#---- Wochentagskürzel ---------------------------------------------------
$wtg =~ s/1/Mon/;
$wtg =~ s/2/Tue/;
$wtg =~ s/3/Wed/;
$wtg =~ s/4/Thu/;
$wtg =~ s/5/Fre/;
$wtg =~ s/6/Sat/;
$wtg =~ s/0/Sun/;
#---- Monatskürzel -------------------------------------------------------
$mon =~ s/0/Jan/;
$mon =~ s/1/Feb/;
$mon =~ s/2/Mar/;
$mon =~ s/3/Apr/;
$mon =~ s/4/May/;
$mon =~ s/5/Jun/;
$mon =~ s/6/Jul/;
$mon =~ s/7/Aug/;
$mon =~ s/8/Sep/;
$mon =~ s/9/Oct/;
$mon =~ s/10/Nov/;
$mon =~ s/11/Dec/;
$string=sprintf('%s, %02d-%s-%04d %02d:%02d:%02d GMT', $wtg, $tag, $mon, $jhr, $std, $min, $sek);
return $string;
}
sub Wochentag {
$wtg =~ s/1/Montag/;
$wtg =~ s/2/Dienstag/;
$wtg =~ s/3/Mittwoch/;
$wtg =~ s/4/Donnerstag/;
$wtg =~ s/5/Freitag/;
$wtg =~ s/6/Samstag/;
$wtg =~ s/0/Sonntag/; |