Mercurial > hg > vamp-website
diff forum/Themes/default/Calendar.template.php @ 76:e3e11437ecea website
Add forum code
author | Chris Cannam |
---|---|
date | Sun, 07 Jul 2013 11:25:48 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/forum/Themes/default/Calendar.template.php Sun Jul 07 11:25:48 2013 +0200 @@ -0,0 +1,824 @@ +<?php +/** + * Simple Machines Forum (SMF) + * + * @package SMF + * @author Simple Machines + * @copyright 2011 Simple Machines + * @license http://www.simplemachines.org/about/smf/license.php BSD + * + * @version 2.0 + */ + +// The main calendar - January, for example. +function template_main() +{ + global $context, $settings, $options, $txt, $scripturl, $modSettings; + + echo ' + <div id="calendar"> + <div id="month_grid"> + ', template_show_month_grid('prev'), ' + ', template_show_month_grid('current'), ' + ', template_show_month_grid('next'), ' + </div> + <div id="main_grid" style="', $context['browser']['is_ie'] && !$context['browser']['is_ie8'] ? 'float: ' . ($context['right_to_left'] ? 'right; padding-right' : 'left; padding-left') . ': 20px;' : 'margin-' . ($context['right_to_left'] ? 'right' : 'left') . ': 220px; ', '"> + ', $context['view_week'] ? template_show_week_grid('main') : template_show_month_grid('main'); + + // Build the calendar button array. + $calendar_buttons = array( + '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']), + ); + + template_button_strip($calendar_buttons, 'right'); + + // Show some controls to allow easy calendar navigation. + echo ' + <form id="calendar_navigation" action="', $scripturl, '?action=calendar" method="post" accept-charset="', $context['character_set'], '"> + <select name="month">'; + + // Show a select box with all the months. + foreach ($txt['months'] as $number => $month) + echo ' + <option value="', $number, '"', $number == $context['current_month'] ? ' selected="selected"' : '', '>', $month, '</option>'; + echo ' + </select> + <select name="year">'; + + // Show a link for every year..... + for ($year = $modSettings['cal_minyear']; $year <= $modSettings['cal_maxyear']; $year++) + echo ' + <option value="', $year, '"', $year == $context['current_year'] ? ' selected="selected"' : '', '>', $year, '</option>'; + echo ' + </select> + <input type="submit" class="button_submit" value="', $txt['view'], '" />'; + + echo ' + </form> + <br class="clear" /> + </div> + </div>'; +} + +// Template for posting a calendar event. +function template_event_post() +{ + global $context, $settings, $options, $txt, $scripturl, $modSettings; + + // Start the javascript for drop down boxes... + echo ' + <script type="text/javascript"><!-- // --><![CDATA[ + var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + + function generateDays() + { + var days = 0, selected = 0; + var dayElement = document.getElementById("day"), yearElement = document.getElementById("year"), monthElement = document.getElementById("month"); + + monthLength[1] = 28; + if (yearElement.options[yearElement.selectedIndex].value % 4 == 0) + monthLength[1] = 29; + + selected = dayElement.selectedIndex; + while (dayElement.options.length) + dayElement.options[0] = null; + + days = monthLength[monthElement.value - 1]; + + for (i = 1; i <= days; i++) + dayElement.options[dayElement.length] = new Option(i, i); + + if (selected < days) + dayElement.selectedIndex = selected; + } + + function toggleLinked(form) + { + form.board.disabled = !form.link_to_board.checked; + } + // ]]></script> + + <form action="', $scripturl, '?action=calendar;sa=post" method="post" name="postevent" accept-charset="', $context['character_set'], '" onsubmit="submitonce(this);smc_saveEntities(\'postevent\', [\'evtitle\']);" style="margin: 0;">'; + + if (!empty($context['event']['new'])) + echo ' + <input type="hidden" name="eventid" value="', $context['event']['eventid'], '" />'; + + // Start the main table. + echo ' + <div id="post_event"> + <div class="cat_bar"> + <h3 class="catbg"> + ', $context['page_title'], ' + </h3> + </div>'; + + if (!empty($context['post_error']['messages'])) + { + echo ' + <div class="errorbox"> + <dl class="event_error"> + <dt> + ', $context['error_type'] == 'serious' ? '<strong>' . $txt['error_while_submitting'] . '</strong>' : '', ' + </dt> + <dt class="error"> + ', implode('<br />', $context['post_error']['messages']), ' + </dt> + </dl> + </div>'; + } + + echo ' + <div class="windowbg"> + <span class="upperframe"><span></span></span> + <div class="roundframe"> + <fieldset id="event_main"> + <legend><span', isset($context['post_error']['no_event']) ? ' class="error"' : '', '>', $txt['calendar_event_title'], '</span></legend> + <input type="text" name="evtitle" maxlength="255" size="70" value="', $context['event']['title'], '" class="input_text" /> + <div class="smalltext"> + <input type="hidden" name="calendar" value="1" />', $txt['calendar_year'], ' + <select name="year" id="year" onchange="generateDays();">'; + + // Show a list of all the years we allow... + for ($year = $modSettings['cal_minyear']; $year <= $modSettings['cal_maxyear']; $year++) + echo ' + <option value="', $year, '"', $year == $context['event']['year'] ? ' selected="selected"' : '', '>', $year, ' </option>'; + + echo ' + </select> + ', $txt['calendar_month'], ' + <select name="month" id="month" onchange="generateDays();">'; + + // There are 12 months per year - ensure that they all get listed. + for ($month = 1; $month <= 12; $month++) + echo ' + <option value="', $month, '"', $month == $context['event']['month'] ? ' selected="selected"' : '', '>', $txt['months'][$month], ' </option>'; + + echo ' + </select> + ', $txt['calendar_day'], ' + <select name="day" id="day">'; + + // This prints out all the days in the current month - this changes dynamically as we switch months. + for ($day = 1; $day <= $context['event']['last_day']; $day++) + echo ' + <option value="', $day, '"', $day == $context['event']['day'] ? ' selected="selected"' : '', '>', $day, ' </option>'; + + echo ' + </select> + </div> + </fieldset>'; + + if (!empty($modSettings['cal_allowspan']) || $context['event']['new']) + echo ' + <fieldset id="event_options"> + <legend>', $txt['calendar_event_options'], '</legend> + <div class="event_options smalltext"> + <ul class="event_options">'; + + // If events can span more than one day then allow the user to select how long it should last. + if (!empty($modSettings['cal_allowspan'])) + { + echo ' + <li> + ', $txt['calendar_numb_days'], ' + <select name="span">'; + + for ($days = 1; $days <= $modSettings['cal_maxspan']; $days++) + echo ' + <option value="', $days, '"', $context['event']['span'] == $days ? ' selected="selected"' : '', '>', $days, ' </option>'; + + echo ' + </select> + </li>'; + } + + // If this is a new event let the user specify which board they want the linked post to be put into. + if ($context['event']['new']) + { + echo ' + <li> + ', $txt['calendar_link_event'], ' + <input type="checkbox" style="vertical-align: middle;" class="input_check" name="link_to_board" checked="checked" onclick="toggleLinked(this.form);" /> + </li> + <li> + ', $txt['calendar_post_in'], ' + <select id="board" name="board" onchange="this.form.submit();">'; + foreach ($context['event']['categories'] as $category) + { + echo ' + <optgroup label="', $category['name'], '">'; + foreach ($category['boards'] as $board) + echo ' + <option value="', $board['id'], '"', $board['selected'] ? ' selected="selected"' : '', '>', $board['child_level'] > 0 ? str_repeat('==', $board['child_level'] - 1) . '=>' : '', ' ', $board['name'], ' </option>'; + echo ' + </optgroup>'; + } + echo ' + </select> + </li>'; + } + + if (!empty($modSettings['cal_allowspan']) || $context['event']['new']) + echo ' + </ul> + </div> + </fieldset>'; + + echo ' + <div class="righttext"> + <input type="submit" value="', empty($context['event']['new']) ? $txt['save'] : $txt['post'], '" class="button_submit" />'; + // Delete button? + if (empty($context['event']['new'])) + echo ' + <input type="submit" name="deleteevent" value="', $txt['event_delete'], '" onclick="return confirm(\'', $txt['calendar_confirm_delete'], '\');" class="button_submit" />'; + + echo ' + <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" /> + <input type="hidden" name="eventid" value="', $context['event']['eventid'], '" /> + </div> + </div> + <span class="lowerframe"><span></span></span> + </div> + </div> + </form> + <br class="clear" />'; +} + +// Display a monthly calendar grid. +function template_show_month_grid($grid_name) +{ + global $context, $settings, $options, $txt, $scripturl, $modSettings, $smcFunc; + + if (!isset($context['calendar_grid_' . $grid_name])) + return false; + + $calendar_data = &$context['calendar_grid_' . $grid_name]; + $colspan = !empty($calendar_data['show_week_links']) ? 8 : 7; + + if (empty($calendar_data['disable_title'])) + { + echo ' + <div class="cat_bar"> + <h3 class="catbg centertext" style="font-size: ', $calendar_data['size'] == 'large' ? 'large' : 'small', ';">'; + + if (empty($calendar_data['previous_calendar']['disabled']) && $calendar_data['show_next_prev']) + echo ' + <span class="floatleft"><a href="', $calendar_data['previous_calendar']['href'], '">«</a></span>'; + + if (empty($calendar_data['next_calendar']['disabled']) && $calendar_data['show_next_prev']) + echo ' + <span class="floatright"><a href="', $calendar_data['next_calendar']['href'], '">»</a></span>'; + + if ($calendar_data['show_next_prev']) + echo ' + ', $txt['months_titles'][$calendar_data['current_month']], ' ', $calendar_data['current_year']; + else + echo ' + <a href="', $scripturl, '?action=calendar;year=', $calendar_data['current_year'], ';month=', $calendar_data['current_month'], '">', $txt['months_titles'][$calendar_data['current_month']], ' ', $calendar_data['current_year'], '</a>'; + + echo ' + </h3> + </div>'; + } + + echo ' + <table cellspacing="1" class="calendar_table">'; + + // Show each day of the week. + if (empty($calendar_data['disable_day_titles'])) + { + echo ' + <tr class="titlebg2">'; + + if (!empty($calendar_data['show_week_links'])) + echo ' + <th> </th>'; + + foreach ($calendar_data['week_days'] as $day) + { + echo ' + <th class="days" scope="col" ', $calendar_data['size'] == 'small' ? 'style="font-size: x-small;"' : '', '>', !empty($calendar_data['short_day_titles']) ? ($smcFunc['substr']($txt['days'][$day], 0, 1)) : $txt['days'][$day], '</th>'; + } + echo ' + </tr>'; + } + + /* Each week in weeks contains the following: + days (a list of days), number (week # in the year.) */ + foreach ($calendar_data['weeks'] as $week) + { + echo ' + <tr>'; + + if (!empty($calendar_data['show_week_links'])) + echo ' + <td class="windowbg2 weeks"> + <a href="', $scripturl, '?action=calendar;viewweek;year=', $calendar_data['current_year'], ';month=', $calendar_data['current_month'], ';day=', $week['days'][0]['day'], '">»</a> + </td>'; + + /* Every day has the following: + day (# in month), is_today (is this day *today*?), is_first_day (first day of the week?), + holidays, events, birthdays. (last three are lists.) */ + foreach ($week['days'] as $day) + { + // If this is today, make it a different color and show a border. + echo ' + <td style="height: ', $calendar_data['size'] == 'small' ? '20' : '100', 'px; padding: 2px;', $calendar_data['size'] == 'small' ? 'font-size: x-small;' : '', '" class="', $day['is_today'] ? 'calendar_today' : 'windowbg', ' days">'; + + // Skip it if it should be blank - it's not a day if it has no number. + if (!empty($day['day'])) + { + // Should the day number be a link? + if (!empty($modSettings['cal_daysaslink']) && $context['can_post']) + echo ' + <a href="', $scripturl, '?action=calendar;sa=post;month=', $calendar_data['current_month'], ';year=', $calendar_data['current_year'], ';day=', $day['day'], ';', $context['session_var'], '=', $context['session_id'], '">', $day['day'], '</a>'; + else + echo ' + ', $day['day']; + + // Is this the first day of the week? (and are we showing week numbers?) + if ($day['is_first_day'] && $calendar_data['size'] != 'small') + echo '<span class="smalltext"> - <a href="', $scripturl, '?action=calendar;viewweek;year=', $calendar_data['current_year'], ';month=', $calendar_data['current_month'], ';day=', $day['day'], '">', $txt['calendar_week'], ' ', $week['number'], '</a></span>'; + + // Are there any holidays? + if (!empty($day['holidays'])) + echo ' + <div class="smalltext holiday">', $txt['calendar_prompt'], ' ', implode(', ', $day['holidays']), '</div>'; + + // Show any birthdays... + if (!empty($day['birthdays'])) + { + echo ' + <div class="smalltext"> + <span class="birthday">', $txt['birthdays'], '</span>'; + + /* Each of the birthdays has: + id, name (person), age (if they have one set?), and is_last. (last in list?) */ + $use_js_hide = empty($context['show_all_birthdays']) && count($day['birthdays']) > 15; + $count = 0; + foreach ($day['birthdays'] as $member) + { + echo ' + <a href="', $scripturl, '?action=profile;u=', $member['id'], '">', $member['name'], isset($member['age']) ? ' (' . $member['age'] . ')' : '', '</a>', $member['is_last'] || ($count == 10 && $use_js_hide)? '' : ', '; + + // Stop at ten? + if ($count == 10 && $use_js_hide) + echo '<span class="hidelink" id="bdhidelink_', $day['day'], '">...<br /><a href="', $scripturl, '?action=calendar;month=', $calendar_data['current_month'], ';year=', $calendar_data['current_year'], ';showbd" onclick="document.getElementById(\'bdhide_', $day['day'], '\').style.display = \'\'; document.getElementById(\'bdhidelink_', $day['day'], '\').style.display = \'none\'; return false;">(', sprintf($txt['calendar_click_all'], count($day['birthdays'])), ')</a></span><span id="bdhide_', $day['day'], '" style="display: none;">, '; + + $count++; + } + if ($use_js_hide) + echo ' + </span>'; + + echo ' + </div>'; + } + + // Any special posted events? + if (!empty($day['events'])) + { + echo ' + <div class="smalltext"> + <span class="event">', $txt['events'], '</span>'; + + /* The events are made up of: + title, href, is_last, can_edit (are they allowed to?), and modify_href. */ + foreach ($day['events'] as $event) + { + // If they can edit the event, show a star they can click on.... + if ($event['can_edit']) + echo ' + <a class="modify_event" href="', $event['modify_href'], '"><img src="' . $settings['images_url'] . '/icons/modify_small.gif" alt="*" /></a>'; + + echo ' + ', $event['link'], $event['is_last'] ? '' : ', '; + } + + echo ' + </div>'; + } + } + + echo ' + </td>'; + } + + echo ' + </tr>'; + } + + echo ' + </table>'; +} + +// Or show a weekly one? +function template_show_week_grid($grid_name) +{ + global $context, $settings, $options, $txt, $scripturl, $modSettings; + + if (!isset($context['calendar_grid_' . $grid_name])) + return false; + + $calendar_data = &$context['calendar_grid_' . $grid_name]; + + // Loop through each month (At least one) and print out each day. + foreach ($calendar_data['months'] as $month_data) + { + echo ' + <div class="cat_bar"> + <h3 class="catbg weekly">'; + + if (empty($calendar_data['previous_calendar']['disabled']) && $calendar_data['show_next_prev'] && empty($done_title)) + echo ' + <span class="floatleft"><a href="', $calendar_data['previous_week']['href'], '">«</a></span>'; + + if (empty($calendar_data['next_calendar']['disabled']) && $calendar_data['show_next_prev'] && empty($done_title)) + echo ' + <span class="floatright"><a href="', $calendar_data['next_week']['href'], '">»</a></span>'; + + echo ' + <a href="', $scripturl, '?action=calendar;month=', $month_data['current_month'], ';year=', $month_data['current_year'], '">', $txt['months_titles'][$month_data['current_month']], ' ', $month_data['current_year'], '</a>', empty($done_title) && !empty($calendar_data['week_number']) ? (' - ' . $txt['calendar_week'] . ' ' . $calendar_data['week_number']) : '', ' + </h3> + </div>'; + + $done_title = true; + + echo ' + <table width="100%" class="calendar_table weeklist" cellspacing="1" cellpadding="0">'; + + foreach ($month_data['days'] as $day) + { + echo ' + <tr> + <td colspan="2"> + <div class="title_bar"> + <h4 class="titlebg">', $txt['days'][$day['day_of_week']], '</h4> + </div> + </td> + </tr> + <tr> + <td class="windowbg">'; + + // Should the day number be a link? + if (!empty($modSettings['cal_daysaslink']) && $context['can_post']) + echo ' + <a href="', $scripturl, '?action=calendar;sa=post;month=', $month_data['current_month'], ';year=', $month_data['current_year'], ';day=', $day['day'], ';', $context['session_var'], '=', $context['session_id'], '">', $day['day'], '</a>'; + else + echo ' + ', $day['day']; + + echo ' + </td> + <td class="', $day['is_today'] ? 'calendar_today' : 'windowbg2', ' weekdays">'; + + // Are there any holidays? + if (!empty($day['holidays'])) + echo ' + <div class="smalltext holiday">', $txt['calendar_prompt'], ' ', implode(', ', $day['holidays']), '</div>'; + + // Show any birthdays... + if (!empty($day['birthdays'])) + { + echo ' + <div class="smalltext"> + <span class="birthday">', $txt['birthdays'], '</span>'; + + /* Each of the birthdays has: + id, name (person), age (if they have one set?), and is_last. (last in list?) */ + foreach ($day['birthdays'] as $member) + echo ' + <a href="', $scripturl, '?action=profile;u=', $member['id'], '">', $member['name'], isset($member['age']) ? ' (' . $member['age'] . ')' : '', '</a>', $member['is_last'] ? '' : ', '; + echo ' + </div>'; + } + + // Any special posted events? + if (!empty($day['events'])) + { + echo ' + <div class="smalltext"> + <span class="event">', $txt['events'], '</span>'; + + /* The events are made up of: + title, href, is_last, can_edit (are they allowed to?), and modify_href. */ + foreach ($day['events'] as $event) + { + // If they can edit the event, show a star they can click on.... + if ($event['can_edit']) + echo ' + <a href="', $event['modify_href'], '"><img src="' . $settings['images_url'] . '/icons/modify_small.gif" alt="*" /></a> '; + + echo ' + ', $event['link'], $event['is_last'] ? '' : ', '; + } + + echo ' + </div>'; + } + + echo ' + </td> + </tr>'; + } + + echo ' + </table>'; + } +} + +function template_bcd() +{ + global $context, $scripturl; + + echo ' + <table cellpadding="0" cellspacing="1" align="center"> + <caption class="titlebg">BCD Clock</caption> + <tr class="windowbg">'; + + $alt = false; + foreach ($context['clockicons'] as $t => $v) + { + echo ' + <td style="padding-', $alt ? 'right' : 'left', ': 1.5em;" valign="bottom">'; + + foreach ($v as $i) + echo ' + <img src="', $context['offimg'], '" alt="" id="', $t, '_', $i, '" /><br />'; + + echo ' + </td>'; + + $alt = !$alt; + } + + echo ' + </tr> + </table> + <p align="center"><a href="', $scripturl, '?action=clock;rb">Are you hardcore?</a></p> + + <script type="text/javascript"><!-- // --><![CDATA[ + var icons = new Object();'; + + foreach ($context['clockicons'] as $t => $v) + { + foreach ($v as $i) + echo ' + icons[\'', $t, '_', $i, '\'] = document.getElementById(\'', $t, '_', $i, '\');'; + } + + echo ' + function update() + { + // Get the current time + var time = new Date(); + var hour = time.getHours(); + var min = time.getMinutes(); + var sec = time.getSeconds(); + + // Break it up into individual digits + var h1 = parseInt(hour / 10); + var h2 = hour % 10; + var m1 = parseInt(min / 10); + var m2 = min % 10; + var s1 = parseInt(sec / 10); + var s2 = sec % 10; + + // For each digit figure out which ones to turn off and which ones to turn on + var turnon = new Array();'; + + foreach ($context['clockicons'] as $t => $v) + { + foreach ($v as $i) + echo ' + if (', $t, ' >= ', $i, ') + { + turnon.push("', $t, '_', $i, '"); + ', $t, ' -= ', $i, '; + }'; + } + + echo ' + for (var i in icons) + if (!in_array(i, turnon)) + icons[i].src = "', $context['offimg'], '"; + else + icons[i].src = "', $context['onimg'], '"; + + window.setTimeout("update();", 500); + } + // Checks for variable in theArray. + function in_array(variable, theArray) + { + for (var i = 0; i < theArray.length; i++) + { + if (theArray[i] == variable) + return true; + } + return false; + } + + update(); + // ]]></script>'; +} + +function template_hms() +{ + global $context, $scripturl; + + echo ' +<table cellpadding="0" cellspacing="1" align="center"> + <caption class="titlebg">Binary Clock</caption>'; + $alt = false; + foreach ($context['clockicons'] as $t => $v) + { + echo ' + <tr class="', $alt ? 'windowbg2' : 'windowbg', '"> + <td align="right">'; + foreach ($v as $i) + echo ' + <img src="', $context['offimg'], '" alt="" id="', $t, '_', $i, '" />'; + echo ' + </td>'; + $alt = !$alt; + } + + echo ' + </tr> + <tr class="', $alt ? 'windowbg2' : 'windowbg', '"><td colspan="6" align="center"><a href="', $scripturl, '?action=clock">Too tough for you?</a></td></tr> +</table>'; + + echo ' + <script type="text/javascript"><!-- // --><![CDATA[ + var icons = new Object();'; + + foreach ($context['clockicons'] as $t => $v) + { + foreach ($v as $i) + echo ' + icons[\'', $t, '_', $i, '\'] = document.getElementById(\'', $t, '_', $i, '\');'; + } + + echo ' + function update() + { + // Get the current time + var time = new Date(); + var h = time.getHours(); + var m = time.getMinutes(); + var s = time.getSeconds(); + + // For each digit figure out which ones to turn off and which ones to turn on + var turnon = new Array();'; + + foreach ($context['clockicons'] as $t => $v) + { + foreach ($v as $i) + echo ' + if (', $t, ' >= ', $i, ') + { + turnon.push("', $t, '_', $i, '"); + ', $t, ' -= ', $i, '; + }'; + } + + echo ' + for (var i in icons) + if (!in_array(i, turnon)) + icons[i].src = "', $context['offimg'], '"; + else + icons[i].src = "', $context['onimg'], '"; + + window.setTimeout("update();", 500); + } + // Checks for variable in theArray. + function in_array(variable, theArray) + { + for (var i = 0; i < theArray.length; i++) + { + if (theArray[i] == variable) + return true; + } + return false; + } + + update(); + // ]]></script>'; +} + +function template_omfg() +{ + global $context, $scripturl; + + echo ' +<table cellpadding="0" cellspacing="1" align="center"> + <caption class="titlebg">OMFG Binary Clock</caption>'; + $alt = false; + foreach ($context['clockicons'] as $t => $v) + { + echo ' + <tr class="', $alt ? 'windowbg2' : 'windowbg', '"> + <td align="right">'; + foreach ($v as $i) + echo ' + <img src="', $context['offimg'], '" alt="" id="', $t, '_', $i, '" />'; + echo ' + </td>'; + $alt = !$alt; + } + + echo ' + </tr> +</table>'; + + echo ' + <script type="text/javascript"><!-- // --><![CDATA[ + var icons = new Object();'; + + foreach ($context['clockicons'] as $t => $v) + { + foreach ($v as $i) + echo ' + icons[\'', $t, '_', $i, '\'] = document.getElementById(\'', $t, '_', $i, '\');'; + } + + echo ' + function update() + { + // Get the current time + var time = new Date(); + var month = time.getMonth() + 1; + var day = time.getDate(); + var year = time.getFullYear(); + year = year % 100; + var hour = time.getHours(); + var min = time.getMinutes(); + var sec = time.getSeconds(); + + // For each digit figure out which ones to turn off and which ones to turn on + var turnon = new Array();'; + + foreach ($context['clockicons'] as $t => $v) + { + foreach ($v as $i) + echo ' + if (', $t, ' >= ', $i, ') + { + turnon.push("', $t, '_', $i, '"); + ', $t, ' -= ', $i, '; + }'; + } + + echo ' + for (var i in icons) + if (!in_array(i, turnon)) + icons[i].src = "', $context['offimg'], '"; + else + icons[i].src = "', $context['onimg'], '"; + + window.setTimeout("update();", 500); + } + // Checks for variable in theArray. + function in_array(variable, theArray) + { + for (var i = 0; i < theArray.length; i++) + { + if (theArray[i] == variable) + return true; + } + return false; + } + + update(); + // ]]></script>'; +} + +function template_thetime() +{ + global $context, $scripturl; + + echo ' +<table cellpadding="0" cellspacing="0" border="1" align="center"> + <caption>The time you requested</caption>'; + $alt = false; + foreach ($context['clockicons'] as $t => $v) + { + echo ' + <tr class="', $alt ? 'windowbg2' : 'windowbg', '"> + <td align="right">'; + foreach ($v as $i) + echo ' + <img src="', $i ? $context['onimg'] : $context['offimg'], '" alt="" />'; + echo ' + </td>'; + $alt = !$alt; + } + + echo ' + </tr> +</table>'; + +} + +?> \ No newline at end of file