小日历,显示本月信息

小日历,显示本月信息,加以改进后可变为日程表。源文件:

/*
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");
?>