day = $day; $this->month = $month; $this->year = $year; $this->h = $h; $this->area = $area; $this->room = $room; $this->dmy = $dmy; } function getCalendarLink($month, $year) { return ""; } #Liens vers une une date donnée. function getDateLink($day, $month, $year) { global $vocab; if ($this->dmy=='day') return "area; if ($this->dmy!='day') return "area; } #Calcule le nombre de jours dans un mois en tenant compte des années bissextiles. function getDaysInMonth($month, $year) { if ($month < 1 || $month > 12) return 0; $days = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); $d = $days[$month - 1]; if ($month == 2) { #Vérification de l'année bissextile. if ($year%4 == 0) { if ($year%100 == 0) { if ($year%400 == 0) $d = 29; } else $d = 29; } } return $d; } function getFirstDays() { global $weekstarts; $basetime = mktime(12,0,0,6,11+$weekstarts,2000); for ($i = 0, $s = ""; $i < 7; $i++) { $show = $basetime + ($i * 24 * 60 * 60); $fl = strftime('%a',$show); $s .= "
\n"; $s .= " | "; #Permet de récupérer le numéro de la 1ere semaine affichée par le mini calendier. $week = number_format(strftime("%W",$date),0); if (($this->dmy!='day') and ($this->dmy!='week_all') and ($this->dmy!='month_all')) $s .= "year&month=$this->month&day=1&area=$this->area&room=$this->room\">$monthName $this->year"; else $s .= "year&month=$this->month&day=1&area=$this->area\">$monthName $this->year"; $s .= " | \n"; $s .= "||||||
\n"; $s .= $this->getFirstDays(); $s .= " | |||||||
"; #Affichage du numéro de la semaine en cours à droite du calendrier et génère un lien sur la semaine voulue. if (($this->dmy!='day') and ($this->dmy!='week_all') and ($this->dmy!='month_all')) $s .="year&month=$this->month&day=$temp&area=$this->area&room=$this->room\">s".$week.""; else $s .="year&month=$this->month&day=$temp&area=$this->area\">s".$week.""; $temp=$temp+7; while (!checkdate($this->month, $temp, $this->year)) $temp--; #Ancien affichage, affichait le numéro de la semaine dans le mois. $numweek++; #Nouveau affichage, affiche le numéro de la semaine dans l'année.Incrémentation de ce numéro à chaque nouvelle semaine. $week++; $s .= " | \n"; for ($i = 0; $i < 7; $i++) { $s .= ""; if ($d > 0 && $d <= $daysInMonth) { $link = $this->getDateLink($d, $this->month, $this->year); if ($link == "") $s .= $d; #Permet de colorer la date affichée sur la page elseif (($d == $this->day) and ($this->h)) $s .= $link.">$d"; else $s .= $link.">$d"; } else $s .= " "; $s .= " | \n"; $d++; } $s .= "