define ('CALENDAR_UPCOMING_DAYS', 14);
define ('CALENDAR_UPCOMING_MAXEVENTS', 10);
define ('CALENDAR_URL', $CFG->wwwroot.'/calendar/');
+define ('CALENDAR_TF_24', '%H:%M');
+define ('CALENDAR_TF_12', '%I:%M %p');
function calendar_get_mini($courses, $groups, $users, $cal_month = false, $cal_year = false) {
global $CFG, $USER;
}
function calendar_time_representation($time) {
- return userdate($time, '%H:%M');
+ static $langtimeformat = NULL;
+ if($langtimeformat === NULL) {
+ $langtimeformat = get_string('strftimetime');
+ }
+ $timeformat = get_user_preferences('calendar_timeformat');
+ // The ? is needed because the preference might be present, but empty
+ return userdate($time, empty($timeformat) ? $langtimeformat : $timeformat);
}
function calendar_get_link_href($linkbase, $d, $m, $y) {
'startwday' => get_string('pref_startwday', 'calendar'),
'maxevents' => get_string('pref_maxevents', 'calendar'),
'lookahead' => get_string('pref_lookahead', 'calendar'),
+ 'timeformat' => get_string('pref_timeformat', 'calendar'),
);
}
if($_GET['commit']) {
switch($_GET['edit']) {
+ case 'timeformat':
+ if($_GET['timeformat'] == '12') {
+ $timeformat = CALENDAR_TF_12;
+ }
+ else if($_GET['timeformat'] == '24') {
+ $timeformat = CALENDAR_TF_24;
+ }
+ else {
+ $timeformat = '';
+ }
+ set_user_preference('calendar_'.$_GET['edit'], $timeformat);
+ break;
case 'startwday':
$day = intval($_GET[$_GET['edit']]);
if($day < 0 || $day > 6) {
}
switch($_GET['edit']) {
+ case 'timeformat':
+ $sel = array('default' => ' selected="selected"', '12' => '', '24' => '');
+ switch(get_user_preferences('calendar_timeformat', '')) {
+ case CALENDAR_TF_12:
+ $sel['12'] = $sel['default'];
+ $sel['default'] = '';
+ break;
+ case CALENDAR_TF_24:
+ $sel['24'] = $sel['default'];
+ $sel['default'] = '';
+ break;
+ }
+ echo '<td><select name="timeformat">';
+ echo '<option value="default"'.$sel['default'].'>'.get_string('default', 'calendar').'</option>';
+ echo '<option value="12"'.$sel['12'].'>'.get_string('timeformat_12', 'calendar').'</option>';
+ echo '<option value="24"'.$sel['24'].'>'.get_string('timeformat_24', 'calendar').'</option>';
+ echo '</select></td>';
+ break;
case 'startwday':
echo '<td>';
$days = array(
get_string('thursday', 'calendar'), get_string('friday', 'calendar'),
get_string('saturday', 'calendar'));
$values['startwday'] = $days[$values['startwday']];
+ switch($values['timeformat']) {
+ case '':
+ $values['timeformat'] = get_string('default', 'calendar');
+ break;
+ case CALENDAR_TF_12:
+ $values['timeformat'] = get_string('timeformat_12', 'calendar');
+ break;
+ case CALENDAR_TF_24:
+ $values['timeformat'] = get_string('timeformat_24', 'calendar');
+ break;
+ }
// OK, display them
foreach($prefs as $name => $description) {
$string['explain_lookahead'] = 'Ï áñéèìüò áõôüò êáèïñßæåé ôï ðüóåò ìÝñåò óôï ìÝëëïí (ôï ðïëý) ðñÝðåé íá îåêéíÜ êÜðïéï ãåãïíüò ãéá íá åéäïðïéçèåßôå üôé åßíáé åðéêåßìåíï. Ãåãïíüôá ðïõ îåêéíïýí áñãüôåñá óôï ìÝëëïí äåí èá åìöáíßæïíôáé ùò åðéêåßìåíá. ÐñïóÝîôå üôé <strong>äåí åßíáé åããõçìÝíï</strong> üôé èá åìöáíéóôïýí üëá ôá ãåãïíüôá óôï ÷ñïíéêü áõôü äéÜóôçìá, êáé áí åßíáé ðÜñá ðïëëÜ (ðåñéóóüôåñá áðü ôçí ðñïôßìçóÞ óáò \"Åðéêåßìåíá ãåãïíüôá\") ôüôå ôá ðéï ìåëëïíôéêÜ äåí èá åìöáíéóôïýí.';\r
$string['explain_maxevents'] = 'Ï áñéèìüò áõôüò êáèïñßæåé ôï ìÝãéóôï áñéèìü áðü åðéêåßìåíá ãåãïíüôá ðïõ èá åðéôñÝðåôáé íá åìöáíßæåôáé êÜèå öïñÜ. Áí åðéëÝîåôå ðÜñá ðïëëÜ, ìðïñåß íá êáôáëáìâÜíïõí ðïëý ÷þñï óôçí ïèüíç.';\r
$string['explain_startwday'] = 'Ç ðñþôç ìÝñá ôçò åâäïìÜäáò êáèïñßæåé áðü ôï ðïéÜ ìÝñá èá îåêéíÜåé êÜèå åâäïìÜäá ïðïõäÞðïôå âëÝðåôå ìçíéáßï çìåñïëüãéï. ×ñçóéìïðïéÞóôå ôçí ãéá íá ðñïóáñìüóåôå ôçí åìöÜíéóç ôïõ çìåñïëïãßïõ óôéò ðñïôéìÞóåéò óáò.';\r
+$string['explain_timeformat'] = 'Åäþ ìðïñåßôå íá åðéëÝîåôå ôç ìïñöÞ ìå ôçí ïðïßá èá åìöáíßæïíôáé ïé þñåò óôï çìåñïëüãéï. Ïé åðéëïãÝò ãéá 12ùñç êáé 24ùñç ìïñöÞ åìöáíßæïõí üëåò ôéò þñåò óôç ìïñöÞ áõôÞ. Ìå ôçí åðéëïãÞ \"åî\' ïñéóìïý\" èá ÷ñçóéìïðïéåßôáé áõôüìáôá ç ìïñöÞ áðåéêüíéóçò ðïõ Ý÷åé ïñéóôåß ãéá ôç ãëþóóá óôçí ïðïßá âëÝðåôå ôç óåëßäá.';\r
$string['globalevents'] = 'Ãåãïíüôá óõóôÞìáôïò';\r
$string['groupevents'] = 'ÏìáäéêÜ ãåãïíüôá';\r
$string['hidden'] = 'äåí öáßíïíôáé';\r
$string['pref_lookahead'] = 'ÌÝñåò óôï ìÝëëïí';\r
$string['pref_maxevents'] = 'Åðéêåßìåíá ãåãïíüôá';\r
$string['pref_startwday'] = 'Ðñþôç ìÝñá åâäïìÜäáò';\r
+$string['pref_timeformat'] = 'ÌïñöÞ åìöÜíéóçò þñáò';\r
$string['preferences'] = 'ÐñïôéìÞóåéò';\r
$string['preferences_available'] = 'ÄéáèÝóéìåò ðñïóùðéêÝò ðñïôéìÞóåéò';\r
$string['shown'] = 'öáßíïíôáé';\r
$string['spanningevents'] = 'Ãåãïíüôá óå åîÝëéîç';\r
+$string['timeformat_12'] = '12ùñç (ðì/ìì)';\r
+$string['timeformat_24'] = '24ùñç';\r
$string['today'] = 'ÓÞìåñá';\r
$string['tomorrow'] = 'Áýñéï';\r
$string['tt_deleteevent'] = 'ÄéáãñáöÞ ãåãïíüôïò';\r
$string['explain_lookahead'] = 'This preference sets the (maximum) number of days in the future that an event has to start in in order to be displayed as an upcoming event. Events that start later in the future will never be displayed as upcoming. Please note that <strong>there is no guarantee</strong> that all events starting in this time frame will be displayed; if they are too many (more than the \"Maximum upcoming events\" preference) then the most distant events will not be displayed.';
$string['explain_maxevents'] = 'This preference sets the maximum number of upcoming events that can be displayed. If you pick a large number here, it is possible that upcoming events displays will take up a lot of space on your screen.';
$string['explain_startwday'] = 'This preference configures the way that all monthly calendars are displayed. Use it to make them be displayed in the way you are accustomed to.';
+$string['explain_timeformat'] = 'This preference controls the way that times are displayed in the calendar. You can choose to see times in either 12 or 24 hour format. If you choose \"default\", then the format will be automatically chosen according to the language you use in the site.';
$string['globalevents'] = 'Global events';
$string['groupevents'] = 'Group events';
$string['hidden'] = 'hidden';
$string['pref_lookahead'] = 'Upcoming events look-ahead';
$string['pref_maxevents'] = 'Maximum upcoming events';
$string['pref_startwday'] = 'First day of week';
+$string['pref_timeformat'] = 'Time display format';
$string['preferences'] = 'Preferences';
$string['preferences_available'] = 'Your personal preferences';
$string['shown'] = 'shown';
$string['spanningevents'] = 'Events underway';
+$string['timeformat_12'] = '12-hour (am/pm)';
+$string['timeformat_24'] = '24-hour';
$string['today'] = 'Today';
$string['tomorrow'] = 'Tomorrow';
$string['tt_deleteevent'] = 'Delete event';