Chris@76: Chris@76:
Chris@76: ', template_show_month_grid('prev'), ' Chris@76: ', template_show_month_grid('current'), ' Chris@76: ', template_show_month_grid('next'), ' Chris@76:
Chris@76:
Chris@76: ', $context['view_week'] ? template_show_week_grid('main') : template_show_month_grid('main'); Chris@76: Chris@76: // Build the calendar button array. Chris@76: $calendar_buttons = array( Chris@76: 'post_event' => array('test' => 'can_post', 'text' => 'calendar_post_event', 'image' => 'calendarpe.gif', 'lang' => true, 'url' => $scripturl . '?action=calendar;sa=post;month=' . $context['current_month'] . ';year=' . $context['current_year'] . ';' . $context['session_var'] . '=' . $context['session_id']), Chris@76: ); Chris@76: Chris@76: template_button_strip($calendar_buttons, 'right'); Chris@76: Chris@76: // Show some controls to allow easy calendar navigation. Chris@76: echo ' Chris@76:
Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
Chris@76: '; Chris@76: } Chris@76: Chris@76: // Template for posting a calendar event. Chris@76: function template_event_post() Chris@76: { Chris@76: global $context, $settings, $options, $txt, $scripturl, $modSettings; Chris@76: Chris@76: // Start the javascript for drop down boxes... Chris@76: echo ' Chris@76: Chris@76: Chris@76:
'; Chris@76: Chris@76: if (!empty($context['event']['new'])) Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: // Start the main table. Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

Chris@76: ', $context['page_title'], ' Chris@76:

Chris@76:
'; Chris@76: Chris@76: if (!empty($context['post_error']['messages'])) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
Chris@76: ', $context['error_type'] == 'serious' ? '' . $txt['error_while_submitting'] . '' : '', ' Chris@76:
Chris@76:
Chris@76: ', implode('
', $context['post_error']['messages']), ' Chris@76:
Chris@76:
Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76: ', $txt['calendar_event_title'], ' Chris@76: Chris@76:
Chris@76: ', $txt['calendar_year'], ' Chris@76: Chris@76: ', $txt['calendar_month'], ' Chris@76: Chris@76: ', $txt['calendar_day'], ' Chris@76: Chris@76:
Chris@76:
'; Chris@76: Chris@76: if (!empty($modSettings['cal_allowspan']) || $context['event']['new']) Chris@76: echo ' Chris@76:
Chris@76: ', $txt['calendar_event_options'], ' Chris@76:
Chris@76:
    '; Chris@76: Chris@76: // If events can span more than one day then allow the user to select how long it should last. Chris@76: if (!empty($modSettings['cal_allowspan'])) Chris@76: { Chris@76: echo ' Chris@76:
  • Chris@76: ', $txt['calendar_numb_days'], ' Chris@76: Chris@76:
  • '; Chris@76: } Chris@76: Chris@76: // If this is a new event let the user specify which board they want the linked post to be put into. Chris@76: if ($context['event']['new']) Chris@76: { Chris@76: echo ' Chris@76:
  • Chris@76: ', $txt['calendar_link_event'], ' Chris@76: Chris@76:
  • Chris@76:
  • Chris@76: ', $txt['calendar_post_in'], ' Chris@76: Chris@76:
  • '; Chris@76: } Chris@76: Chris@76: if (!empty($modSettings['cal_allowspan']) || $context['event']['new']) Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76: '; Chris@76: // Delete button? Chris@76: if (empty($context['event']['new'])) Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: echo ' Chris@76: Chris@76: Chris@76:
Chris@76:
Chris@76: Chris@76:
Chris@76:
Chris@76:
Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Display a monthly calendar grid. Chris@76: function template_show_month_grid($grid_name) Chris@76: { Chris@76: global $context, $settings, $options, $txt, $scripturl, $modSettings, $smcFunc; Chris@76: Chris@76: if (!isset($context['calendar_grid_' . $grid_name])) Chris@76: return false; Chris@76: Chris@76: $calendar_data = &$context['calendar_grid_' . $grid_name]; Chris@76: $colspan = !empty($calendar_data['show_week_links']) ? 8 : 7; Chris@76: Chris@76: if (empty($calendar_data['disable_title'])) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76:

'; Chris@76: Chris@76: if (empty($calendar_data['previous_calendar']['disabled']) && $calendar_data['show_next_prev']) Chris@76: echo ' Chris@76: «'; Chris@76: Chris@76: if (empty($calendar_data['next_calendar']['disabled']) && $calendar_data['show_next_prev']) Chris@76: echo ' Chris@76: »'; Chris@76: Chris@76: if ($calendar_data['show_next_prev']) Chris@76: echo ' Chris@76: ', $txt['months_titles'][$calendar_data['current_month']], ' ', $calendar_data['current_year']; Chris@76: else Chris@76: echo ' Chris@76: ', $txt['months_titles'][$calendar_data['current_month']], ' ', $calendar_data['current_year'], ''; Chris@76: Chris@76: echo ' Chris@76:

Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: // Show each day of the week. Chris@76: if (empty($calendar_data['disable_day_titles'])) Chris@76: { Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: if (!empty($calendar_data['show_week_links'])) Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: foreach ($calendar_data['week_days'] as $day) Chris@76: { Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: /* Each week in weeks contains the following: Chris@76: days (a list of days), number (week # in the year.) */ Chris@76: foreach ($calendar_data['weeks'] as $week) Chris@76: { Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: if (!empty($calendar_data['show_week_links'])) Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: /* Every day has the following: Chris@76: day (# in month), is_today (is this day *today*?), is_first_day (first day of the week?), Chris@76: holidays, events, birthdays. (last three are lists.) */ Chris@76: foreach ($week['days'] as $day) Chris@76: { Chris@76: // If this is today, make it a different color and show a border. Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
 ', !empty($calendar_data['short_day_titles']) ? ($smcFunc['substr']($txt['days'][$day], 0, 1)) : $txt['days'][$day], '
Chris@76: » Chris@76: '; Chris@76: Chris@76: // Skip it if it should be blank - it's not a day if it has no number. Chris@76: if (!empty($day['day'])) Chris@76: { Chris@76: // Should the day number be a link? Chris@76: if (!empty($modSettings['cal_daysaslink']) && $context['can_post']) Chris@76: echo ' Chris@76: ', $day['day'], ''; Chris@76: else Chris@76: echo ' Chris@76: ', $day['day']; Chris@76: Chris@76: // Is this the first day of the week? (and are we showing week numbers?) Chris@76: if ($day['is_first_day'] && $calendar_data['size'] != 'small') Chris@76: echo ' - ', $txt['calendar_week'], ' ', $week['number'], ''; Chris@76: Chris@76: // Are there any holidays? Chris@76: if (!empty($day['holidays'])) Chris@76: echo ' Chris@76:
', $txt['calendar_prompt'], ' ', implode(', ', $day['holidays']), '
'; Chris@76: Chris@76: // Show any birthdays... Chris@76: if (!empty($day['birthdays'])) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76: ', $txt['birthdays'], ''; Chris@76: Chris@76: /* Each of the birthdays has: Chris@76: id, name (person), age (if they have one set?), and is_last. (last in list?) */ Chris@76: $use_js_hide = empty($context['show_all_birthdays']) && count($day['birthdays']) > 15; Chris@76: $count = 0; Chris@76: foreach ($day['birthdays'] as $member) Chris@76: { Chris@76: echo ' Chris@76: ', $member['name'], isset($member['age']) ? ' (' . $member['age'] . ')' : '', '', $member['is_last'] || ($count == 10 && $use_js_hide)? '' : ', '; Chris@76: Chris@76: // Stop at ten? Chris@76: if ($count == 10 && $use_js_hide) Chris@76: echo '...
(', sprintf($txt['calendar_click_all'], count($day['birthdays'])), ')
'; Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Any special posted events? Chris@76: if (!empty($day['events'])) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76: ', $txt['events'], ''; Chris@76: Chris@76: /* The events are made up of: Chris@76: title, href, is_last, can_edit (are they allowed to?), and modify_href. */ Chris@76: foreach ($day['events'] as $event) Chris@76: { Chris@76: // If they can edit the event, show a star they can click on.... Chris@76: if ($event['can_edit']) Chris@76: echo ' Chris@76: *'; Chris@76: Chris@76: echo ' Chris@76: ', $event['link'], $event['is_last'] ? '' : ', '; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Or show a weekly one? Chris@76: function template_show_week_grid($grid_name) Chris@76: { Chris@76: global $context, $settings, $options, $txt, $scripturl, $modSettings; Chris@76: Chris@76: if (!isset($context['calendar_grid_' . $grid_name])) Chris@76: return false; Chris@76: Chris@76: $calendar_data = &$context['calendar_grid_' . $grid_name]; Chris@76: Chris@76: // Loop through each month (At least one) and print out each day. Chris@76: foreach ($calendar_data['months'] as $month_data) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76:

'; Chris@76: Chris@76: if (empty($calendar_data['previous_calendar']['disabled']) && $calendar_data['show_next_prev'] && empty($done_title)) Chris@76: echo ' Chris@76: «'; Chris@76: Chris@76: if (empty($calendar_data['next_calendar']['disabled']) && $calendar_data['show_next_prev'] && empty($done_title)) Chris@76: echo ' Chris@76: »'; Chris@76: Chris@76: echo ' Chris@76: ', $txt['months_titles'][$month_data['current_month']], ' ', $month_data['current_year'], '', empty($done_title) && !empty($calendar_data['week_number']) ? (' - ' . $txt['calendar_week'] . ' ' . $calendar_data['week_number']) : '', ' Chris@76:

Chris@76:
'; Chris@76: Chris@76: $done_title = true; Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: foreach ($month_data['days'] as $day) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: Chris@76: '; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
Chris@76:
Chris@76:

', $txt['days'][$day['day_of_week']], '

Chris@76:
Chris@76:
'; Chris@76: Chris@76: // Should the day number be a link? Chris@76: if (!empty($modSettings['cal_daysaslink']) && $context['can_post']) Chris@76: echo ' Chris@76: ', $day['day'], ''; Chris@76: else Chris@76: echo ' Chris@76: ', $day['day']; Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: // Are there any holidays? Chris@76: if (!empty($day['holidays'])) Chris@76: echo ' Chris@76:
', $txt['calendar_prompt'], ' ', implode(', ', $day['holidays']), '
'; Chris@76: Chris@76: // Show any birthdays... Chris@76: if (!empty($day['birthdays'])) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76: ', $txt['birthdays'], ''; Chris@76: Chris@76: /* Each of the birthdays has: Chris@76: id, name (person), age (if they have one set?), and is_last. (last in list?) */ Chris@76: foreach ($day['birthdays'] as $member) Chris@76: echo ' Chris@76: ', $member['name'], isset($member['age']) ? ' (' . $member['age'] . ')' : '', '', $member['is_last'] ? '' : ', '; Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: // Any special posted events? Chris@76: if (!empty($day['events'])) Chris@76: { Chris@76: echo ' Chris@76:
Chris@76: ', $txt['events'], ''; Chris@76: Chris@76: /* The events are made up of: Chris@76: title, href, is_last, can_edit (are they allowed to?), and modify_href. */ Chris@76: foreach ($day['events'] as $event) Chris@76: { Chris@76: // If they can edit the event, show a star they can click on.... Chris@76: if ($event['can_edit']) Chris@76: echo ' Chris@76: * '; Chris@76: Chris@76: echo ' Chris@76: ', $event['link'], $event['is_last'] ? '' : ', '; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: Chris@76: echo ' Chris@76:
'; Chris@76: } Chris@76: } Chris@76: Chris@76: function template_bcd() Chris@76: { Chris@76: global $context, $scripturl; Chris@76: Chris@76: echo ' Chris@76: Chris@76: Chris@76: '; Chris@76: Chris@76: $alt = false; Chris@76: foreach ($context['clockicons'] as $t => $v) Chris@76: { Chris@76: echo ' Chris@76: '; Chris@76: Chris@76: $alt = !$alt; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76:
BCD Clock
'; Chris@76: Chris@76: foreach ($v as $i) Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76:
Chris@76:

Are you hardcore?

Chris@76: Chris@76: '; Chris@76: } Chris@76: Chris@76: function template_hms() Chris@76: { Chris@76: global $context, $scripturl; Chris@76: Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: $alt = false; Chris@76: foreach ($context['clockicons'] as $t => $v) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: $alt = !$alt; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76: Chris@76:
Binary Clock
'; Chris@76: foreach ($v as $i) Chris@76: echo ' Chris@76: '; Chris@76: echo ' Chris@76:
Too tough for you?
'; Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: function template_omfg() Chris@76: { Chris@76: global $context, $scripturl; Chris@76: Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: $alt = false; Chris@76: foreach ($context['clockicons'] as $t => $v) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: $alt = !$alt; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76:
OMFG Binary Clock
'; Chris@76: foreach ($v as $i) Chris@76: echo ' Chris@76: '; Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: echo ' Chris@76: '; Chris@76: } Chris@76: Chris@76: function template_thetime() Chris@76: { Chris@76: global $context, $scripturl; Chris@76: Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: $alt = false; Chris@76: foreach ($context['clockicons'] as $t => $v) Chris@76: { Chris@76: echo ' Chris@76: Chris@76: '; Chris@76: $alt = !$alt; Chris@76: } Chris@76: Chris@76: echo ' Chris@76: Chris@76:
The time you requested
'; Chris@76: foreach ($v as $i) Chris@76: echo ' Chris@76: '; Chris@76: echo ' Chris@76:
'; Chris@76: Chris@76: } Chris@76: Chris@76: ?>