<?php
function
build_calendar(
$month
,
$year
) {
$daysOfWeek
=
array
(
'S'
,
'M'
,
'T'
,
'W'
,
'T'
,
'F'
,
'S'
);
$firstDayOfMonth
=
mktime
(0,0,0,
$month
,1,
$year
);
$numberDays
=
date
(
't'
,
$firstDayOfMonth
);
$dateComponents
=
getdate
(
$firstDayOfMonth
);
$monthName
=
$dateComponents
[
'month'
];
$dayOfWeek
=
$dateComponents
[
'wday'
];
$calendar
=
"<table class='calendar'>"
;
$calendar
.=
"<caption>$monthName $year</caption>"
;
$calendar
.=
"<tr>"
;
foreach
(
$daysOfWeek
as
$day
) {
$calendar
.=
"<th class='header'>$day</th>"
;
}
$currentDay
= 1;
$calendar
.=
"</tr><tr>"
;
if
(
$dayOfWeek
> 0) {
$calendar
.=
"<td colspan='$dayOfWeek'> </td>"
;
}
$month
=
str_pad
(
$month
, 2,
"0"
, STR_PAD_LEFT);
while
(
$currentDay
<=
$numberDays
) {
if
(
$dayOfWeek
== 7) {
$dayOfWeek
= 0;
$calendar
.=
"</tr><tr>"
;
}
$currentDayRel
=
str_pad
(
$currentDay
, 2,
"0"
, STR_PAD_LEFT);
$date
=
"$year-$month-$currentDayRel"
;
$calendar
.=
"<td class='day' rel='$date'>$currentDay</td>"
;
$currentDay
++;
$dayOfWeek
++;
}
if
(
$dayOfWeek
!= 7) {
$remainingDays
= 7 -
$dayOfWeek
;
$calendar
.=
"<td colspan='$remainingDays'> </td>"
;
}
$calendar
.=
"</tr>"
;
$calendar
.=
"</table>"
;
return
$calendar
;
}
echo
build_calendar(05,2016);
?>