Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* laver Kalender omridset */
- function draw_calendar($month,$year,$events = array()){
- /* laver tabel omridset */
- $calendar = '<table cellpadding="0" cellspacing="0" class="calendar">';
- /* tabel overskrifter */
- $headings = array('Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag','Søndag');
- $calendar.= '<tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">',$headings).'</td></tr>';
- /* Dage og uger variabler */
- $running_day = date('W',mktime(0,0,0,$month,1,$year));
- $days_in_month = date('t',mktime(0,0,0,$month,1,$year));
- $days_in_this_week = 1;
- $day_counter = 0;
- $dates_array = array();
- /* række for uge 1 */
- $calendar.= '<tr class="calendar-row">';
- /* printer tom celle indtil den første dag i måneden */
- for($x = 0; $x < $running_day; $x++):
- $calendar.= '<td class="calendar-day-np"> </td>';
- $days_in_this_week++;
- endfor;
- /* Dagene i måneden */
- for($list_day = 1; $list_day <= $days_in_month; $list_day++):
- $calendar.= '<td class="calendar-day"><div style="position:relative;height:100px;">';
- /* Tilføjer dag numre */
- $calendar.= '<div class="day-number">'.$list_day.'</div>';
- $event_day = $year.'-'.$month.'-'.$list_day;
- if(isset($events[$event_day])) {
- foreach($events[$event_day] as $event) {
- $calendar.= '<div class="event">'.$event['title'].'</div>';
- }
- }
- else {
- $calendar.= str_repeat('<p> </p>',2);
- }
- $calendar.= '</div></td>';
- if($running_day == 6):
- $calendar.= '</tr>';
- if(($day_counter+1) != $days_in_month):
- $calendar.= '<tr class="calendar-row">';
- endif;
- $running_day = -1;
- $days_in_this_week = 0;
- endif;
- $days_in_this_week++; $running_day++; $day_counter++;
- endfor;
- /* Resten af dagene i ugen */
- if($days_in_this_week < 8):
- for($x = 1; $x <= (8 - $days_in_this_week); $x++):
- $calendar.= '<td class="calendar-day-np"> </td>';
- endfor;
- endif;
- /* Sidste række */
- $calendar.= '</tr>';
- /* Enden af tabelen */
- $calendar.= '</table>';
- /** Sørger for fejl meddelse ikke kommer **/
- $calendar = str_replace('</td>','</td>'."\n",$calendar);
- $calendar = str_replace('</tr>','</tr>'."\n",$calendar);
- /* returner kalender variabel */
- return $calendar;
- }
- function random_number() {
- srand(time());
- return (rand() % 7);
- }
- /* date settings */
- $month = (int) ($_GET['month']);
- $year = (int) ($_GET['year']);
- /* select month control */
- $select_month_control = '<select name="month" id="month">';
- for($x = 1; $x <= 12; $x++) {
- $select_month_control.= '<option value="'.$x.'"'.($x != $month ? '' : ' selected="selected"').'>'.date('F',mktime(0,0,0,$x,1,$year)).'</option>';
- }
- $select_month_control.= '</select>';
- /* select year control */
- $year_range = 7;
- $select_year_control = '<select name="year" id="year">';
- for($x = ($year-floor($year_range/2)); $x <= ($year+floor($year_range/2)); $x++) {
- $select_year_control.= '<option value="'.$x.'"'.($x != $year ? '' : ' selected="selected"').'>'.$x.'</option>';
- }
- $select_year_control.= '</select>';
- /* "next month" control */
- $next_month_link = '<a href="?month='.($month != 12 ? $month + 1 : 1).'&year='.($month != 12 ? $year : $year + 1).'" class="control">Next Month >></a>';
- /* "previous month" control */
- $previous_month_link = '<a href="?month='.($month != 1 ? $month - 1 : 12).'&year='.($month != 1 ? $year : $year - 1).'" class="control"><< Previous Month</a>';
- /* bringing the controls together */
- $controls = '<form method="get">'.$select_month_control.$select_year_control.' <input type="submit" name="submit" value="Go" /> '.$previous_month_link.' '.$next_month_link.' </form>';
- /* get all events for the given month */
- $events = array();
- $query = "SELECT title, DATE_FORMAT(event_date,'%Y-%m-%D') AS event_date FROM events WHERE event_date LIKE '$year-$month%'";
- $result = mysqli_query($query,$db_link) or die('cannot get results!');
- while($row = mysql_fetch_assoc($result)) {
- $events[$row['event_date']][] = $row;
- }
- echo '<h2 style="float:left; padding-right:30px;">'.date('F',mktime(0,0,0,$month,1,$year)).' '.$year.'</h2>';
- echo '<div style="float:left;">'.$controls.'</div>';
- echo '<div style="clear:both;"></div>';
- echo draw_calendar($month,$year,$events);
- echo '<br /><br />';
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement