/** * Display fields for the RSVP admin list * * @param string $fieldname Name of field * @param mixed $fieldvalue Value of field * @param array $A Array of all fields ($name=>$value) * @param array $icon_arr Handy array of icon images * @return string Field value formatted for display */ function EVLIST_getField_rsvp($fieldname, $fieldvalue, $A, $icon_arr) { global $_CONF, $LANG_ACCESS, $LANG_ADMIN; USES_class_date(); $retval = ''; switch ($fieldname) { case 'tic_count': if ($fieldvalue <= $A['max_rsvp']) { $retval = ''; } else { $retval = 'Yes'; } break; case 'uid': $retval = COM_getDisplayName($fieldvalue); break; case 'rank': if ($fieldvalue > $A['max_signups']) { $retval = 'Yes'; } else { $retval = 'No'; } break; case 'dt': case 'used': if ($fieldvalue > 0) { $d = new Date($fieldvalue, $_CONF['timezone']); $retval = $d->format($_CONF['shortdate'] . ' ' . $_CONF['timeformat'], false); } else { $retval = ''; } break; default: $retval = $fieldvalue; break; } return $retval; }
/** * Create a weekly view. * * @param integer $year Year to display, default is current year * @param integer $month Starting month * @param integer $day Starting day * @param integer $cat Event category * @param integer $cal Calendar to show * @return string HTML for calendar page */ function EVLIST_weekview($year = 0, $month = 0, $day = 0, $cat = 0, $cal = 0, $opt = '') { global $_CONF, $_EV_CONF, $LANG_MONTH, $LANG_EVLIST; USES_class_date(); EVLIST_setViewSession('week', $year, $month, $day); $retval = ''; list($currentyear, $currentmonth, $currentday) = explode('-', $_EV_CONF['_today']); // Default to the current month if ($year == 0) { $year = $currentyear; } if ($month == 0) { $month = $currentmonth; } if ($day == 0) { $day = $currentday; } $cat = (int) $cat; $cal = (int) $cal; // Get the events $calendarView = Date_Calc::getCalendarWeek($day, $month, $year, '%Y-%m-%d'); $start_date = $calendarView[0]; $end_date = $calendarView[6]; $calendars_used = array(); $dtStart = new Date(strtotime($start_date), $_CONF['timezone']); $dtToday = $dtStart; // used to update date strings each day $week_secs = 86400 * 7; $dtPrev = new Date($dtStart->toUnix() - $week_secs, $_CONF['timezone']); $dtNext = new Date($dtStart->toUnix() + $week_secs, $_CONF['timezone']); // Set up next and previous week links list($sYear, $sMonth, $sDay) = explode('-', $start_date); $tpl = 'weekview'; $T = new Template(EVLIST_PI_PATH . '/templates/weekview'); if ($opt == 'print') { $tpl .= '_print'; } elseif ($_EV_CONF['cal_tmpl'] == 'json') { $tpl .= '_json'; } $T->set_file(array('week' => $tpl . '.thtml')); $daynames = EVLIST_getDayNames(); $events = EVLIST_getEvents($start_date, $end_date, array('cat' => $cat, 'cal' => $cal)); $start_mname = $LANG_MONTH[(int) $sMonth]; $last_date = getdate($dtStart->toUnix() + 86400 * 6); $end_mname = $LANG_MONTH[$last_date['mon']]; $end_ynum = $last_date['year']; $end_dnum = sprintf('%02d', $last_date['mday']); $date_range = $start_mname . ' ' . $sDay; if ($year != $end_ynum) { $date_range .= ', ' . $year . ' - '; } else { $date_range .= ' - '; } if ($start_mname != $end_mname) { $date_range .= $end_mname . ' '; } $date_range .= "{$end_dnum}, {$end_ynum}"; $T->set_var('date_range', $date_range); $T->set_block('week', 'dayBlock', 'dBlk'); foreach ($calendarView as $idx => $weekData) { list($curyear, $curmonth, $curday) = explode('-', $weekData); $dtToday->setDateTimestamp($curyear, $curmonth, $curday, 0, 0, 0); $T->clear_var('eBlk'); if ($weekData == $_EV_CONF['_today']) { $T->set_var('dayclass', 'weekview-curday'); } else { $T->set_var('dayclass', 'weekview-offday'); } $monthname = $LANG_MONTH[(int) $curmonth]; $T->set_var('dayinfo', $daynames[$idx] . ', ' . COM_createLink($dtToday->format($_CONF['shortdate']), EVLIST_URL . "/index.php?view=day&day={$curday}" . "&cat={$cat}&cal={$cal}" . "&month={$curmonth}&year={$curyear}")); if ($_EV_CONF['_can_add']) { $T->set_var(array('can_add' => 'true', 'curday' => $curday, 'curmonth' => $curmonth, 'curyear' => $curyear)); } if (!isset($events[$weekData])) { // Make sure it's a valid but empty array if no events today $events[$weekData] = array(); } $T->set_block('week', 'eventBlock', 'eBlk'); foreach ($events[$weekData] as $A) { //$fgstyle = 'color:' . $A['fgcolor'].';'; if ($A['allday'] == 1 || $A['rp_date_start'] < $weekData && $A['rp_date_end'] > $weekData) { $event_time = $LANG_EVLIST['allday']; /*$event_div = '<div class="monthview_allday" style="background-color:'. $event['bgcolor'].';">';*/ } else { if ($A['rp_date_start'] == $weekData) { $startstamp = strtotime($weekData . ' ' . $A['rp_time_start1']); $starttime = date('g:i a', $startstamp); } else { $starttime = ' ... '; } if ($A['rp_date_end'] == $weekData) { $endstamp = strtotime($weekData . ' ' . $A['rp_time_end1']); $endtime = date('g:i a', $endstamp); } else { $endtime = ' ... '; } $event_time = $starttime . ' - ' . $endtime; if ($A['split'] == 1 && !empty($A['rp_time_start2'])) { $startstamp2 = strtotime($weekData . ' ' . $A['rp_time_start2']); $starttime2 = date('g:i a', $startstamp2); $endstamp2 = strtotime($weekData . ' ' . $A['rp_time_end2']); $endtime2 = date('g:i a', $endstamp2); $event_time .= ' & ' . $starttime2 . ' - ' . $endtime2; } } $calendars_used[$A['cal_id']] = array('cal_name' => $A['cal_name'], 'cal_ena_ical' => $A['cal_ena_ical'], 'cal_id' => $event['cal_id'], 'fgcolor' => $A['fgcolor'], 'bgcolor' => $A['bgcolor']); /*$eventlink = '<a class="cal-event" style="' . $fgstyle . '" href="' . EVLIST_URL . '/event.php?eid=' . $A['rp_id'] . '">' . stripslashes($A['title']) . '</a>';*/ $T->set_var(array('event_times' => $event_time, 'event_title' => htmlspecialchars($A['title']), 'event_id' => $A['rp_id'], 'cal_id' => $A['cal_id'], 'delete_imagelink' => EVLIST_deleteImageLink($A, $token), 'pi_url' => EVLIST_URL, 'fgcolor' => $A['fgcolor'])); $T->parse('eBlk', 'eventBlock', true); } $T->parse('dBlk', 'dayBlock', true); } $T->set_var(array('pi_url' => EVLIST_URL, 'cal_header' => EVLIST_calHeader($year, $month, $day, 'week', $cat, $cal), 'cal_footer' => EVLIST_calFooter($calendars_used), 'prevmonth' => $dtPrev->format('n', false), 'prevday' => $dtPrev->format('j', false), 'prevyear' => $dtPrev->format('Y', false), 'nextmonth' => $dtNext->format('n', false), 'nextday' => $dtNext->format('j', false), 'nextyear' => $dtNext->format('Y', false), 'urlfilt_cat' => $cat, 'urlfilt_cal' => $cal, 'cal_checkboxes' => EVLIST_cal_checkboxes($calendars_used), 'site_name' => $_CONF['site_name'], 'site_slogan' => $_CONF['site_slogan'], 'year' => $year, 'month' => $month, 'day' => $day)); $T->parse('output', 'week'); return $T->finish($T->get_var('output')); }