Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Changes related to timezone display. Datetime display now uses userda…

…te()

which itself uses the USER variable timezone to alter the displayed time.
  • Loading branch information...
commit 873960de8cd652395bd512be8cc45f3273641d0f 1 parent c5db2fd
martin authored
View
12 course/lib.php
@@ -8,10 +8,6 @@
);
-function logdate($date) {
- return date("l, j F Y, g:i A", $date);
-}
-
function print_log_selector_form($course, $selecteduser=0, $selecteddate="today") {
// Get all the possible users
@@ -36,11 +32,11 @@ function print_log_selector_form($course, $selecteduser=0, $selecteddate="today"
// Get all the possible dates
$tt = getdate(time());
$timemidnight = $today = mktime (0, 0, 0, $tt["mon"], $tt["mday"], $tt["year"]);
- $dates = array("$today" => "Today, ".date("j F Y", $today) );
+ $dates = array("$today" => "Today, ".userdate($today, "j F Y") );
while ($timemidnight > $course->startdate) {
$timemidnight = $timemidnight - 86400;
- $dates["$timemidnight"] = date("l, j F Y", $timemidnight);
+ $dates["$timemidnight"] = userdate($timemidnight, "l, j F Y");
}
if ($selecteddate == "today") {
@@ -106,8 +102,8 @@ function print_log($course, $user=0, $date=0, $order="ORDER BY l.time ASC") {
}
echo "<TR>";
- echo "<TD ALIGN=right><FONT SIZE=2>".date("l", $log->time)."</TD>";
- echo "<TD><FONT SIZE=2>".date("j M Y, h:i A", $log->time)."</TD>";
+ echo "<TD ALIGN=right><FONT SIZE=2>".userdate($log->time, "l")."</TD>";
+ echo "<TD><FONT SIZE=2>".userdate($log->time, "j M Y, h:i A")."</TD>";
echo "<TD><FONT SIZE=2><B>$log->firstname $log->lastname</B></TD>";
echo "<TD><FONT SIZE=2>";
link_to_popup_window( make_log_url($log->module,$log->url), "fromloglive","$log->module $log->action", 400, 600);
View
2  course/log.php
@@ -28,7 +28,7 @@
$userinfo = "$u->firstname $u->lastname";
}
if ($date) {
- $dateinfo = date("l, j F Y", $date);
+ $dateinfo = userdate($date, "l, j F Y");
}
print_header("$course->shortname: Logs", "$course->shortname : Logs",
View
2  course/new.php
@@ -20,7 +20,7 @@
"<A HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</A> -> What's new");
print_heading("Recent activity since your last login");
- print_heading(logdate($USER->lastlogin));
+ print_heading(userdate($USER->lastlogin));
print_simple_box_start("center");
$modules = array ("users");
View
4 files/index.php
@@ -535,7 +535,7 @@ function displaydir ($wdir) {
$filename = $fullpath."/".$dir;
$fileurl = rawurlencode($wdir."/".$dir);
$filesafe = rawurlencode($dir);
- $filedate = date("d-m-Y H:i:s", filectime($filename));
+ $filedate = userdate(filectime($filename), "d-m-Y H:i:s");
echo "<TR>";
@@ -561,7 +561,7 @@ function displaydir ($wdir) {
$fileurl = "$wdir/$file";
$filesafe = rawurlencode($file);
$fileurlsafe = rawurlencode($fileurl);
- $filedate = date("d-m-Y H:i:s", filectime($filename));
+ $filedate = userdate(filectime($filename), "d-m-Y H:i:s");
echo "<TR>";
View
1  lib/db/mysql.sql
@@ -23,6 +23,7 @@ CREATE TABLE course (
summary text NOT NULL,
format tinyint(4) NOT NULL default '1',
teacher varchar(100) NOT NULL default 'Teacher',
+ student varchar(100) NOT NULL default 'Student',
startdate int(10) unsigned NOT NULL default '0',
enddate int(10) unsigned NOT NULL default '0',
timemodified int(10) unsigned NOT NULL default '0',
View
18 lib/moodlelib.php
@@ -178,8 +178,22 @@ function print_editing_switch($courseid) {
}
-function moodledate($date) {
- return date("l, j F Y, g:i A T", $date);
+function userdate($date, $format="l, j F Y, g:i A") {
+ global $USER;
+
+ if (abs($USER->timezone) > 12) {
+ return date("$format T", $date);
+ }
+ return gmdate($format, $date + (int)($USER->timezone * 3600));
+}
+
+function usergetdate($date) {
+ global $USER;
+
+ if (abs($USER->timezone) > 12) {
+ return getdate($date);
+ }
+ return getdate($date + (int)($USER->timezone * 3600));
}
View
8 lib/weblib.php
@@ -163,14 +163,18 @@ function close_window_button() {
}
-function choose_from_menu ($options, $name, $selected="", $nothing="Choose...", $script="") {
+function choose_from_menu ($options, $name, $selected="", $nothing="Choose...", $script="", $nothingvalue="0") {
// $options["value"]["label"]
if ($script) {
$javascript = "onChange=\"$script\"";
}
echo "<SELECT NAME=$name $javascript>\n";
- echo " <OPTION VALUE=0>$nothing</OPTION>\n";
+ echo " <OPTION VALUE=\"$nothingvalue\"\n";
+ if ($nothingvalue == $selected) {
+ echo " SELECTED";
+ }
+ echo ">$nothing</OPTION>\n";
foreach ($options as $value => $label) {
echo " <OPTION VALUE=\"$value\"";
if ($value == $selected) {
View
2  mod/choice/report.php
@@ -65,7 +65,7 @@
echo "<TD NOWRAP BGCOLOR=\"$THEME->cellheading\">$user->firstname $user->lastname</TD>";
echo "<TD><P>&nbsp;";
if ($answer->timemodified) {
- echo moodledate($answer->timemodified);
+ echo userdate($answer->timemodified);
}
echo "</P> </TD>";
View
4 mod/journal/lib.php
@@ -4,8 +4,4 @@
"2" => "Satisfactory",
"1" => "Not satisfactory");
-function journaldate($date) {
- return date("l, j F Y, g:i A T", $date);
-}
-
?>
View
4 mod/journal/new.php
@@ -16,7 +16,7 @@
echo "<P><B>Journal feedback: $journal->name</B></P>";
echo "<FONT SIZE=2><UL>";
echo "<LI><A HREF=\"/mod/journal/view.php?id=$journal->coursemodule\">Your journal entry</A> has some feedback!";
- echo ", ".moodledate($entry->timemarked);
+ echo ", ".userdate($entry->timemarked);
echo "</UL></FONT>";
}
@@ -29,7 +29,7 @@
echo "<FONT SIZE=2><UL>";
foreach ($entries as $entry) {
echo "<LI>$entry->firstname $entry->lastname edited their journal";
- echo ", ".moodledate($entry->modified);
+ echo ", ".userdate($entry->modified);
}
echo "</UL></FONT>";
}
View
4 mod/journal/report.php
@@ -106,7 +106,7 @@
echo "</TD>";
echo "<TD NOWRAP WIDTH=100% BGCOLOR=\"$THEME->cellheading\">$student->firstname $student->lastname";
if ($entry) {
- echo "&nbsp;&nbsp;<FONT SIZE=1>Last edited: ".journaldate($entry->modified)."</FONT>";
+ echo "&nbsp;&nbsp;<FONT SIZE=1>Last edited: ".userdate($entry->modified)."</FONT>";
}
echo "</TR>";
@@ -128,7 +128,7 @@
echo "<TD BGCOLOR=\"$THEME->cellheading\">Teacher Feedback:";
choose_from_menu($RATING, "r$entry->id", $entry->rating, "Rate...");
if ($entry->timemarked) {
- echo "&nbsp;&nbsp;<FONT SIZE=1>".journaldate($entry->timemarked)."</FONT>";
+ echo "&nbsp;&nbsp;<FONT SIZE=1>".userdate($entry->timemarked)."</FONT>";
}
echo "<BR><TEXTAREA NAME=\"c$entry->id\" ROWS=4 COLS=60 WRAP=virtual>";
p($entry->comment);
View
4 mod/journal/user.php
@@ -45,7 +45,7 @@
echo "<TD BGCOLOR=\"$THEME->cellcontent\">";
echo "<P><A HREF=\"$CFG->wwwroot/mod/journal/view.php?id=$journal->coursemodule\">$journal->name</A></P>";
if ($entry->modified) {
- echo "<P><FONT SIZE=1>Last edited: ".moodledate($entry->modified)."</FONT></P>";
+ echo "<P><FONT SIZE=1>Last edited: ".userdate($entry->modified)."</FONT></P>";
}
echo text_to_html($entry->text);
if ($entry->teacher) {
@@ -54,7 +54,7 @@
print_user_picture($entry->teacher, $course->id, $teachers[$entry->teacher]->picture);
echo "<TD BGCOLOR=\"$THEME->cellheading\">".$RATING[$entry->rating];
if ($entry->timemarked) {
- echo "&nbsp;&nbsp;<FONT SIZE=1>".moodledate($entry->timemarked)."</FONT>";
+ echo "&nbsp;&nbsp;<FONT SIZE=1>".userdate($entry->timemarked)."</FONT>";
}
echo "<BR><FONT COLOR=#000055>";
echo text_to_html($entry->comment);
View
10 mod/journal/view.php
@@ -82,15 +82,15 @@
if ($timenow < $timefinish) {
if ($entry->modified) {
echo "<P><FONT SIZE=-2><B>Last edited:</B> ";
- echo journaldate($entry->modified)."</FONT></P>";
+ echo userdate($entry->modified)."</FONT></P>";
}
if ($journal->days) {
echo "<P><FONT SIZE=-2><B>Editing period ends:</B> ";
- echo journaldate($timefinish)."</FONT></P>";
+ echo userdate($timefinish)."</FONT></P>";
}
} else {
echo "<P><FONT SIZE=-2><B>Editing period has ended:</B> ";
- echo journaldate($timefinish)."</P>";
+ echo userdate($timefinish)."</P>";
}
if ($entry->comment || $entry->rating) {
@@ -101,7 +101,7 @@
} else {
echo "<P><B>This journal won't be open until: ";
- echo journaldate($timestart)."</B></P>";
+ echo userdate($timestart)."</B></P>";
}
print_footer($course);
@@ -122,7 +122,7 @@ function print_feedback($course, $entry) {
print_user_picture($teacher->id, $course->id, $teacher->picture);
echo "</TD>";
echo "<TD NOWRAP WIDTH=100% BGCOLOR=\"$THEME->cellheading\">$teacher->firstname $teacher->lastname";
- echo "&nbsp;&nbsp;<FONT SIZE=2><I>".journaldate($entry->timemarked)."</I>";
+ echo "&nbsp;&nbsp;<FONT SIZE=2><I>".userdate($entry->timemarked)."</I>";
echo "</TR>";
echo "\n<TR><TD WIDTH=100% BGCOLOR=\"$THEME->cellcontent\">";
View
4 mod/survey/download.php
@@ -142,7 +142,7 @@
$myxls->InsertText($u->lastname);
$myxls->InsertText($u->email);
$myxls->InsertText($u->idnumber);
- $myxls->InsertText( date("d-M-Y h:i:s A", $results["$user"]["time"]) );
+ $myxls->InsertText( userdate($results["$user"]["time"], "d-M-Y h:i:s A") );
$myxls->InsertText($notes);
foreach ($order as $key => $qid) {
@@ -194,7 +194,7 @@
echo $u->lastname." ";
echo $u->email." ";
echo $u->idnumber." ";
- echo date("d-M-Y h:i:s A", $results["$user"]["time"])." ";
+ echo userdate($results["$user"]["time"], "d-M-Y h:i:s A")." ";
foreach ($order as $key => $qid) {
$question = $questions["$qid"];
View
4 mod/survey/report.php
@@ -190,7 +190,7 @@
print_user_picture($a->user, $course->id, $a->picture, false);
echo "</TD>";
echo "<TD><P><A HREF=\"report.php?id=$id&action=student&student=$a->user\">$a->firstname $a->lastname</A></TD>";
- echo "<TD><P>".date("j M Y h:i A",$a->time)."</TD>";
+ echo "<TD><P>".userdate($a->time, "j M Y h:i A")."</TD>";
echo "<TD BGCOLOR=\"$THEME->cellcontent\"><P>";
if ($a->answer1) {
echo "$a->answer1 - ".$answers[$a->answer1 - 1];
@@ -330,7 +330,7 @@ function print_all_responses($survey, $results) {
echo "<TR>";
echo "<TD><A HREF=\"report.php?action=student&student=$a->id&id=$survey\">$a->firstname $a->lastname</A></TD>";
- echo "<TD>".date("j M Y, h:i A",$a->time)."</TD>";
+ echo "<TD>".userdate($a->time, "j M Y, h:i A")."</TD>";
echo "<TD align=right>$a->numanswers</TD>";
echo "</TR>";
}
View
25 user/edit.html
@@ -51,6 +51,31 @@
<td><TEXTAREA NAME=description COLS=50 ROWS=10 WRAP=virtual><?=$user->description ?></TEXTAREA>
</td>
</tr>
+<tr valign=top>
+ <td><P>Timezone:</td>
+ <td><?
+ if (abs($user->timezone) > 12) {
+ $user->timezone = 99;
+ }
+ $timenow = time();
+
+ for ($tz = -23; $tz <= 24; $tz++) {
+ $zone = (float)$tz/2.0;
+ $usertime = $timenow + ($tz * 1800);
+ if ($tz == 0) {
+ $timezones["$zone"] = gmdate("D, h:i a", $usertime)." (GMT)";
+ } else if ($tz < 0) {
+ $timezones["$zone"] = gmdate("D, h:i a", $usertime)." (GMT$zone)";
+ } else {
+ $timezones["$zone"] = gmdate("D, h:i a", $usertime)." (GMT+$zone)";
+ }
+ }
+
+ choose_from_menu ($timezones, "timezone", $user->timezone, "Use the server's local time", "", "99");
+
+ ?>
+ (Your current local time)</td>
+</tr>
<tr>
<td></td>
<td><input type="submit" value="Update my profile"></td>
View
8 user/edit.php
@@ -99,8 +99,16 @@
$usernew->timemodified = time();
+
+
if (update_record("user", $usernew)) {
add_to_log($course->id, "user", "update", "view.php?user=$user->id&course=$course->id", "");
+
+ // Copy data into $USER session variable
+ $usernew = (array)$usernew;
+ foreach ($usernew as $variable => $value) {
+ $USER->$variable = $value;
+ }
redirect("view.php?id=$user->id&course=$course->id", "Changes saved");
} else {
error("Could not update the user record ($user->id)");
View
2  user/index.php
@@ -76,7 +76,7 @@ function print_user($user, $course, $teacherlinks) {
echo "<FONT SIZE=1>";
if ($teacherlinks) {
- $tt = getdate(time());
+ $tt = usergetdate(time());
$today = mktime (0, 0, 0, $tt["mon"], $tt["mday"], $tt["year"]);
echo "<A HREF=\"../course/user.php?id=$course->id&user=$user->id\">Contributions</A><BR>";
echo "<A HREF=\"../course/log.php?id=$course->id&user=$user->id&date=$today\">Today's logs</A><BR>";
View
4 user/lib.php
@@ -2,10 +2,6 @@
/// FUNCTIONS ///////////////////////////////////////////////////////////
-function userdate($date) {
- return date("l, j F Y, g:i A T", $date);
-}
-
function ImageCopyBicubic ($dst_img, $src_img, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) {
if (function_exists("ImageCopyResampled")) { // Assumes gd >= 2.0.1 as well
Please sign in to comment.
Something went wrong with that request. Please try again.