"Mandag",2=>"Tirsdag",3=>"Onsdag",4=>"Torsdag",5=>"Fredag",6=>"Lørdag",7=>"Søndag"); var $monthsName = array(1=>"Januar",2=>"Februar",3=>"Marts",4=>"April",5=>"Maj",7=>"Juni",8=>"Juli",9=>"August",10=>"September",11=>"November",12=>"December"); // Names for days and months // Days is 1=Monday to 7=Sunday var $css_th_dayname = "dayname"; var $css_th_subject = "subject"; var $css_th_empty = "notused"; var $css_file = "stylesheet.css"; var $css_td_weeknumber = "weeknumber"; var $css_td_today = "today"; var $css_td_lastmonth = "lastmonth"; var $css_td_nextmonth = "nextmonth"; var $css_td_date = "date"; var $css_table = "table"; var $css_tr = "tr"; // Stylesheets var $lineFormat = false; // Show dates in a line or in a table var $dateFormat_month = "m"; var $dateFormat_day = "d"; var $dateFormat_year = "Y"; var $dateFormat_between = "-"; // Date format var $showWeekNumber = true; var $showSubject = true; // Show settings var $setDoctype = true; // Show FULL html (with header and body) var $strict_doctype = true; // TRUE = XHTML 1.0 strict, FALSE = HTML 4.1 // Doctype and show var $_daysPrRow = 0; var $_selected_year; var $_selected_month; var $_selected_day; // Private vars function Calendar($month=false,$day=false,$year=false) { if(!$month) $this->_selected_month=date("n"); else $this->_selected_month=$month; if(!$year) $this->_selected_year=date("Y"); else $this->_selected_year=$year; if(!$day) $this->_selected_day=date("j"); else $this->_selected_day=$day; } function _isToday($day,$month,$year) { list($d,$m,$y) = explode("-",date("j-n-Y")); if($d==$day && $m==$month && $y==$year) return true; else return false; } function _setDaysPrRow() { $i=1; while ($i<8) { if($this->_showDay($i)) $this->_daysPrRow++; $i++; } if($this->lineFormat) $this->_daysPrRow=1; } function _getDaysName($daynumber) { return $this->daysName[$daynumber]; } function _getMonthsName($monthnumber) { return $this->monthsName[$monthnumber]; } function _getWeekNumber($day,$month,$year) { return date("W",mktime(0,0,0,$month,$day,$year)); } function _getStartDayInMonth($month,$year) { return 7-((7-date("w",mktime(0,0,0,$month,1,$year)))%(7+date("w",mktime(0,0,0,$month,1,$year)))); } function _getNumberofDaysInMonth($month,$year) { return date("t",mktime(0,0,0,$month,1,$year)); } function _getNumberofDaysInLastMonth($month,$year) { return date("t",mktime(0,0,0,$month,1,$year)); } function _showDay($daynumber) { switch($daynumber) { case 1: return $this->showMonday; break; case 2: return $this->showTuesday; break; case 3: return $this->showWednesday; break; case 4: return $this->showThursday; break; case 5: return $this->showFriday; break; case 6: return $this->showSaturday; break; case 7: return $this->showSunday; break; default: return false; break; } } function getCalendar($title="") { $this->_setDaysPrRow(); $html = ""; if($this->setDoctype) { if($this->strict_doctype) $html .= "\n"; else $html .= "\n"; $html .= "\n"; $html .= "\n"; $html .= "\tcss_file."\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\"".($this->strict_doctype?" /":"").">\n"; $html .= "\t".$title."\n"; $html .= "\n\n"; $html .= "\n"; } $html .= "\n"; if($this->showSubject) { $html .= "\t\n"; $html .= "\t\t\n"; $html .= "\t\n"; } // START DAYNAME BOXES $start=$this->startDay; $firstRun = true; $end=false; $html .= "\t\n"; $html .= "\t\n"; if($this->showWeekNumber) $html .= "\t\t\n"; while(1) { if($start>=8) $start=1; if(!$firstRun) if($start==$this->startDay) break; if($this->_showDay($start)) $html .= "\t\t\n"; $firstRun=false; $start++; } $html .= "\t\n"; $html .= "\t\n\n"; // END DAYNAME BOXES // START LAST MONTH DAYS $start=$this->startDay; $startDay=$this->_getStartDayInMonth($this->_selected_month,$this->_selected_year); $lastMonth=$this->_getNumberofDaysInLastMonth($this->_selected_month-1,$this->_selected_year)+1; if($start!=$startDay) { while (1) { if($start==$startDay) break; $lastMonth--; $start++; } } $start=$this->startDay; $startDay=$this->_getStartDayInMonth($this->_selected_month,$this->_selected_year); $html .= "\n"; if($start!=$startDay) { $html .= "\t\n"; if($this->showWeekNumber) $html .= "\t\t\n"; $rowCounter = 1; while(1) { if($start==$startDay) break; $html .= "\t\t\n"; $start++; $lastMonth++; } } $html .= "\n"; // END LAST MONTH DAYS // START THIS MONTH DAYS $html .= "\n"; $dato = 1; while ($dato<=$this->_getNumberofDaysInMonth($this->_selected_month,$this->_selected_year)) { if($start>7 || $start==1) { $start=1; $html .= "\t\n"; if($this->showWeekNumber) $html .= "\t\t\n"; } if($this->_showDay($start)) $html .= "\t\t\n"; if($start==7) $html .= "\t\n"; $start++; $dato++; } $html .= "\n"; // END THIS MONTH DAYS // START NEXT MONTH DAYS $nextmonth = 1; $html .= "\n"; if($start<8) { while($start<8) { if($this->_showDay($start)) $html .= "\t\t\n"; $start++; $nextmonth++; } $html .= "\t\n"; $html .= "\n"; } // END NEXT MONTH DAYS $html .= "
".date($this->dateFormat.$this->dateFormat_month.$this->dateFormat_between.$this->dateFormat_year,mktime(0,0,0,$this->_selected_month,1,$this->_selected_year))."
 ".$this->_getDaysName($start)."
".$this->_getWeekNumber(1,$this->_selected_month,$this->_selected_year)."".$lastMonth."
".$this->_getWeekNumber($dato,$this->_selected_month,$this->_selected_year)."".$dato."
".$nextmonth."
\n"; if($this->setDoctype) $html .= "\n"; return $html; } function getLastMonth() { $month = $this->_selected_month-1; switch ($month) { case 0: $year = $this->_selected_year-1; $month=12; break; default: $year = $this->_selected_year; break; } return "?selMonth=".$month."&selYear=".$year; } function getNextMonth() { $month = $this->_selected_month+1; switch ($month) { case 13: $year = $this->_selected_year+1; $month = 1; break; default: $year = $this->_selected_year; break; } return "?selMonth=".$month."&selYear=".$year; } } $calendar = new Calendar($_GET["selMonth"],false,$_GET["selYear"]); $calendar->setDoctype=false; echo $calendar->getCalendar(); echo "


"; echo " << "; echo " "; echo " "; echo " "; echo " >> "; ?>