home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / groupoffice-com-2.01 / modules / projects / calendar.inc < prev    next >
Text File  |  2004-03-08  |  3KB  |  133 lines

  1. <?php
  2. /*////////////////////////////////////////////////////////////////////////////////
  3. //                                                                                //
  4. // Author: Merijn Schering <mschering@intermesh.nl>                                   //
  5. // Version: 1.0 Release date: 14 March 2003                                        //
  6. //                                                                                //
  7. ////////////////////////////////////////////////////////////////////////////////*/
  8.  
  9. $time = time();
  10. $today = date("j", $time);
  11. $this_year = date("Y", $time);
  12. $this_month = date("m", $time);
  13.  
  14. $day = isset($day) ? $day : $today;
  15. $month = isset($month) ? $month : $this_month;
  16. $year = isset($year) ? $year : $this_year;
  17.  
  18.  
  19. $daystart = 1;
  20.  
  21. $years[0] = $year - 2;
  22. $years[1] = $year - 1;
  23. $years[2] = $year;
  24. $years[3] = $year + 1;
  25. $years[4] = $year + 2;
  26.  
  27. // NUMBER OF DAYS IN MONTH
  28. $days_in_month = mktime (0,0,0,$month+1,0,$year);
  29. $days_in_month = (strftime ("%d",$days_in_month));
  30.  
  31. if ($day > $days_in_month)
  32. {
  33.     $day = $day - $days_in_month;
  34.     if ($month < 12)
  35.     {
  36.         $month++;
  37.     }else
  38.     {
  39.         $month=1;
  40.         $year++;
  41.     }
  42.  
  43.     $days_in_month = mktime (0,0,0,$month+1,0,$year);
  44.     $days_in_month = (strftime ("%d",$days_in_month));
  45. }
  46.  
  47. $first_day_of_month = date("w", mktime(0,0,0,$month,1,$year));
  48.  
  49. $month_numbers[0] = '1';
  50. $month_numbers[1] = '2';
  51. $month_numbers[2] = '3';
  52. $month_numbers[3] = '4';
  53. $month_numbers[4] = '5';
  54. $month_numbers[5] = '6';
  55. $month_numbers[6] = '7';
  56. $month_numbers[7] = '8';
  57. $month_numbers[8] = '9';
  58. $month_numbers[9] = '10';
  59. $month_numbers[10] = '11';
  60. $month_numbers[11] = '12';
  61. $dropbox = new dropbox();
  62. $dropbox->add_arrays($month_numbers, $months);
  63. $dropbox->print_dropbox('month',$month, 'onchange="document.forms[0].submit()"');
  64.  
  65. $dropbox = new dropbox();
  66. $dropbox->add_arrays($years, $years);
  67. $dropbox->print_dropbox('year',$year, 'onchange="document.forms[0].submit()"');
  68.  
  69. echo '<input type="hidden" name="day" value="'.$day.'" />';
  70.  
  71. echo '<table border="0" cellpadding="0" cellspacing="3">';
  72. echo '<tr><td> </td>';
  73.  
  74. $day_number = $daystart;
  75. for ($i=0;$i<7;$i++)
  76. {
  77.     if ($day_number == 7) $day_number = 0;
  78.     echo '<td align="center" class="small">'.$days[$day_number].'</td>';
  79.     $day_number++;
  80. }
  81. echo '</tr>';
  82.  
  83. $cellcount=$first_day_of_month-$daystart;
  84. if ($cellcount < 0) $cellcount = 7 + $cellcount;
  85.  
  86. echo '<tr>';
  87. //$week_number = intval(strftime("%V",mktime(0,0,0,$month,1,$year)));
  88. $week_number = date("W", mktime(0,0,0,$month,1,$year));
  89.  
  90. echo '<td class="small"><i>'.$week_number.'</i> </td>';
  91. for ($i=1;$i<=$cellcount;$i++)
  92. {
  93.     echo '<td> </td>';
  94. }
  95.  
  96. for ($i=1;$i<=$days_in_month;$i++)
  97. {
  98.     if ($cellcount == 7)
  99.     {
  100.         echo "</tr><tr>\n";
  101.         $week_number++;
  102.         echo '<td class="small"><i>'.$week_number.'</i> </td>';
  103.         $cellcount=0;
  104.     }
  105.     $cellcount++;
  106.     if ($i == $day)
  107.         $class="HoverLinkSelected";
  108.     else
  109.         $class="HoverLink";
  110.  
  111.     echo '<td align="center"><a class="'.$class.'" href="javascript:post_day('.$i.')">'.$i.'</a></td>';
  112.  
  113. }
  114. $remaining_cells = 7-$cellcount;
  115.  
  116. for ($i=0;$i<$remaining_cells;$i++)
  117. {
  118.     echo '<td> </td>';
  119. }
  120.  
  121. echo '</tr>';
  122. echo '</table>';
  123.  
  124. ?>
  125. <script type="text/javascript" language="javascript">
  126.  
  127. function post_day(day)
  128. {
  129.     document.forms[0].day.value=day;
  130.     document.forms[0].submit();
  131. }
  132.  
  133. </script>