Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private function draw_calendar($month, $year){
- /* draw table */
- $calendar = '<table cellpadding="0" cellspacing="0" class="calendar">';
- /* table headings */
- $headings = array($this->user->lang('SUNDAY'), $this->user->lang('MONDAY'), $this->user->lang('TUESDAY'), $this->user->lang('WEDNESDAY'), $this->user->lang('THURSDAY'), $this->user->lang('FRIDAY'), $this->user->lang('SATURDAY'));
- $calendar .= '<thead class="calendar-head"><tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">', $headings).'</td></tr></thead>';
- /* generation found at http://davidwalsh.name/php-calendar */
- /* days and weeks vars now ... */
- $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();
- /* row for week one */
- $calendar .= '<tr class="calendar-row">';
- /* print "blank" days until the first of the current week */
- for($x = 0; $x < $running_day; $x++) {
- $calendar .= '<td class="calendar-day-np"> </td>';
- $days_in_this_week++;
- }
- /* keep going with days.... */
- for($list_day = 1; $list_day <= $days_in_month; $list_day++) {
- if($list_day == date('j') && $month == date('n') && $year == date('Y')) {
- $calendar .= '<td class="calendar-day calendar-today">';
- }
- else {
- $calendar .= '<td class="calendar-day">';
- }
- /* add in the day number */
- $calendar .= '<div class="day-number">'.$list_day.'</div>';
- $events = $this->events->get_events_of_day($month, $list_day, $year);
- if(!empty($events)) {
- for($i = 0; $i < count($events); $i++) {
- $events[$i]['time_number'] = $this->time_to_number($events[$i]['start'], $this->user->lang('PM'));
- }
- usort($events, function ($a, $b) {
- return strnatcmp($a['time_number'], $b['time_number']);
- });
- }
- foreach($events as $event) {
- $calendar .= '<div class="calendar-event"><p><a href="' . $this->helper->route('event', array('id' => $event['id'])) . '">' . $event['title']. '</a></p>';
- if($event['start'] != NULL) {
- $calendar .= '<span><i class="fa fa-clock-o lazyIcon"></i> ' . $event['start'] . ' - ' . $event['end'] . '</span>';
- }
- $calendar .= '</div>';
- }
- unset($events);
- $calendar .= '</td>';
- if($running_day == 6) {
- $calendar .= '</tr>';
- if(($day_counter+1) != $days_in_month) {
- $calendar .= '<tr class="calendar-row">';
- }
- $running_day = -1;
- $days_in_this_week = 0;
- }
- $days_in_this_week++; $running_day++; $day_counter++;
- }
- /* finish the rest of the days in the week */
- if($days_in_this_week < 8) {
- for($x = 1; $x <= (8 - $days_in_this_week); $x++) {
- $calendar .= '<td class="calendar-day-np"> </td>';
- }
- }
- /* final row */
- $calendar .= '</tr>';
- /* end the table */
- $calendar .= '</table>';
- /* all done, return result */
- return $calendar;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement