<?php
# Copyright by Manuel
# Support www.ilch.de
defined (
'main'
)
or
die
(
'no direct access'
);
function
getCalendar(
$mon
,
$jahr
,
$url
,
$urlod
,
$data
,
$cellpadding
= 2)
{
$calGebTag
=
'red'
;
$calLastWar
=
'cyan'
;
$calNextWar
=
'green'
;
$calTrain
=
'yellow'
;
$calAllg
=
'blue'
;
$calMulti
=
'purple'
;
$ak_tag
=
date
(
'j'
);
$ak_mon
=
date
(
'n'
);
$ak_jahr
=
date
(
'Y'
);
$days
=
date
(
't'
,
mktime
(0, 0, 0,
$mon
, 1,
$jahr
));
$fw
=
str_replace
(0, 7,
date
(
'w'
,
mktime
(0, 0, 0,
$mon
, 1,
$jahr
))) -1;
$next_mon
=
$mon
+1;
$last_mon
=
$mon
-1;
$next_jahr
=
$jahr
;
$last_jahr
=
$jahr
;
if
(
$next_mon
> 12)
{
$next_jahr
=
$jahr
+1;
$next_mon
= 1;
}
if
(
$last_mon
== 0)
{
$last_jahr
=
$jahr
-1;
$last_mon
= 12;
}
$mlist
=
array
(
1 =>
"Jan"
,
2 =>
"Feb"
,
3 =>
"Mär"
,
4 =>
"Apr"
,
5 =>
"Mai"
,
6 =>
"Jun"
,
7 =>
"Jul"
,
8 =>
"Aug"
,
9 =>
"Sep"
,
10 =>
"Okt"
,
11 =>
"Nov"
,
12 =>
"Dez"
);
$monName
=
$mlist
[
$mon
];
$return_str
=
''
;
$return_str
.=
'<table class="calTable" cellpadding="'
.
$cellpadding
.
'" cellspacing="1">'
;
$return_str
.=
'<tr class="Chead">'
;
$return_str
.=
'<th><a href="'
.
str_replace
(
'{mon}'
,
$last_mon
,
str_replace
(
'{jahr}'
,
$last_jahr
,
$urlod
)) .
'"><b>«</b></a></th>'
;
$return_str
.=
'<th colspan="5">'
.
$monName
.
' '
.
$jahr
.
'</th>'
;
$return_str
.=
'<th><a href="'
.
str_replace
(
'{mon}'
,
$next_mon
,
str_replace
(
'{jahr}'
,
$next_jahr
,
$urlod
)) .
'"><b>»</b></a></th>'
;
$return_str
.=
'</tr><tr class="Cdark calDays">'
;
$return_str
.=
'<td>Mo</td><td>Di</td><td>Mi</td><td>Do</td><td>Fr</td><td>Sa</td><td>So</td>'
;
$return_str
.=
'</tr><tr>'
;
$return_str
.=
str_repeat
(
'<td> </td>'
,
$fw
);
for
(
$i
=1;
$i
<=
$days
;
$i
++)
{
if
((
$i
+
$fw
-1) % 7 == 0 AND
$i
> 1)
{
$return_str
.=
'</tr><tr>'
;
}
if
(
$i
==
$ak_tag
AND
$mon
==
$ak_mon
AND
$jahr
==
$ak_jahr
)
{
$class
=
'Cmite'
;
}
else
{
$class
=
'Cnorm'
;
}
$surl
=
str_replace
(
'{mon}'
,
$mon
,
str_replace
(
'{tag}'
,
$i
,
str_replace
(
'{jahr}'
,
$jahr
,
$url
)));
$title
=
''
;
$color
=
''
;
$termin
= 0;
$aktMonth
=
date
(
"m"
,
mktime
(0, 0, 0,
$mon
,
$i
,
$jahr
));
$aktDay
=
date
(
"d"
,
mktime
(0, 0, 0,
$mon
,
$i
,
$jahr
));
$result
= db_query(
'SELECT `name`, `gebdatum`, `id` FROM `prefix_user` WHERE MONTH(gebdatum) = "'
.
$aktMonth
.
'" AND DAY(gebdatum) = "'
.
$aktDay
.
'"'
);
if
(db_num_rows(
$result
) != 0)
{
while
(
$row
= db_fetch_object(
$result
))
{
$termin
++;
$title
.=
'Geburtstag von '
.
$row
->name .
', '
;
$color
=
$calGebTag
;
}
}
if
(isset(
$data
[
mktime
(0, 0, 0,
$mon
,
$i
,
$jahr
)]))
{
$date
=
mktime
(0, 0, 0,
$mon
,
$i
,
$jahr
);
foreach
(
$data
[
$date
]
as
$info
)
{
$termin
++;
$title
.=
$info
[
'title'
] .
', '
;
if
(
strpos
(
$info
[
'title'
],
"Training"
) !== false)
{
$color
=
$calTrain
;
}
elseif
(
strpos
(
$info
[
'title'
],
"Lastwar"
) !== false)
{
$color
=
$calLastWar
;
}
elseif
(
strpos
(
$info
[
'title'
],
"Nextwar"
) !== false)
{
$color
=
$calNextWar
;
}
else
{
$color
=
$calAllg
;
}
}
}
if
(
$termin
> 1)
{
$color
=
$calMulti
;
}
$title
=
substr
(
$title
, 0, -2);
$infoColor
=
'border-color:'
.
$color
.
' transparent transparent transparent;'
;
$infoWeight
= (
$termin
>= 1) ?
'font-weight:bold;'
:
''
;
$out_i
=
'<td class="'
.
$class
.
'"><a title="'
.
$title
.
'" style="'
.
$infoWeight
.
'" href="'
.
$surl
.
'"><span style="'
.
$infoColor
.
'"></span>'
.
$i
.
'</a></td>'
;
$return_str
.=
$out_i
;
}
$return_str
.=
str_repeat
(
'<td> </td>'
, (7-((
$i
+
$fw
-1) % 7)) % 7);
$return_str
.=
'</tr></table>'
;
return
(
$return_str
);
}
$ILCH_HEADER_ADDITIONS
.= '
<style type=
"text/css"
>
.calTable {
width:100%;
}
.calTable td, .calTable th, .calTable tr.calDays td {
text-align:center;
position:relative;
}
.calTable td a span {
position:absolute;
top:0;
left:0;
width:0;
height:0;
border-style:solid;
border-width:7px 7px 0 0;
}
.calTable a {
text-decoration:none;
}
</style>';
?>