Beispiel #1
0
 public static function nextDate($evt, $i)
 {
     $eventTimeZone = null;
     $singledates = iCString::isSerialized($i->dates) ? unserialize($i->dates) : array();
     // returns array
     $period = iCString::isSerialized($i->period) ? unserialize($i->period) : array();
     // returns array
     $startdatetime = $i->startdatetime;
     $enddatetime = $i->enddatetime;
     $weekdays = $i->weekdays;
     $site_today_date = JHtml::date('now', 'Y-m-d');
     $UTC_today_date = JHtml::date('now', 'Y-m-d', $eventTimeZone);
     $next_date = JHtml::date($evt, 'Y-m-d', $eventTimeZone);
     $next_datetime = JHtml::date($evt, 'Y-m-d H:i', $eventTimeZone);
     $start_date = JHtml::date($i->startdatetime, 'Y-m-d', $eventTimeZone);
     $end_date = JHtml::date($i->enddatetime, 'Y-m-d', $eventTimeZone);
     // Check if date from a period with weekdays has end time of the period set in next.
     //		$time_next_datetime	= JHtml::date($next_datetime, 'H:i', $eventTimeZone);
     $time_next_datetime = date('H:i', strtotime($next_datetime));
     $time_startdate = JHtml::date($i->startdatetime, 'H:i', $eventTimeZone);
     $time_enddate = JHtml::date($i->enddatetime, 'H:i', $eventTimeZone);
     $data_next_datetime = date('Y-m-d H:i', strtotime($evt));
     if ($next_date == $site_today_date && $time_next_datetime == $time_enddate) {
         $next_datetime = $next_date . ' ' . $time_startdate;
     }
     if ($period != NULL && in_array($data_next_datetime, $period)) {
         $next_is_in_period = true;
     } else {
         $next_is_in_period = false;
     }
     // Highlight event in progress
     if ($next_date == $site_today_date) {
         $start_span = '<span class="ic-next-today">';
         $end_span = '</span>';
     } else {
         $start_span = $end_span = '';
     }
     $separator = '<span class="ic-datetime-separator"> - </span>';
     // Format Next Date
     if ($next_is_in_period && ($start_date == $end_date || $weekdays != null)) {
         // Next in the period & (same start/end date OR one or more weekday selected)
         $nextDate = $start_span;
         $nextDate .= '<span class="ic-period-startdate">';
         $nextDate .= self::formatDate($evt);
         $nextDate .= '</span>';
         if ($i->displaytime == 1) {
             $nextDate .= ' <span class="ic-single-starttime">' . icagendaEvents::dateToTimeFormat($startdatetime) . '</span>';
             if (icagendaEvents::dateToTimeFormat($startdatetime) != icagendaEvents::dateToTimeFormat($enddatetime)) {
                 $nextDate .= $separator . '<span class="ic-single-endtime">' . icagendaEvents::dateToTimeFormat($enddatetime) . '</span>';
             }
         }
         $nextDate .= $end_span;
     } elseif ($next_is_in_period && $weekdays == null) {
         // Next in the period & different start/end date & no weekday selected
         $start = '<span class="ic-period-startdate">';
         $start .= self::formatDate($startdatetime);
         $start .= '</span>';
         $end = '<span class="ic-period-enddate">';
         $end .= self::formatDate($enddatetime);
         $end .= '</span>';
         if ($i->displaytime == 1) {
             $start .= ' <span class="ic-period-starttime">' . icagendaEvents::dateToTimeFormat($startdatetime) . '</span>';
             $end .= ' <span class="ic-period-endtime">' . icagendaEvents::dateToTimeFormat($enddatetime) . '</span>';
         }
         $nextDate = $start_span . $start . $separator . $end . $end_span;
     } else {
         // Next is a single date
         $nextDate = $start_span;
         $nextDate .= '<span class="ic-single-next">';
         $nextDate .= self::formatDate($evt);
         $nextDate .= '</span>';
         if ($i->displaytime == 1) {
             $nextDate .= ' <span class="ic-single-starttime">' . icagendaEvents::dateToTimeFormat($evt) . '</span>';
         }
         $nextDate .= $end_span;
     }
     return $nextDate;
 }
Beispiel #2
0
    $period = unserialize($item->period);
    $period = is_array($period) ? $period : array();
    $is_in_period = in_array($this_date, $period) ? true : false;
    if ($is_in_period && $item->weekdays == '' && strtotime($item->startdatetime) <= strtotime($date_today) && strtotime($item->enddatetime) >= strtotime($date_today)) {
        $ongoing = true;
    } else {
        $ongoing = false;
    }
    // Day in Date Box (list of events)
    $EVENT_DAY = $this->day_display_global ? icagendaEvents::day($evt, $item) : false;
    // Month in Date Box (list of events)
    $EVENT_MONTHSHORT = $this->month_display_global ? icagendaEvents::dateBox($this_date, 'monthshort', $ongoing) : false;
    // Year in Date Box (list of events)
    $EVENT_YEAR = $this->year_display_global ? icagendaEvents::dateBox($evt, 'year', $ongoing) : false;
    // Time in Date Box (list of events)
    $EVENT_TIME = $this->time_display_global && $item->displaytime == 1 ? icagendaEvents::dateToTimeFormat($evt) : false;
    // Load Event Data
    $EVENT_DATE = iCModeliChelper::nextDate($evt, $item);
    $EVENT_SET_DATE = iCModeliChelper::eventUrlDate($evt);
    $READ_MORE = $this->shortdesc_display_global == '' && !$item->shortdesc ? iCModeliChelper::readMore($item->url, $item->desc, '[&#46;&#46;&#46;]') : false;
    // URL to event details view (list of events)
    if ($datesDisplay == 1) {
        $date_var = $isSef == '1' ? '?date=' : '&amp;date=';
        $set_url_date = $date_var . $EVENT_SET_DATE;
        $date_url = $only_startdate && in_array($this_date, $period) ? '' : $date_var . $EVENT_SET_DATE;
        $EVENT_URL = $item->url . $date_url;
    } else {
        $EVENT_URL = $item->url;
    }
} else {
    $EVENT_URL = $item->url;
Beispiel #3
0
 protected function evenTime($i)
 {
     if ($this->displaytime($i) == 1) {
         return icagendaEvents::dateToTimeFormat($i->next);
     } else {
         return NULL;
     }
 }