Hi all,
I have some calendar code I am using and it has the calendar starting on Monday and I need it to start on Sunday.
It $date is in a 2010-11-04 format and when I look at the code, it seems to be getting the month and year, but not the day. I tried to change the start day for the week to 0 instead of 1 and that did not resolve it. Here is the code that I think is setting the weeks.
pclass Calendar {
public function renderCalendar($date,$events) {
$firstDay = getdate(mktime(0,0,0,$date['mon'],0,$date['year']));
// $firstDay = getdate(mktime(0,0,0,$date['mon'],1,$date['year']));
$lastDay = getdate(mktime(0,0,0,$date['mon']+1,0,$date['year']));
$displayCalendar = "<table height=600 width=600 border=1>";
$displayCalendar .= "<tr><th height=7% colspan=7>" . $date['month'] . " - " . $date['year'] . "</th></tr>";
$displayCalendar .= "<tr class=days align=center>";
$displayCalendar .= "<td height=7% width=14%>Mon</td><td width=14%>Tue</td><td width=14%>Wed</td><td width=14%>Thur</td><td width=14%>Fri</td><td width=14%>Sat</td><td width=14%>Sun</td></tr>";
$displayCalendar .= "<tr align=center valign=top>";
if($firstDay['wday'] == 0)
$firstDay['wday'] = 7;
for($i=1;$i<$firstDay['wday'];$i++){
$displayCalendar .= "<td> </td>";
}
$actday = 0;
for($i=$firstDay['wday'];$i<=7;$i++){
$actday++;
$displayCalendar .= "<td height=14%>" . $actday;
if($date['mon'] < 10) {
$m = "0" . $date['mon'];
} else {
$m = $date['mon'];
}
if($actday < 10) {
$a = "0" . $actday;
} else {
$a = $actday;
}
$t = $m . "-" . $a . "-" . $date['year'];
if(isset($events)) {
foreach($events as $event) {
if($event['event_date'] == $t)
$displayCalendar .= "<br /><a href=calendarDemo.php?view=list&id=" . $event['id'] . ">" . $event['event_title'] . "</a>";
}
}
echo " ";
$displayCalendar .= "</td>";
}
$displayCalendar .= "</tr>";
$fullWeeks = floor(($lastDay['mday']-$actday)/7);
for ($i=0;$i<$fullWeeks;$i++){
$displayCalendar .= "<tr align=center valign=top height=50>";
for ($j=0;$j<7;$j++){
$actday++;
$displayCalendar .= "<td height=14%>" . $actday;
if($date['mon'] < 10) {
$m = "0" . $date['mon'];
} else {
$m = $date['mon'];
}
if($actday < 10) {
$a = "0" . $actday;
} else {
$a = $actday;
}
$t = $m . "-" . $a . "-" . $date['year'];
if(isset($events)) {
foreach($events as $event) {
if($event['event_date'] == $t) {
$displayCalendar .= "<br /><a href=calendarDemo.php?view=list&id=" . $event['id'] . ">" . $event['event_title'] . "</a>";
}
}
}
echo " ";
$displayCalendar .= "</td>";
}
$displayCalendar .= "</tr>";
}
if ($actday < $lastDay['mday']){
$displayCalendar .= "<tr align=center valign=top>";
for ($i=0; $i<7;$i++){
$actday++;
if($actday <=$lastDay['mday']) {
$displayCalendar .= "<td height=14%>" . $actday;
if($date['mon'] < 10) {
$m = "0" . $date['mon'];
} else {
$m = $date['mon'];
}
if($actday < 10) {
$a = "0" . $actday;
} else {
$a = $actday;
}
$t = $m . "-" . $a . "-" . $date['year'];
if(isset($events)) {
foreach($events as $event) {
if($event['event_date'] == $t)
$displayCalendar .= "<br /><a href=calendarDemo.php?view=list&id=" . $event['id'] . ">" . $event['event_title'] . "</a>";
}
}
echo " ";
$displayCalendar .= "</td>";
} else {
$displayCalendar .= "<td height=14%> </td>";
}
}
} else {
//$displayCalendar .= "<td height=14%> </td>";
}
$displayCalendar .= "</tr></table>";
return $displayCalendar;
}
}
You can see that I commented out the original line "$firstDay = getdate(mktime(0,0,0,$date['mon'],1,$date['year']));" and changed it to 0, but that did not change anything.
I appreciate the help.
Don