Guest User

Untitled

a guest
Mar 31st, 2011
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.77 KB | None | 0 0
  1.  
  2. <?php
  3. // true visar veckonr till höger, false visar till vänster
  4. $visa_vecka_h = false;
  5. ?>
  6.  
  7. <?php
  8. // kontrollera månaden
  9. if (isset($_GET['sida']) AND preg_match("/^[0-9]+$/", $_GET['sida'])) {
  10. $manad = $_GET['sida'];
  11. } else {
  12. $manad = date("n");
  13. }
  14.  
  15. // kontrollera årtalet
  16. if (isset($_GET['ar']) AND preg_match("/^[0-9]+$/", $_GET['ar'])) {
  17. $ar = $_GET['ar'];
  18. } else {
  19. $ar = date("Y");
  20. }
  21.  
  22. $svManader = Array('Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 'July' ,'Augusti', 'September', 'Oktober', 'November', 'December' );
  23.  
  24. // Antalet dagar i månaden
  25. $dagarImanaden = date("t", mktime(0,0,0,$manad,1,$ar));
  26.  
  27. // Första dagen i månaden
  28. // 0 = Sön, 1 = Mån osv...
  29. $forstaDagen = date("w", mktime(0,0,0,$manad,1,$ar));
  30.  
  31. // Sista dagen i månaden
  32. // 0 = Sön, 1 = Mån osv...
  33. $sistaDagen = date("w", mktime(0,0,0,$manad,$dagarImanaden,$ar));
  34.  
  35. // Ändra ordningen så att söndag kommer sist i veckan istället för först
  36. if ($forstaDagen == 0) {
  37. $forstaDagen = 7;
  38. }
  39.  
  40. // Kör samma med sista dagen i månaden
  41. if ($sistaDagen == 0) {
  42. $sistaDagen = 7;
  43. }
  44.  
  45. // Räkna ut föregående månad och år
  46. if ($manad == 1) {
  47. $prevManad = 12;
  48. $prevAr = $ar-1;
  49. } else {
  50. $prevManad = $manad-1;
  51. $prevAr = $ar;
  52. }
  53.  
  54. // Räkna ut nästa månad och år
  55. if ($manad == 12) {
  56. $nextManad = 1;
  57. $nextAr = $ar+1;
  58. } else {
  59. $nextManad = $manad+1;
  60. $nextAr = $ar;
  61. }
  62.  
  63. // Skriv ut kalendern
  64. echo "<table width='100%' cellspacing='0' cellpadding='3' border='0' bordercolor='#C6DDFF'>\n";
  65. echo "<tr class='tableheader'>\n";
  66. $num = $manad - 1;
  67. echo "<td colspan='8'><strong><a href='?sida=$sida&$prevManad&ar=$prevAr' title='Föregående månad'>&laquo;</a> $svManader[$num] $ar <a href='?sida=$sida&nextManad&ar=$nextAr' title='Nästa månad'>&raquo;</a></strong></td>\n";
  68. echo "</tr>\n";
  69. echo "<tr class='tableheader'>\n";
  70. if(!$visa_vecka_h) {
  71. echo "<td>&nbsp;</td>\n";
  72. }
  73. echo "<td><strong>Mån</strong></td>\n";
  74. echo "<td><strong>Tis</strong></td>\n";
  75. echo "<td><strong>Ons</strong></td>\n";
  76. echo "<td><strong>Tor</strong></td>\n";
  77. echo "<td><strong>Fre</strong></td>\n";
  78. echo "<td><strong>Lör</strong></td>\n";
  79. echo "<td><strong>Sön</strong></td>\n";
  80. if($visa_vecka_h) {
  81. echo "<td>&nbsp;</td>\n";
  82. }
  83. echo "</tr>\n";
  84. echo "<tr>\n";
  85.  
  86. if(!$visa_vecka_h) {
  87. // Skriv ut första veckonummret
  88. echo "<td class='tableheader'>". "V.". date('W', mktime(0, 0, 0, $manad, $i, $ar))."</td>\n";
  89. }
  90.  
  91. // Loopa ut tomma dagar om den 1:a inte är en måndag
  92. $a = 0;
  93. for ($i = 1; $i < $forstaDagen; $i++) {
  94. echo "<td class='tableempty'>&nbsp;</td>";
  95. $a = $i;
  96. }
  97.  
  98. // Loopa ut alla dagar i månaden
  99. for ($i = 1; $i <= $dagarImanaden; $i++) {
  100. // är veckan slut så börjar en ny rad
  101. if (date("w",mktime(0,0,0,$manad,$i-1,$ar)) == 0 && $a != 0) {
  102. if($visa_vecka_h) {
  103. echo "<td class='tableheader'>". "V.". date('W', mktime(0, 0, 0, $manad, $i-1, $ar))."</td>\n";
  104. echo "</tr>\n<tr>\n";
  105. } else {
  106. echo "</tr>\n<tr>\n";
  107. echo "<td class='tableheader'>". "V.". date('W', mktime(0, 0, 0, $manad, $i, $ar))."</td>\n";
  108. }
  109. }
  110. // Skriv ut datumet
  111. if(date("Y") == $ar && date("n") == $manad && date("j") == $i) {
  112. // Det är dagens datum
  113. echo "<td class='tabletoday'><a href='#'>$i<div id='kalender'></a></div></td>\n";
  114. }
  115. else {
  116. echo "<td class='tabledate'><a href='#'>$i<div id='kalender'></a></div></td>\n";
  117. }
  118. $a++;
  119. }
  120. // Fyll tabellen med tomma celler tills månaden är slut
  121. for ($i = 7; $i > $sistaDagen; $i--) {
  122. echo "<td class='tableempty'>&nbsp;</td>";
  123. }
  124.  
  125. if($visa_vecka_h) {
  126. // Och så sista cellen med det sista veckonumret
  127. echo "<td class='tableheader'>". "V.". date('W', mktime(0, 0, 0, $manad, $dagarImanaden, $ar))."</td>";
  128. }
  129. // Avsluta tabellraden och tabellen
  130. echo "</tr>\n</table>\n";
  131. ?>
Advertisement
Add Comment
Please, Sign In to add comment