小日历,显示本月信息,加以改进后可变为日程表。源文件:
/* by Linux Pie [email protected]
www.qqbonbon.com */ <?
# $selected{Month,Day,Year} should be set by the calling script.
# Actually, I should turn this into a function/object, and call it with
# those values. That would sanatize the calling script. Too many
# variables crawling about already.
# Create an html calendar for a month.
if (!$selectedDay ) {
$selectedDay = date('d'); }
if (!$selectedMonth) {
$selectedMonth = date('m'); }
if (!$selectedYear) {
$selectedYear = date('Y'); }
# get the first day of the week!
$firstday = date('w',mktime(0,0,0,$selectedMonth,1,$selectedYear));
# have to perform a loop to test from 31 backwards using this
# to see which is the last day of the month
$lastday = 31; do {
# *Sigh* recursion would have been more fun here.
$monthOrig = date('m',mktime(0,0,0,$selectedMonth,1,$selectedYear)); $monthTest = date('m',mktime(0,0,0,$selectedMonth,$lastday,$selectedYear)); if ($monthTest != $monthOrig) { $lastday -= 1; }
} while ($monthTest != $monthOrig);
$monthName = date('F',mktime(0,0,0,$selectedMonth,1,$selectedYear));
if($DEBUGGING_SET) {
print("<p>first day of the first week of $selectedMonth $selectedYear is $firstday (from 0 to 6) <p>\n"); print("The last day of $selectedMonth $selectedYear is $lastday\n<p>"); }
$days[0] = 'Sun';
$days[1] = 'Mon';
$days[2] = 'Tue';
$days[3] = 'Wed';
$days[4] = 'Thu';
$days[5] = 'Fri';
$days[6] = 'Sat';
$dayRow = 0; print("<table bgcolor=\"#FFFFFF\">"); print("<caption valign=\"center\"><b>$monthName $selectedYear</b></caption>"); print("<tr>\n");
for($i=0; $i<=6; $i++) {
print("<td width=10%>$days[$i]</td>\n"); }
print("</tr>\n");
print("<tr>\n");
while($dayRow < $firstday) {
print("<td><!-- This day in last month --></td>"); $dayRow += 1; }
$day = 0; if($frametarget) {
$targetString = 'target = '.$frametarget; } else {
$targetString = ''; }
while($day < $lastday) {
if(($dayRow % 7) == 0) {
print("</tr>\n<tr>\n"); }
$adjusted_day = $day+1; print("<td><a href=\"/php3/eventCalendar/event_content.phtml?month=$selectedMonth&day=$adjusted_day&year=$selectedYear\" $targetString>$adjusted_day</a></td>"); $day += 1; $dayRow += 1; }
print("\n</tr>\n</table>\n"); # print("$selectedMonth"); ?>
|
|