case 'no': default: if ($y . '-' . $m < $cal->year . '-' . $cal->month) { $start = 1; } else { $start = $d; } if ($item->recurring == 'daily' && $yy == '0000' || $yy . '-' . $mm > $cal->year . '-' . $cal->month) { $end = date('t', mktime(5, 0, 0, $cal->month, 1, $cal->year)); } elseif ($yy != '0000') { $end = $dd; } else { $end = $d; } for ($i = $start; $i <= $end; $i++) { $cal->addLink($i, $title, site_prefix() . '/index/siteevent-details-action/id.' . $item->id . '/title.' . siteevent_filter_link_title($item->title), $priority, $alt, $item->time); } break; } } if (false && session_admin()) { echo loader_box('cms/buttons/add', array('collection' => 'siteevent_event', 'float' => true)); echo '<br clear="all" />'; echo template_simple('users.spt', array('list' => db_fetch_array('select * from siteevent_category order by name asc'), 'current' => $parameters['category'], 'user_list' => db_fetch_array('select sitellite_owner, count(*) as total from siteevent_event where ' . session_allowed_sql() . ' group by sitellite_owner asc'), 'current_user' => $parameters['user'], 'simplecal' => $parameters['simplecal'])); } else { echo template_simple('categories.spt', array('list' => db_fetch_array('select * from siteevent_category order by name asc'), 'current' => $parameters['category'], 'alist' => db_fetch_array('select * from siteevent_audience order by name asc'), 'audience' => $parameters['audience'], 'simplecal' => $parameters['simplecal'], 'view' => $parameters['view'])); } echo $cal->render(); echo '<p>'; if (appconf('ical_links')) { if (!empty($parameters['category'])) {
if (!isset($parameters['limit'])) { $parameters['limit'] = 50; } $e = new SiteEvent_Event(); $list = $e->getUpcoming($parameters['limit'], $parameters['category'], $parameters['audience']); $cal = new vCal(); $cal->addProperty('METHOD', 'PUBLISH'); $cal->addProperty('CALSCALE', 'GREGORIAN'); $cal->addProperty('PRODID', '-//SIMIAN systems//NONSGML SiteEvent//EN'); $cal->addProperty('VERSION', '2.0'); foreach (array_keys($list) as $k) { $item =& $list[$k]; $e =& $cal->addEvent('VEVENT'); $e->addProperty('UID', site_domain() . '/siteevent/' . $item->id); $e->addProperty('SEQUENCE', $k + 1); $p =& $e->addProperty('URL', 'http://' . site_domain() . site_prefix() . '/index/siteevent-details-action/id.' . $item->id . '/title.' . siteevent_filter_link_title($item->title)); $p->addParameter('VALUE', 'URI'); $e->addProperty('STATUS', 'CONFIRMED'); if ($item->time && $item->time > '00:00:00') { $e->addProperty('DTSTART', Date::timestamp($item->date . ' ' . $item->time, 'Ymd\\THis')); } else { $p =& $e->addProperty('DTSTART', Date::format($item->date, 'Ymd')); $p->addParameter('VALUE', 'DATE'); } if ($item->until_date && $item->until_date > '0000-00-00') { if ($item->until_time && $item->until_time > '00:00:00') { $e->addProperty('DTEND', Date::timestamp($item->until_date . ' ' . $item->until_time, 'Ymd\\THis')); } else { $p =& $e->addProperty('DTEND', Date::format($item->until_date, 'Ymd')); $p->addParameter('VALUE', 'DATE'); }
break; case 'daily': case 'no': default: if (empty($item->until_date) || $item->until_date == '0000-00-00') { if (isset($items[$item->date])) { $items[$item->date][] = array('id' => $item->id, 'title' => $title, 'link' => site_prefix() . '/index/siteevent-details-action/id.' . $item->id . '/title.' . siteevent_filter_link_title($item->title), 'priority' => $item->priority, 'alt' => $alt, 'time' => $item->time); } break; } $first = $item->date; $last = $item->until_date; $days = array(); for ($i = $first; $i <= $last; $i = Date::add($i, '1 day')) { if (isset($items[$i])) { $items[$i][] = array('id' => $item->id, 'title' => $title, 'link' => site_prefix() . '/index/siteevent-details-action/id.' . $item->id . '/title.' . siteevent_filter_link_title($item->title), 'priority' => $item->priority, 'alt' => $alt, 'time' => $item->time); } } break; } } if (false && session_admin()) { echo loader_box('cms/buttons/add', array('collection' => 'siteevent_event', 'float' => true)); echo '<br clear="all" />'; echo template_simple('users.spt', array('list' => db_fetch_array('select * from siteevent_category order by name asc'), 'current' => $parameters['category'], 'user_list' => db_fetch_array('select sitellite_owner, count(*) as total from siteevent_event where ' . session_allowed_sql() . ' group by sitellite_owner asc'), 'current_user' => $parameters['user'], 'simplecal' => $parameters['simplecal'])); } else { echo template_simple('categories.spt', array('list' => db_fetch_array('select * from siteevent_category order by name asc'), 'current' => $parameters['category'], 'alist' => db_fetch_array('select * from siteevent_audience order by name asc'), 'audience' => $parameters['audience'], 'simplecal' => $parameters['simplecal'], 'view' => $parameters['view'])); } echo template_simple('week.spt', array('list' => $items, 'date' => date('Y-m-d'), 'dateName' => intl_get('Week of') . ' ' . strftime(appconf('date_format'), strtotime($week_of)), 'prev' => Date::subtract($week_of, '7 day'), 'next' => Date::add($week_of, '7 day'))); echo '<p>'; if (appconf('ical_links')) {