Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-26753 DST issues
  3. MDL-12031

After switch from daylight savings to standard time, course>partcipants>activity reports>all logs: graph of hits on course by user shows two Sundays and log entries are shown under wrong day.

    Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.5, 1.8.3, 1.9, 2.0.7, 2.1.4, 2.2.1, 2.3
    • Fix Version/s: None
    • Component/s: Administration, Reports
    • Labels:

      Description

      After switch from daylight savings to standard time (in US, Sunday, 2007-11-04), course>partcipants>activity reports>all logs: graph of hits on course by user shows two Sundays and log entries are shown under wrong day.
      See discussion here for images: http://moodle.org/mod/forum/discuss.php?d=83392
      Note, to reproduce make sure the course start date in which you test is close to the current date to make sure you can see individual days but before the time change so you can see the double days.

      This has effected Moodle sites:
      Moodle versions 1.6.5,1.8.3+(2007-11-01),1.9+(2007-11-01),
      OS Solaris 10 and Linux.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              mspall Michael Spall added a comment -

              If you switch the setting Administration>Location>Location settings>Default timezone(timezone) from "Server's local time" to any other setting the graph appears correctly.

              Show
              mspall Michael Spall added a comment - If you switch the setting Administration>Location>Location settings>Default timezone(timezone) from "Server's local time" to any other setting the graph appears correctly.
              Hide
              mspall Michael Spall added a comment -

              Correction:
              If you switch the setting Administration>Location>Location settings>Default timezone(timezone) from "Server's local time" or a setting that uses daylight savings time to a setting that doesn't use daylight savings time, e.g, MST or -7 the graph appears correctly.

              Show
              mspall Michael Spall added a comment - Correction: If you switch the setting Administration>Location>Location settings>Default timezone(timezone) from "Server's local time" or a setting that uses daylight savings time to a setting that doesn't use daylight savings time, e.g, MST or -7 the graph appears correctly.
              Hide
              rezeau Joseph Rézeau added a comment -

              Michael,

              Your suggested workaroung may indeed solve the current problem, but then it means that the "country timezones" time system is no longer available on the moodle site.

              I think another, long-term solution should be found, which would allow the use of a country timezone which has a daylight savings time system (such as most European countries) AND does not mess up dates in the logs graph...
              Joseph

              Show
              rezeau Joseph Rézeau added a comment - Michael, Your suggested workaroung may indeed solve the current problem, but then it means that the "country timezones" time system is no longer available on the moodle site. I think another, long-term solution should be found, which would allow the use of a country timezone which has a daylight savings time system (such as most European countries) AND does not mess up dates in the logs graph... Joseph
              Hide
              mspall Michael Spall added a comment -

              It also has the problem of showing incorrect times for historical data during the daylight savings periods.

              Show
              mspall Michael Spall added a comment - It also has the problem of showing incorrect times for historical data during the daylight savings periods.
              Hide
              dougiamas Martin Dougiamas added a comment -

              Is this a regression? I'm almost certain this used to work correctly ...

              Show
              dougiamas Martin Dougiamas added a comment - Is this a regression? I'm almost certain this used to work correctly ...
              Hide
              skodak Petr Skoda added a comment -

              I doubt it is a regression, I think it depends on version of PHP and combination of timezone/DST.

              Show
              skodak Petr Skoda added a comment - I doubt it is a regression, I think it depends on version of PHP and combination of timezone/DST.
              Hide
              mspall Michael Spall added a comment -

              The PHP versions for our Moodle sites were 5.2.0 and 5.2.4 at the time the issue was filed. The sites with PHP 5.2.4 were updated to PHP 5.2.5 and the issue was still present.

              I have wondered whether the issue is incorrect values in mdl_timezone, specifically in the dst_time and std_time fields.

              Show
              mspall Michael Spall added a comment - The PHP versions for our Moodle sites were 5.2.0 and 5.2.4 at the time the issue was filed. The sites with PHP 5.2.4 were updated to PHP 5.2.5 and the issue was still present. I have wondered whether the issue is incorrect values in mdl_timezone, specifically in the dst_time and std_time fields.
              Hide
              jrchamp Jonathan Champ added a comment -

              I have attached a patch for Moodle 1.9.11 that correctly calculates the days to show in the drop downs. This resolves the wrong date and wrong log entry date range issues for the activity log. The issue is due to the incorrect assumption that there are 86400 seconds in a day when you are using the user's timezone.

              Show
              jrchamp Jonathan Champ added a comment - I have attached a patch for Moodle 1.9.11 that correctly calculates the days to show in the drop downs. This resolves the wrong date and wrong log entry date range issues for the activity log. The issue is due to the incorrect assumption that there are 86400 seconds in a day when you are using the user's timezone.
              Hide
              blepoxp Glenn Ansley added a comment -

              I have taken Jonathan's 1.9.11 patch and updated it for 19_STABLE, 20_STABLE, 21_STABLE, 22_STABLE, and master. I realize 19_STABLE probably won't be integrated but we needed so I include it for others.

              Show
              blepoxp Glenn Ansley added a comment - I have taken Jonathan's 1.9.11 patch and updated it for 19_STABLE, 20_STABLE, 21_STABLE, 22_STABLE, and master. I realize 19_STABLE probably won't be integrated but we needed so I include it for others.
              Hide
              poltawski Dan Poltawski added a comment -

              Hi Glenn,

              Thanks for the work on this.

              I am not intimately familiar with these timezone issues but I am not sure this is the correct solution. Any 'dst' logic which needs to be done in the individual reports feels like the wrong place to me. Are we sure that this can't be done using the the moodlelib functions? If not we might need to add this functionality into the core libraries rather than doing the calculations individually in each plugin.

              Also there is the variable $old_offset - variables with underscores are not permitted in the moodle coding guidelines.

              thanks!

              Show
              poltawski Dan Poltawski added a comment - Hi Glenn, Thanks for the work on this. I am not intimately familiar with these timezone issues but I am not sure this is the correct solution. Any 'dst' logic which needs to be done in the individual reports feels like the wrong place to me. Are we sure that this can't be done using the the moodlelib functions? If not we might need to add this functionality into the core libraries rather than doing the calculations individually in each plugin. Also there is the variable $old_offset - variables with underscores are not permitted in the moodle coding guidelines. thanks!
              Hide
              salvetore Michael de Raadt added a comment -

              I believe this was tackled in MDL-36380.

              Show
              salvetore Michael de Raadt added a comment - I believe this was tackled in MDL-36380 .

                People

                • Votes:
                  5 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: