multiple languages OOP PHP 5 Calender (Horizon and Vertical)
Gepost door kaboem op 25-06-2011 15:36.
Met behulp van onder staan script kunt u heel eenvoudig een kalender laten zien aan uw bezoekers in verschillende talen en in verschillende stylen.
De Kalender is zeer eenvoudig aan te passen door middel van CSS naar eigen smaak.
Uitleg
| 1 | $Calender->ShowCalender(1) |
print Kalender dagen bovenin en de Week numers links in de kalender
| 1 | $Calender->ShowCalender(0) |
print Kalender dagen links en de Week numers bovenin de kalender
index.php (voorbeeld pagina)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | <?php
include('includes/functions.php');
$ThisYear = date('Y');
$ThisMonths = date('n');
$Languages = array(0 =>'Nederlands:nl_NL', 'English:en_EN', 'Deutsch:de_DE', 'español:es_ES', 'française:fr_FR');
//Little Extra Security
$_GET['m'] = (is_numeric($_GET['m']) ?$_GET['m']:'');
$_GET['y'] = (is_numeric($_GET['y']) ?$_GET['y']:'');
$_GET['lang'] = (is_numeric($_GET['lang']) ?$_GET['lang']:'');
$m = ( ( (!empty($_GET['m'])) AND ($_GET['m'] >=1) AND ($_GET['m']<=12) ) ? $_GET['m'] : $ThisMonths);
$y = ( ( (!empty($_GET['y'])) AND ($_GET['y'] >=($ThisYear-10)) AND ($_GET['y']<=$ThisYear) ) ? $_GET['y'] : $ThisYear);
$Lang = (!empty($Languages[$_GET['lang']])?$_GET['lang']:1); //en_EN is default lang
list($LangSpeakOut, $SelectedLang) = explode (':', $Languages[$Lang]);
list($XMLLang) = explode ('_', $SelectedLang);
######### CALENDER CLASS #########
$Calender = new Calender($m, $y, $SelectedLang);
$Months = $Calender->GetMonths(); //Get Months
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?=$XMLLang;?>" lang="<?=$XMLLang;?>" dir="ltr">
<head>
<title>Calender</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="<?=$SelectedLang;?>" />
<link href="styles/style.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div class="wrapper">
<a href="?lang=<?=$Lang?>">Deze maand</a><br />
<form action="" method="get">
<input type="hidden" name="m" value="<?=$m;?>" />
<input type="hidden" name="y" value="<?=$y;?>" />
<select name="lang" onchange="submit()">
<option>Select a language</option>
<?php
for ($i=0;$i<count($Languages);++$i)
{
list ($Language, $LangLocal) = explode(':',$Languages[$i]);
print '<option value="'.$i.'"'. ( ( (isset($Lang)) AND ($Lang == $i) ) ? ' selected="selected"': ( ( (!isset($Lang)) AND ($i== $ThisMonths) )?' selected="selected"':'')).'>'.$Language.'</option>'."\n";
}
?>
</select>
</form>
<br />
<form action="" method="get">
<input type="hidden" name="lang" value="<?=$Lang;?>" />
<table width="900" border="1" cellspacing="0" cellpadding="2">
<tr>
<td width="50%" align="right" class="CalenderNav" height="29" nowrap="nowrap">
<select name="m">
<option>Kies een maand</option>
<?php
for ($i=0;$i<count($Months);++$i)
{
print '<option value="'.$i.'"'. ( ( (!empty($m)) AND ($m == $i) ) ? ' selected="selected"': ( ( (empty($m)) AND ($i== $ThisMonths) )?' selected="selected"':'')).'>'.$Months[$i].'</option>'."\n";
}
?>
</select>
</td>
<td align="left" class="CalenderNav">
<select name="y">
<?php
for ($i = 0;$i<=10;++$i)
{
print '<option value="'.($ThisYear-$i).'"'. ( ( (!empty($y)) AND ($y == ($ThisYear-$i)) ) ? ' selected="selected"': ( ( (empty($y)) AND (($ThisYear-$i)== $ThisYear) ) ?' selected="selected"':'')).'>'.($ThisYear-$i).'</option>'."\n";
}
?>
</select>
<input type="submit" value=" >> " />
</td>
</tr>
</table>
</form>
<?=$Calender->ShowCalender(1);/* print Calender Days on top Week numbers on left */?>
<br /><br />
<form action="" method="get">
<table width="800" border="1" cellspacing="0" cellpadding="2">
<tr>
<td width="50%" align="right" class="CalenderNav" height="29" nowrap="nowrap">
<select name="m">
<option>Kies een maand</option>
<?php
for ($i=0;$i<count($Months);++$i)
{
print '<option value="'.$i.'"'. ( ( (!empty($_GET['m'])) AND ($_GET['m'] == $i) ) ? ' selected="selected"': ( ( (empty($_GET['m'])) AND ($i== $ThisMonths) )?' selected="selected"':'')).'>'.$Months[$i].'</option>';
}
?>
</select>
</td>
<td align="left" class="CalenderNav">
<select name="y">
<?php
for ($i = 0;$i<=10;++$i)
{
print '<option value="'.($ThisYear-$i).'"'. ( ( (!empty($y)) AND ($y == ($ThisYear-$i)) ) ? ' selected="selected"': ( ( (empty($y)) AND (($ThisYear-$i)== $ThisYear) ) ?' selected="selected"':'')).'>'.($ThisYear-$i).'</option>';
}
?>
</select>
<input type="submit" value=" >> " /></td>
</tr>
</table>
</form>
<?=$Calender->ShowCalender(0)/* print Calender Days left Week numbers on top */?>
</div>
<br />
</body>
</html> |
functions.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | <?php
########### CLASS CALENDER ###########
class Calender
{
private $MonthName = array(),$TabelWidthVert=800, $TabelWidthHor=900, $fm, $fy, $nu, $by, $bm, $FirstDay, $FirstMonday, $LastDay, $NumberofWeeks, $local;
########### CONSTRUCTOR ###########
public function __construct($fm, $fy, $local='en_EN')
{
$this->fm=(empty($fm)?date('n'):$fm);
$this->fy=(empty($fy)?date('Y'):$fy);
$this->local=$local;
$this->nu = time();
$this->by = (date('Y', $this->nu) == $fy);
$this->bm = (date('n', $this->nu) == $fm);
$this->FirstDay = mktime(0, 0, 0, $fm, 1, $fy);
$this->FirstMonday = (date('w', $this->FirstDay) != 1 ? mktime(0,0,0,$fm,1-(!date('w', $this->FirstDay) ? 6 : date('w', $this->FirstDay) - 1),$fy) : $this->FirstDay);
$this->LastDay = mktime(0, 0, 0, $fm, date('t', mktime(0, 0, 0, $fm, 1, $fy)),$fy);
$this->LastSunday = (date('w', $this->LastDay)? mktime(0, 0, 0, $fm+1, 7 - date('w',$this->LastDay), $fy) : $this->LastDay);
$edz = ( ( ($fm == 1) AND (date('Y', $this->FirstMonday) != $fy )) ? date('z', mktime(0,0,0,12,31,$fy-1))+1 : ( ( ($fm == 12) AND (date('Y', $this->LastSunday) != $fy) ) ? date('z', mktime(0,0,0,12,31,$fy))+1: 0));
$this->NumberofWeeks = (date('z', $this->LastSunday) + $edz - date('z', $this->FirstMonday) + 1)/7;
$this->FillMonths();
}
public function __destruct()
{
//Do whatever you want ;-)
}
########### FILLMONTHS ###########
private function FillMonths()
{
for($i=1; $i <= 12; ++$i)
{
$this->MonthName[] = $this->DateTime(mktime(1, 0, 0, $i, 1, $this->fy),2);
}
}
########### GETMONTHS ###########
public function GetMonths()
{
return $this->MonthName;
}
private function DateTime($Time, $DateTime=0)
{
setlocale(LC_ALL, $this->local);
$Time=(empty($Time)?time():$Time);
$StrTime = ($DateTime==1 ? strftime("%A" , $Time) : ($DateTime==2 ? strftime("%B" , $Time) : strftime("%A %d %b %Y" , $Time)));
return ucfirst($StrTime);
}
########### SHOWCALENDER ###########
public function ShowCalender($CalenderType=1)
{
$CalenderType = ($CalenderType==1?1:0);
$html = "\n".'<table width="'.($CalenderType==1 ?$this->TabelWidthHor:$this->TabelWidthVert).'" border="0" cellspacing="0" cellpadding="2" style="border:1px solid #000;border-bottom:0;">'."\n";
$html .= '<tr>'."\n";
$html .= '<td class="CalenderNav" align="center" style="width:151px" nowrap="nowrap"><a href="'.$_SERVER['PHP_SELF'].'?m='.($this->fm > 1 ? $this->fm-1 : 12).'&y='.($this->fm > 1 ? $this->fy : $this->fy-1).'">Vorige maand</a></td>'."\n";
$html .= '<td class="MonthName" style="border-left:1px solid #000;border-right:1px solid #000;" align="center">';
$html .= $this->MonthName[$this->fm].' '.$this->fy;
$html .= '</td>'."\n";
$html .= '<td class="CalenderNav" align="center" style="width:134px" nowrap="nowrap"><a href="'.$_SERVER['PHP_SELF'].'?m='.($this->fm < 12 ? $this->fm+1: 1).'&y='.($this->fm < 12 ? $this->fy : $this->fy+1).'">Volgende maand</a></td>'."\n";
$html .= '</tr>'."\n";
$html .= '</table>'."\n";
$html .= "\n".'<table width="'.($CalenderType==1 ?$this->TabelWidthHor:$this->TabelWidthVert).'" border="0" cellspacing="0" cellpadding="2" style="border:1px solid #000;">'."\n";
$html .= '<tr>'."\n";
if ($CalenderType==1 )
{
$html .= '<td class="WeekNumbers2"> </td>';
for($i=0; $i < 7; ++$i)
{
$html .= '<td class="CalenderDays2" title="'.$this->DateTime(($this->FirstMonday+(86400*$i)), 1).'">'.$this->DateTime(($this->FirstMonday+(86400*$i)), 1).'</td>'."\n";
}
$html .= '</tr>'."\n";
for($d = 0; $d < $this->NumberofWeeks; ++$d)
{
$html .= '<tr>'."\n";
$week = date("W", $this->FirstMonday + $d * 604800 + 3600); // seconden in een week + een uur
$html .= '<td class="WeekNumbers2" title="Week '.(($week < 10) ? $week : $week).'">'.(($week < 10) ? $week : $week).'</td>'."\n";
for($w = 0; $w < 7; ++$w)
{
$dag = $this->FirstMonday+($w+$d*7)*86400 + 3600;
$dagnummer = date('j', $dag);
$bd = (date('j', $this->nu) == $dagnummer);
$html .= '<td'.(date('n', $dag) != $this->fm ? ' class="OutSideMoth"': ( ( ( ($this->by) AND ($this->bm) ) AND $bd) ? ' class="Today"' : ' class="CalenderDay"')).' style="border-left:1px solid #000;border-top:1px solid #000;text-align:center">';
$html .= '<a href="'.$_SERVER['PHP_SELF'].'?Dag='.date('d-m-Y', $dag).'&m='.$this->fm.'&y='.$this->fy.'&lang='.$_GET['lang'].'" title="'.$this->DateTime($dag).'">'.($dagnummer < 10 ? 0 : '').$dagnummer.'</a>';
$html .= '</td>'."\n";
}
$html .= '</tr>'."\n";
}
}
else
{
$html .= '<td class="WeekNumbers2"> </td>';
for($i=0; $i < $this->NumberofWeeks; ++$i)
{
$week = date("W", $this->FirstMonday + $i * 604800 + 3600); // seconden in een week + een uur
$html .= '<td class="WeekNumbers" title="Week '.(($week < 10) ? $week : $week).'">Week '.(($week < 10) ? $week : $week).'</td>'."\n";
}
$html .= '</tr>'."\n";
for($d = 0; $d < 7; ++$d)
{
$html .= '<tr>'."\n";
$html .= '<td class="CalenderDays" title="'.$this->DateTime(($this->FirstMonday+(86400*$d)),1).'">'.$this->DateTime(($this->FirstMonday+(86400*$d)),1).'</td>'."\n";
for($w = 0; $w < $this->NumberofWeeks; ++$w)
{
$dag = $this->FirstMonday+($w*7+$d)*86400 + 3600;
$dagnummer = date('j', $dag);
$bd = (date('j', $this->nu) == $dagnummer);
$html .= '<td'.(date('n', $dag) != $this->fm ? ' class="OutSideMoth"': ( ( ( ($this->by) AND ($this->bm) ) AND $bd) ? ' class="Today"' : ' class="CalenderDay"')).' style="border-left:1px solid #000;border-top:1px solid #000;text-align:center">';
$html .= '<a href="'.$_SERVER['PHP_SELF'].'?Dag='.date('d-m-Y', $dag).'&m='.$this->fm.'&y='.$this->fy.'&lang='.$_GET['lang'].'" title="'.$this->DateTime($dag).'">'.($dagnummer < 10 ? 0 : '').$dagnummer.'</a>';
$html .= '</td>'."\n";
}
$html .= '</tr>'."\n";
}
}
$html .= '</table>'."\n";
return $html;
}
}
?> |
style.css
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | body { margin:0; cursor:default; } .wrapper { margin:0 auto 0 auto; width:1002px; overflow:hidden; } a { font: bold 10pt Verdana; color:#000; text-decoration:none; } a:hover { text-decoration:underline; } select { font:normal 9pt Arial; color:#000; } .MonthName { font:bold 14pt Arial; color:#fff; background-color: #215d7e; } .CalenderNav { background-color: #215d7e; } .CalenderNav a { font:bold 9pt Arial; color:#fff; display:block; text-decoration:none; } .WeekNumbers { font:bold 10pt Verdana; background-color: #e2e2e2; width:40px; height:20px; border-left:1px solid #000; text-align:center; overflow:hidden; } .WeekNumbers2 { padding:0; font:bold 10pt Verdana; background-color: #e2e2e2; width:40px; height:20px; text-align:center; overflow:hidden; } .CalenderDays { padding:0; padding-left:10px; font:bold 10pt Verdana; background-color: #e2e2e2; width:120px; height:60px; overflow:hidden; } .CalenderDays2 { padding:0; font:bold 10pt Verdana; background-color: #e2e2e2; text-align:center; width:120px; border-top:1px solid #000; border-left:1px solid #000; overflow:hidden; } .OutSideMoth { width:120px; background-color: #ecebeb; } .OutSideMoth a { font:normal 9pt Verdana; color:#000; text-decoration:none; } .Today { width:120px; height:60px; background-color: #00cccc; } .Today a { display:block; font:bold 12pt Verdana; color:#000; text-decoration:none; height:60px; line-height:60px; overflow:hidden; } .CalenderDay { margin:0; padding:0; width:120px; height:60px; text-align:center; } .CalenderDay a { display:block; font:normal 10pt Verdana; color:#000; text-decoration:none; width:120px; height:60px; line-height:60px; overflow:hidden; } |
Bestanden van dit script
Kalender/includes/functions.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | <?php
########### CLASS CALENDER ###########
class Calender
{
private $MonthName = array(),$TabelWidthVert=800, $TabelWidthHor=900, $fm, $fy, $nu, $by, $bm, $FirstDay, $FirstMonday, $LastDay, $NumberofWeeks, $local;
########### CONSTRUCTOR ###########
public function __construct($fm, $fy, $local='en_EN')
{
$this->fm=(empty($fm)?date('n'):$fm);
$this->fy=(empty($fy)?date('Y'):$fy);
$this->local=$local;
$this->nu = time();
$this->by = (date('Y', $this->nu) == $fy);
$this->bm = (date('n', $this->nu) == $fm);
$this->FirstDay = mktime(0, 0, 0, $fm, 1, $fy);
$this->FirstMonday = (date('w', $this->FirstDay) != 1 ? mktime(0,0,0,$fm,1-(!date('w', $this->FirstDay) ? 6 : date('w', $this->FirstDay) - 1),$fy) : $this->FirstDay);
$this->LastDay = mktime(0, 0, 0, $fm, date('t', mktime(0, 0, 0, $fm, 1, $fy)),$fy);
$this->LastSunday = (date('w', $this->LastDay)? mktime(0, 0, 0, $fm+1, 7 - date('w',$this->LastDay), $fy) : $this->LastDay);
$edz = ( ( ($fm == 1) AND (date('Y', $this->FirstMonday) != $fy )) ? date('z', mktime(0,0,0,12,31,$fy-1))+1 : ( ( ($fm == 12) AND (date('Y', $this->LastSunday) != $fy) ) ? date('z', mktime(0,0,0,12,31,$fy))+1: 0));
$this->NumberofWeeks = (date('z', $this->LastSunday) + $edz - date('z', $this->FirstMonday) + 1)/7;
$this->FillMonths();
}
public function __destruct()
{
//Do whatever you want ;-)
}
########### FILLMONTHS ###########
private function FillMonths()
{
for($i=1; $i <= 12; ++$i)
{
$this->MonthName[] = $this->DateTime(mktime(1, 0, 0, $i, 1, $this->fy),2);
}
}
########### GETMONTHS ###########
public function GetMonths()
{
return $this->MonthName;
}
private function DateTime($Time, $DateTime=0)
{
setlocale(LC_ALL, $this->local);
$Time=(empty($Time)?time():$Time);
$StrTime = ($DateTime==1 ? strftime("%A" , $Time) : ($DateTime==2 ? strftime("%B" , $Time) : strftime("%A %d %b %Y" , $Time)));
return ucfirst($StrTime);
}
########### SHOWCALENDER ###########
public function ShowCalender($CalenderType=1)
{
$CalenderType = ($CalenderType==1?1:0);
$html = "\n".'<table width="'.($CalenderType==1 ?$this->TabelWidthHor:$this->TabelWidthVert).'" border="0" cellspacing="0" cellpadding="2" style="border:1px solid #000;border-bottom:0;">'."\n";
$html .= '<tr>'."\n";
$html .= '<td class="CalenderNav" align="center" style="width:151px" nowrap="nowrap"><a href="'.$_SERVER['PHP_SELF'].'?m='.($this->fm > 1 ? $this->fm-1 : 12).'&y='.($this->fm > 1 ? $this->fy : $this->fy-1).'">Vorige maand</a></td>'."\n";
$html .= '<td class="MonthName" style="border-left:1px solid #000;border-right:1px solid #000;" align="center">';
$html .= $this->MonthName[$this->fm].' '.$this->fy;
$html .= '</td>'."\n";
$html .= '<td class="CalenderNav" align="center" style="width:134px" nowrap="nowrap"><a href="'.$_SERVER['PHP_SELF'].'?m='.($this->fm < 12 ? $this->fm+1: 1).'&y='.($this->fm < 12 ? $this->fy : $this->fy+1).'">Volgende maand</a></td>'."\n";
$html .= '</tr>'."\n";
$html .= '</table>'."\n";
$html .= "\n".'<table width="'.($CalenderType==1 ?$this->TabelWidthHor:$this->TabelWidthVert).'" border="0" cellspacing="0" cellpadding="2" style="border:1px solid #000;">'."\n";
$html .= '<tr>'."\n";
if ($CalenderType==1 )
{
$html .= '<td class="WeekNumbers2"> </td>';
for($i=0; $i < 7; ++$i)
{
$html .= '<td class="CalenderDays2" title="'.$this->DateTime(($this->FirstMonday+(86400*$i)), 1).'">'.$this->DateTime(($this->FirstMonday+(86400*$i)), 1).'</td>'."\n";
}
$html .= '</tr>'."\n";
for($d = 0; $d < $this->NumberofWeeks; ++$d)
{
$html .= '<tr>'."\n";
$week = date("W", $this->FirstMonday + $d * 604800 + 3600); // seconden in een week + een uur
$html .= '<td class="WeekNumbers2" title="Week '.(($week < 10) ? $week : $week).'">'.(($week < 10) ? $week : $week).'</td>'."\n";
for($w = 0; $w < 7; ++$w)
{
$dag = $this->FirstMonday+($w+$d*7)*86400 + 3600;
$dagnummer = date('j', $dag);
$bd = (date('j', $this->nu) == $dagnummer);
$html .= '<td'.(date('n', $dag) != $this->fm ? ' class="OutSideMoth"': ( ( ( ($this->by) AND ($this->bm) ) AND $bd) ? ' class="Today"' : ' class="CalenderDay"')).' style="border-left:1px solid #000;border-top:1px solid #000;text-align:center">';
$html .= '<a href="'.$_SERVER['PHP_SELF'].'?Dag='.date('d-m-Y', $dag).'&m='.$this->fm.'&y='.$this->fy.'&lang='.$_GET['lang'].'" title="'.$this->DateTime($dag).'">'.($dagnummer < 10 ? 0 : '').$dagnummer.'</a>';
$html .= '</td>'."\n";
}
$html .= '</tr>'."\n";
}
}
else
{
$html .= '<td class="WeekNumbers2"> </td>';
for($i=0; $i < $this->NumberofWeeks; ++$i)
{
$week = date("W", $this->FirstMonday + $i * 604800 + 3600); // seconden in een week + een uur
$html .= '<td class="WeekNumbers" title="Week '.(($week < 10) ? $week : $week).'">Week '.(($week < 10) ? $week : $week).'</td>'."\n";
}
$html .= '</tr>'."\n";
for($d = 0; $d < 7; ++$d)
{
$html .= '<tr>'."\n";
$html .= '<td class="CalenderDays" title="'.$this->DateTime(($this->FirstMonday+(86400*$d)),1).'">'.$this->DateTime(($this->FirstMonday+(86400*$d)),1).'</td>'."\n";
for($w = 0; $w < $this->NumberofWeeks; ++$w)
{
$dag = $this->FirstMonday+($w*7+$d)*86400 + 3600;
$dagnummer = date('j', $dag);
$bd = (date('j', $this->nu) == $dagnummer);
$html .= '<td'.(date('n', $dag) != $this->fm ? ' class="OutSideMoth"': ( ( ( ($this->by) AND ($this->bm) ) AND $bd) ? ' class="Today"' : ' class="CalenderDay"')).' style="border-left:1px solid #000;border-top:1px solid #000;text-align:center">';
$html .= '<a href="'.$_SERVER['PHP_SELF'].'?Dag='.date('d-m-Y', $dag).'&m='.$this->fm.'&y='.$this->fy.'&lang='.$_GET['lang'].'" title="'.$this->DateTime($dag).'">'.($dagnummer < 10 ? 0 : '').$dagnummer.'</a>';
$html .= '</td>'."\n";
}
$html .= '</tr>'."\n";
}
}
$html .= '</table>'."\n";
return $html;
}
}
?> |
Kalender/index.php
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | <?php
include('includes/functions.php');
$ThisYear = date('Y');
$ThisMonths = date('n');
$Languages = array(0 =>'Nederlands:nl_NL', 'English:en_EN', 'Deutsch:de_DE', 'español:es_ES', 'française:fr_FR');
//Little Extra Security
$_GET['m'] = (is_numeric($_GET['m']) ?$_GET['m']:'');
$_GET['y'] = (is_numeric($_GET['y']) ?$_GET['y']:'');
$_GET['lang'] = (is_numeric($_GET['lang']) ?$_GET['lang']:'');
$m = ( ( (!empty($_GET['m'])) AND ($_GET['m'] >=1) AND ($_GET['m']<=12) ) ? $_GET['m'] : $ThisMonths);
$y = ( ( (!empty($_GET['y'])) AND ($_GET['y'] >=($ThisYear-10)) AND ($_GET['y']<=$ThisYear) ) ? $_GET['y'] : $ThisYear);
$Lang = (!empty($Languages[$_GET['lang']])?$_GET['lang']:1); //en_EN is default lang
list($LangSpeakOut, $SelectedLang) = explode (':', $Languages[$Lang]);
list($XMLLang) = explode ('_', $SelectedLang);
######### CALENDER CLASS #########
$Calender = new Calender($m, $y, $SelectedLang);
$Months = $Calender->GetMonths(); //Get Months
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?=$XMLLang;?>" lang="<?=$XMLLang;?>" dir="ltr">
<head>
<title>Calender</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="<?=$SelectedLang;?>" />
<link href="styles/style.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div class="wrapper">
<a href="?lang=<?=$Lang?>">Deze maand</a><br />
<form action="" method="get">
<input type="hidden" name="m" value="<?=$m;?>" />
<input type="hidden" name="y" value="<?=$y;?>" />
<select name="lang" onchange="submit()">
<option>Select a language</option>
<?php
for ($i=0;$i<count($Languages);++$i)
{
list ($Language, $LangLocal) = explode(':',$Languages[$i]);
print '<option value="'.$i.'"'. ( ( (isset($Lang)) AND ($Lang == $i) ) ? ' selected="selected"': ( ( (!isset($Lang)) AND ($i== $ThisMonths) )?' selected="selected"':'')).'>'.$Language.'</option>'."\n";
}
?>
</select>
</form>
<br />
<form action="" method="get">
<input type="hidden" name="lang" value="<?=$Lang;?>" />
<table width="900" border="1" cellspacing="0" cellpadding="2">
<tr>
<td width="50%" align="right" class="CalenderNav" height="29" nowrap="nowrap">
<select name="m">
<option>Kies een maand</option>
<?php
for ($i=0;$i<count($Months);++$i)
{
print '<option value="'.$i.'"'. ( ( (!empty($m)) AND ($m == $i) ) ? ' selected="selected"': ( ( (empty($m)) AND ($i== $ThisMonths) )?' selected="selected"':'')).'>'.$Months[$i].'</option>'."\n";
}
?>
</select>
</td>
<td align="left" class="CalenderNav">
<select name="y">
<?php
for ($i = 0;$i<=10;++$i)
{
print '<option value="'.($ThisYear-$i).'"'. ( ( (!empty($y)) AND ($y == ($ThisYear-$i)) ) ? ' selected="selected"': ( ( (empty($y)) AND (($ThisYear-$i)== $ThisYear) ) ?' selected="selected"':'')).'>'.($ThisYear-$i).'</option>'."\n";
}
?>
</select>
<input type="submit" value=" >> " />
</td>
</tr>
</table>
</form>
<?=$Calender->ShowCalender(1);/* print Calender Days on top Week numbers on left */?>
<br /><br />
<form action="" method="get">
<table width="800" border="1" cellspacing="0" cellpadding="2">
<tr>
<td width="50%" align="right" class="CalenderNav" height="29" nowrap="nowrap">
<select name="m">
<option>Kies een maand</option>
<?php
for ($i=0;$i<count($Months);++$i)
{
print '<option value="'.$i.'"'. ( ( (!empty($_GET['m'])) AND ($_GET['m'] == $i) ) ? ' selected="selected"': ( ( (empty($_GET['m'])) AND ($i== $ThisMonths) )?' selected="selected"':'')).'>'.$Months[$i].'</option>';
}
?>
</select>
</td>
<td align="left" class="CalenderNav">
<select name="y">
<?php
for ($i = 0;$i<=10;++$i)
{
print '<option value="'.($ThisYear-$i).'"'. ( ( (!empty($y)) AND ($y == ($ThisYear-$i)) ) ? ' selected="selected"': ( ( (empty($y)) AND (($ThisYear-$i)== $ThisYear) ) ?' selected="selected"':'')).'>'.($ThisYear-$i).'</option>';
}
?>
</select>
<input type="submit" value=" >> " /></td>
</tr>
</table>
</form>
<?=$Calender->ShowCalender(0)/* print Calender Days left Week numbers on top */?>
</div>
<br />
</body>
</html> |
Commentaar
25-06-2011 15:40
26-06-2011 23:49
27-06-2011 19:08
30-06-2011 22:05
02-08-2011 22:06


