Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // true visar veckonr till höger, false visar till vänster
- $visa_vecka_h = false;
- ?>
- <?php
- // kontrollera månaden
- if (isset($_GET['sida']) AND preg_match("/^[0-9]+$/", $_GET['sida'])) {
- $manad = $_GET['sida'];
- } else {
- $manad = date("n");
- }
- // kontrollera årtalet
- if (isset($_GET['ar']) AND preg_match("/^[0-9]+$/", $_GET['ar'])) {
- $ar = $_GET['ar'];
- } else {
- $ar = date("Y");
- }
- $svManader = Array('Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 'July' ,'Augusti', 'September', 'Oktober', 'November', 'December' );
- // Antalet dagar i månaden
- $dagarImanaden = date("t", mktime(0,0,0,$manad,1,$ar));
- // Första dagen i månaden
- // 0 = Sön, 1 = Mån osv...
- $forstaDagen = date("w", mktime(0,0,0,$manad,1,$ar));
- // Sista dagen i månaden
- // 0 = Sön, 1 = Mån osv...
- $sistaDagen = date("w", mktime(0,0,0,$manad,$dagarImanaden,$ar));
- // Ändra ordningen så att söndag kommer sist i veckan istället för först
- if ($forstaDagen == 0) {
- $forstaDagen = 7;
- }
- // Kör samma med sista dagen i månaden
- if ($sistaDagen == 0) {
- $sistaDagen = 7;
- }
- // Räkna ut föregående månad och år
- if ($manad == 1) {
- $prevManad = 12;
- $prevAr = $ar-1;
- } else {
- $prevManad = $manad-1;
- $prevAr = $ar;
- }
- // Räkna ut nästa månad och år
- if ($manad == 12) {
- $nextManad = 1;
- $nextAr = $ar+1;
- } else {
- $nextManad = $manad+1;
- $nextAr = $ar;
- }
- // Skriv ut kalendern
- echo "<table width='100%' cellspacing='0' cellpadding='3' border='0' bordercolor='#C6DDFF'>\n";
- echo "<tr class='tableheader'>\n";
- $num = $manad - 1;
- echo "<td colspan='8'><strong><a href='?sida=$sida&$prevManad&ar=$prevAr' title='Föregående månad'>«</a> $svManader[$num] $ar <a href='?sida=$sida&nextManad&ar=$nextAr' title='Nästa månad'>»</a></strong></td>\n";
- echo "</tr>\n";
- echo "<tr class='tableheader'>\n";
- if(!$visa_vecka_h) {
- echo "<td> </td>\n";
- }
- echo "<td><strong>Mån</strong></td>\n";
- echo "<td><strong>Tis</strong></td>\n";
- echo "<td><strong>Ons</strong></td>\n";
- echo "<td><strong>Tor</strong></td>\n";
- echo "<td><strong>Fre</strong></td>\n";
- echo "<td><strong>Lör</strong></td>\n";
- echo "<td><strong>Sön</strong></td>\n";
- if($visa_vecka_h) {
- echo "<td> </td>\n";
- }
- echo "</tr>\n";
- echo "<tr>\n";
- if(!$visa_vecka_h) {
- // Skriv ut första veckonummret
- echo "<td class='tableheader'>". "V.". date('W', mktime(0, 0, 0, $manad, $i, $ar))."</td>\n";
- }
- // Loopa ut tomma dagar om den 1:a inte är en måndag
- $a = 0;
- for ($i = 1; $i < $forstaDagen; $i++) {
- echo "<td class='tableempty'> </td>";
- $a = $i;
- }
- // Loopa ut alla dagar i månaden
- for ($i = 1; $i <= $dagarImanaden; $i++) {
- // är veckan slut så börjar en ny rad
- if (date("w",mktime(0,0,0,$manad,$i-1,$ar)) == 0 && $a != 0) {
- if($visa_vecka_h) {
- echo "<td class='tableheader'>". "V.". date('W', mktime(0, 0, 0, $manad, $i-1, $ar))."</td>\n";
- echo "</tr>\n<tr>\n";
- } else {
- echo "</tr>\n<tr>\n";
- echo "<td class='tableheader'>". "V.". date('W', mktime(0, 0, 0, $manad, $i, $ar))."</td>\n";
- }
- }
- // Skriv ut datumet
- if(date("Y") == $ar && date("n") == $manad && date("j") == $i) {
- // Det är dagens datum
- echo "<td class='tabletoday'><a href='#'>$i<div id='kalender'></a></div></td>\n";
- }
- else {
- echo "<td class='tabledate'><a href='#'>$i<div id='kalender'></a></div></td>\n";
- }
- $a++;
- }
- // Fyll tabellen med tomma celler tills månaden är slut
- for ($i = 7; $i > $sistaDagen; $i--) {
- echo "<td class='tableempty'> </td>";
- }
- if($visa_vecka_h) {
- // Och så sista cellen med det sista veckonumret
- echo "<td class='tableheader'>". "V.". date('W', mktime(0, 0, 0, $manad, $dagarImanaden, $ar))."</td>";
- }
- // Avsluta tabellraden och tabellen
- echo "</tr>\n</table>\n";
- ?>
Advertisement
Add Comment
Please, Sign In to add comment