<? Php
/*
Function Written by Nelson Neoh @ 3/2004.
For those who wants to utilize this code, please do not remove this remark.
If you have done any enhancement to this code, please post the copy at http://www.dev-club.com PHP board. Thank you.
Function usage: calendar (Month, Year)
*/
Function calendar ($ MM, $ YYYY ){
If ($ MM = "") $ MM = date ("m ");
If ($ YYYY = "") $ YYYY = date ("Y ");
If (checkdate ($ MM, 1, $ YYYY )){
$ StringDate = strftime ("% d % B % Y", mktime (0, 0, $ MM, 1, $ YYYY ));
$ Days = strftime ("% d", mktime (, 0, $ MM +, $ YYYY ));
$ FirstDay = strftime ("% w", mktime (0, 0, 0, $ MM, 1, $ YYYY ));
$ LastDay = strftime ("% w", mktime (0, 0, 0, $ MM, $ days, $ YYYY ));
$ PrintDays = $ days;
$ PreMonth = strftime ("% m", mktime (, 0, $ MM-1, 1, $ YYYY ));
$ PreYear = strftime ("% Y", mktime (, 0, $ MM-1, 1, $ YYYY ));
$ NextMonth = strftime ("% m", mktime (, 0, 0, $ MM +, $ YYYY ));
$ NextYear = strftime ("% Y", mktime (, 0, 0, $ MM +, $ YYYY ));
Print ("<table border = \" 1 \ "cellpadding = \" 1 \ "cellspacing = \" 1 \ "> ");
Print ("<tr> <th valign = \" top \ "> <a href = \" ". $ _ SERVER ['php _ SELF ']."? NB = ". $ _ GET ["NB"]. "& MM = ". $ preMonth. "& YY = ". $ preYear. "\"> P </a> </th> ");
Print ("<th colspan = \" 5 \ "valign = \" top \ "> ". strftime ("% B % Y", mktime (0, 0, 0, $ MM, 1, $ YYYY )). "</th> ");
Print ("<th valign = \" top \ "> <a href = \" ". $ _ SERVER ['php _ SELF ']."? NB = ". $ _ GET ["NB"]. "& MM = ". $ nextMonth. "& YY = ". $ nextYear. "\"> N </a> </th> </tr> ");
Print ("<tr style = \" font-family: Verdana; font-size: x-small \ "> ");
Print ("<th> Sun </th> <th> Mon </th> <th> Tue </th> <th> Wed </th> <th> Thu </th> <th> Fri </th> <th> Sat </th> </tr> ");
$ CurrentDays = 1;
For ($ a = 1; $ a <= 5; $ a ++ ){
Print ("<tr align = \" left \ "valign = \" top \ "style = \" font-family: Verdana; font-size: x-small \ "> ");
$ DiffDays = $ firstDay-$ lastDay;
If ($ firstDay> $ lastDay & $ currentDays = 1 & ($ diffDays <> 1 )){
For ($ x = $ lastDay; $ x> = 0; $ x --){
$ PrintDays = $ days-$ x;
Print ("<td> $ printDays </td> ");
}
For ($ z = 1; $ z <$ firstDay-$ lastDay; $ z ++ ){
Print ("<td> </td> ");
}
For ($ y = $ firstDay; $ y <7; $ y ++ ){
Print ("<td> $ currentDays </td> ");
$ CurrentDays ++;
}
} Elseif ($ firstDay! = 0 & $ currentDays = 1 ){
For ($ z = 1; $ z <= $ firstDay; $ z ++ ){
Print ("<td> </td> ");
}
For ($ y = $ firstDay; $ y <7; $ y ++ ){
Print ("<td> $ currentDays </td> ");
$ CurrentDays ++;
}
} Else {
For ($ u = 1; $ u <= 7 & $ currentDays <= $ days; $ u ++ ){
Print ("<td> $ currentDays </td> ");
$ CurrentDays ++;
}
}
Print ("</tr> ");
}
Print ("</table> ");
}
}
?>