MDL-53149 mod_data: update backup and webservices for timemodified

Amended to add support for standard restore apply_date_offset().
This commit is contained in:
Dan Poltawski
2016-03-15 23:41:55 +01:00
committed by Eloy Lafuente (stronk7)
parent b174e9efa6
commit 4539892cda
4 changed files with 7 additions and 4 deletions
@@ -45,7 +45,7 @@ class backup_data_activity_structure_step extends backup_activity_structure_step
'addtemplate', 'rsstemplate', 'rsstitletemplate', 'csstemplate',
'jstemplate', 'asearchtemplate', 'approval', 'manageapproved', 'scale',
'assessed', 'assesstimestart', 'assesstimefinish', 'defaultsort',
'defaultsortdir', 'editany', 'notification'));
'defaultsortdir', 'editany', 'notification', 'timemodified'));
$fields = new backup_nested_element('fields');
@@ -61,6 +61,8 @@ class restore_data_activity_structure_step extends restore_activity_structure_st
$data->timeviewto = $this->apply_date_offset($data->timeviewto);
$data->assesstimestart = $this->apply_date_offset($data->assesstimestart);
$data->assesstimefinish = $this->apply_date_offset($data->assesstimefinish);
// Added in 3.1, hence conditional.
$data->timemodified = isset($data->timemodified) ? $this->apply_date_offset($data->timemodified) : time();
if ($data->scale < 0) { // scale found, get mapping
$data->scale = -($this->get_mappingid('scale', abs($data->scale)));
+3 -2
View File
@@ -128,7 +128,7 @@ class mod_data_external extends external_api {
$additionalfields = array('maxentries', 'rssarticles', 'singletemplate', 'listtemplate',
'listtemplateheader', 'listtemplatefooter', 'addtemplate', 'rsstemplate', 'rsstitletemplate',
'csstemplate', 'jstemplate', 'asearchtemplate', 'approval', 'manageapproved', 'scale', 'assessed', 'assesstimestart',
'assesstimefinish', 'defaultsort', 'defaultsortdir', 'editany', 'notification');
'assesstimefinish', 'defaultsort', 'defaultsortdir', 'editany', 'notification', 'timemodified');
// This is for avoid a long repetitive list.
foreach ($additionalfields as $field) {
@@ -195,7 +195,8 @@ class mod_data_external extends external_api {
'defaultsort' => new external_value(PARAM_INT, 'defaultsort field', VALUE_OPTIONAL),
'defaultsortdir' => new external_value(PARAM_INT, 'defaultsortdir field', VALUE_OPTIONAL),
'editany' => new external_value(PARAM_BOOL, 'editany field', VALUE_OPTIONAL),
'notification' => new external_value(PARAM_INT, 'notification field', VALUE_OPTIONAL)
'notification' => new external_value(PARAM_INT, 'notification field', VALUE_OPTIONAL),
'timemodified' => new external_value(PARAM_INT, 'Time modified', VALUE_OPTIONAL)
), 'Database'
)
),
+1 -1
View File
@@ -141,7 +141,7 @@ class mod_data_external_testcase extends externallib_advanced_testcase {
// Now, try as a teacher for getting all the additional fields.
self::setUser($teacher);
$additionalfields = array('maxentries', 'rssarticles', 'singletemplate', 'listtemplate',
$additionalfields = array('maxentries', 'rssarticles', 'singletemplate', 'listtemplate', 'timemodified',
'listtemplateheader', 'listtemplatefooter', 'addtemplate', 'rsstemplate', 'rsstitletemplate',
'csstemplate', 'jstemplate', 'asearchtemplate', 'approval', 'scale', 'assessed', 'assesstimestart',
'assesstimefinish', 'defaultsort', 'defaultsortdir', 'editany', 'notification', 'manageapproved');