MDL-30797 - backup groups: Added a parameter to the groups_assign_grouping function.
authorAdrian Greeve <adrian@moodle.com>
Tue, 8 Jan 2013 05:17:24 +0000 (13:17 +0800)
committerAdrian Greeve <adrian@moodle.com>
Mon, 14 Jan 2013 07:15:19 +0000 (15:15 +0800)
$timeadded has now been included so that the backup / restore functions can now use
this API rather than duplicating the code.

backup/moodle2/restore_stepslib.php
group/lib.php

index 8a2578a..d2b1c3a 100644 (file)
@@ -844,8 +844,11 @@ class restore_groups_structure_step extends restore_structure_step {
 
     public function process_grouping_group($data) {
         global $CFG;
+
         require_once($CFG->dirroot.'/group/lib.php');
-        groups_assign_grouping($this->get_new_parentid('grouping'), $this->get_mappingid('group', $data->groupid));
+
+        $data = (object)$data;
+        groups_assign_grouping($this->get_new_parentid('grouping'), $this->get_mappingid('group', $data->groupid), $data->timeadded);
     }
 
     protected function after_execute() {
index 024e81b..c9e2cc0 100644 (file)
@@ -634,9 +634,10 @@ function groups_parse_name($format, $groupnumber) {
  *
  * @param int groupingid
  * @param int groupid
+ * @param int $timeadded  The time the group was added to the grouping.
  * @return bool true or exception
  */
-function groups_assign_grouping($groupingid, $groupid) {
+function groups_assign_grouping($groupingid, $groupid, $timeadded = null) {
     global $DB;
 
     if ($DB->record_exists('groupings_groups', array('groupingid'=>$groupingid, 'groupid'=>$groupid))) {
@@ -645,7 +646,11 @@ function groups_assign_grouping($groupingid, $groupid) {
     $assign = new stdClass();
     $assign->groupingid = $groupingid;
     $assign->groupid    = $groupid;
-    $assign->timeadded  = time();
+    if ($timeadded != null) {
+        $assign->timeadded = (integer)$timeadded;
+    } else {
+        $assign->timeadded = time();
+    }
     $DB->insert_record('groupings_groups', $assign);
 
     return true;