Location: PHPKode > projects > MyTodos > calendar.php
<html>
<head>
</head>
<script type="text/javascript" language="JavaScript">
<!--
   function setDateInParentForm(date)
   {
      opener.document.forms["<?=$form?>"].<?=$field?>.value=date;
	   self.close();
   }
-->
</script>

<?
echo "<body>";

/**
 * creates the HTML for the calender (direct output)
 * 
 * @param $Monat int The month to display
 * @param $Jahr  int The year to display
 */
function Kalender($Monat,$Jahr)
{
	global $TEXT_MONTH_NAMES, $TEXT_SHORT_DAY_NAMES,$HTTP_SERVER_VARS, $HTTP_GET_VARS,$TEXT_CLOSE;

	$Monatsname = $TEXT_MONTH_NAMES;
	$Tag = $TEXT_SHORT_DAY_NAMES;
	$KSchrArt = "Verdana,Arial"; /* Schriftart Kalenderkopf */
	$KSchrGroesse = 2;           /* Schriftgroesse 1-7 Kalenderkopf */
	$KSchrFarbe = "#000000";     /* Schriftfarbe Kalenderkopf */
	$Khgrund = "#000066";        /* Hintergrundfarbe Kalenderkopf */
	$TSchrArt = "Verdana,Arial"; /* Schriftart Tagesanzeige */
	$TSchrGroesse = 1;           /* Schriftgroesse 1-7 Tagesanzeige */
	$TSchrFarbe = "#000000";     /* Schriftfarbe Tagesanzeige */
	$Thgrund = "#D0F0F0";        /* Hintergrundfarbe Tagesanzeige */
	$SoFarbe = "#E00000";        /* Schriftfarbe f. Sonntage */
	$Ahgrund = "#FFFFFF";        /* Hintergrundfarbe f. heutigen Tag */

	$jetzt = getdate(time());
	$DieserMonat = "1"; //$jetzt[mon];
	$DiesesJahr = "2002"; //$jetzt[year];
	$DieserTag = "1"; //$jetzt[mday];


	$Zeit = mktime(0,0,0,$Monat,1,$Jahr);
	$bla = getdate($Zeit);
	$Start = "1"; //$bla[wday];
	if($Start > 0) $Start--;
	else $Start = 6;
	$Stop = 31;
	if($Monat==4 ||$Monat==6 || $Monat==9 || $Monat==11 ) --$Stop;
	if($Monat==2)
	{
		$AnzTage=-3;
		$Stop=$Stop + $AnzTage;
		if($Jahr%4==0) $Stop++;
		if($Jahr%100==0) $Stop--;
		if($Jahr%400==0) $Stop++;
	}
	echo "<p align=center>";
	echo "<table border=3 cellpadding=1 cellspacing=1>";
	$Monatskopf = $Monatsname[$Monat-1] . " " . $Jahr;
	$Monatskopf .= '<BR><a href="'.$HTTP_SERVER_VARS['PHP_SELF']."?m=" . ($Monat-1) ."&dj=".$Jahr.'&form='.$HTTP_GET_VARS['form'].'&field='.$HTTP_GET_VARS['field'].'">&#60;&#60;</a>';
	$Monatskopf .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  '.date("F", mktime(0,0,0,$Monat,1,$Jahr)).' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
	$Monatskopf .= '<a href="calendar.php?m=' . ($Monat+1) ."&dj=" . $Jahr .'&form='.$HTTP_GET_VARS['form'].'&field='.$HTTP_GET_VARS['field'].'">&#62;&#62;</a>';
	SchreibeKopf($Monatskopf,$Khgrund,$KSchrFarbe,$KSchrGroesse,$KSchrArt);
	$Tageszahl = 1;
	for($i=0;$i<=5;$i++)
	{
		echo "<tr>";
		for($j=0;$j<=5;$j++)
		{
			if(($i==0)&&($j < $Start))
				SchreibeZelle("&#160;",$Thgrund,$TSchrFarbe,$TSchrGroesse,$TSchrArt);
			else
			{
				if($Tageszahl > $Stop)
					SchreibeZelle("&#160;",$Thgrund,$TSchrFarbe,$TSchrGroesse,$TSchrArt);
				else
				{
					if(($Jahr==$DiesesJahr)&&($Monat==$DieserMonat)&&($Tageszahl==$DieserTag))
						SchreibeZelle($Tageszahl,$Ahgrund,$TSchrFarbe,$TSchrGroesse,$TSchrArt);
					else
						SchreibeZelle($Tageszahl,$Thgrund,$TSchrFarbe,$TSchrGroesse,$TSchrArt);
					$Tageszahl++;
				}
			}
		}
		if($Tageszahl > $Stop)
			SchreibeZelle("&#160;",$Thgrund,$SoFarbe,$TSchrGroesse,$TSchrArt);
		else
		{
			if(($Jahr==$DiesesJahr)&&($Monat==$DieserMonat)&&($Tageszahl==$DieserTag))
				SchreibeZelle($Tageszahl,$Ahgrund,$SoFarbe,$TSchrGroesse,$TSchrArt);
			else
				SchreibeZelle($Tageszahl,$Thgrund,$SoFarbe,$TSchrGroesse,$TSchrArt);
			$Tageszahl++;
		}
		echo "</tr>";
	}
	echo "</table>";
}

/**
 * writes the head for the calender (direct output)
 *
 * @param $Monatstitel	The name of the month
 * @param $HgFarbe		Background-color
 * @param $SchrFarbe	Font-color
 * @param $SchrGroesse	Font-size
 * @param $SchrArt		Font
 */
function SchreibeKopf($Monatstitel,$HgFarbe,$SchrFarbe,$SchrGroesse,$SchrArt)
{
	global $TEXT_SHORT_DAY_NAMES;
	$Tag = $TEXT_SHORT_DAY_NAMES;
	echo "<tr>";
	echo "<td align=center colspan=7 valign=middle >";
	echo "<font size=" . $SchrGroesse . " color=" . $SchrFarbe . " face=" . $SchrArt . "><b>";
	echo $Monatstitel;
	echo "</b></font></td></tr>";
	echo "<tr>";
	for($i=0;$i<=6;$i++)
		SchreibeZelle($Tag[$i],$HgFarbe,$SchrFarbe,$SchrGroesse,$SchrArt);
	echo "</tr>";
}

/**
 * writes one cell of the calender-table
 *
 * @param $Inhalt		The content of the cell
 * @param $HgFarbe		Background-color
 * @param $SchrFarbe	Font-color
 * @param $SchrGroesse	Font-size
 * @param $SchrArt		Font
 */
function SchreibeZelle($Inhalt,$HgFarbe,$SchrFarbe,$SchrGroesse,$SchrArt)
{
	global $gm,$gj, $DATEFORMAT;
	echo "<td align=center valign=middle>";
	echo "<font size=" . $SchrGroesse . " color=" . $SchrFarbe . " face=" . $SchrArt . "><b>";
	if(is_numeric($Inhalt))
	{
		echo '<a href="javascript:setDateInParentForm(\'';
		echo "$gj-$gm-$Inhalt";
		/*echo "$Inhalt.$gm.$gj"; break;
		echo "$gm/$Inhalt/$gj"; break;*/
		echo "')\" style=\"background-color:" . $HgFarbe . "; color:" . $SchrFarbe . "\">" . $Inhalt ."</a>";
	}
	else
	{
		echo $Inhalt;
	}
	echo "</b></font></td>";
}

if ($HTTP_GET_VARS['m'] == 0) {
	$HTTP_GET_VARS['dj']--;
	$HTTP_GET_VARS['m'] == 12;
}
if ($HTTP_GET_VARS['m'] > 12) {
	$HTTP_GET_VARS['dj'] += $HTTP_GET_VARS['m'] % 12;
	$HTTP_GET_VARS['m'] = (int)($HTTP_GET_VARS['m'] / 12);
}
$gm = $HTTP_GET_VARS['m'];
$gj = $HTTP_GET_VARS['dj'];

Kalender($HTTP_GET_VARS['m'], $HTTP_GET_VARS['dj']);

?>
</body>
</html>
Return current item: MyTodos