]> git.mjollnir.org Git - moodle.git/commitdiff
Addressing bug 1257:
authordefacer <defacer>
Thu, 22 Apr 2004 09:02:23 +0000 (09:02 +0000)
committerdefacer <defacer>
Thu, 22 Apr 2004 09:02:23 +0000 (09:02 +0000)
Changed the handling of time display format; now it's read from the language
file by default, and a new preference has been added to allow each user to
manually specify his preferred time format.

calendar/lib.php
calendar/preferences.php
lang/el/calendar.php
lang/en/calendar.php

index 010fc016cb93f96f9e780a6f1a2e92f7e95c56a8..6a0d6710cf1e26c457703ae70549d6d4e12bdcf4 100644 (file)
@@ -50,6 +50,8 @@ define ('SECS_IN_DAY', 86400);
 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;
@@ -674,7 +676,13 @@ function calendar_day_representation($tstamp, $now = false, $usecommonwords = tr
 }
 
 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) {
@@ -1160,6 +1168,7 @@ function calendar_preferences_array() {
         'startwday' => get_string('pref_startwday', 'calendar'),
         'maxevents' => get_string('pref_maxevents', 'calendar'),
         'lookahead' => get_string('pref_lookahead', 'calendar'),
+        'timeformat' => get_string('pref_timeformat', 'calendar'),
     );
 }
 
index 16b525d35db5d43decb2a1048bdb68a0e0829675..c49838c7089b6d3837c26962f418ab789c2beeef 100644 (file)
 
     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) {
index 40caeb2532f3925eb1b1e19ecc8b911c8448b3c5..fb1ede3cb1e219818812ce51f100bee004fda0e6 100644 (file)
@@ -33,6 +33,7 @@ $string['expired'] = '
 $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
@@ -44,10 +45,13 @@ $string['oneevent'] = '1 
 $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
index 8fa8f865a6b40f2fad98f0de19d9fdeff8bdb1f0..83d4adee40f8928f601feaa7a5f3b81eac9d3d0a 100644 (file)
@@ -33,6 +33,7 @@ $string['expired'] = 'Expired';
 $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';
@@ -44,10 +45,13 @@ $string['oneevent'] = '1 event';
 $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';