}
public function process_grouping_group($data) {
- global $DB;
-
- $data = (object)$data;
-
- $data->groupingid = $this->get_new_parentid('grouping'); // Use new parentid
- $data->groupid = $this->get_mappingid('group', $data->groupid); // Get from mappings
+ global $CFG;
- $params = array();
- $params['groupingid'] = $data->groupingid;
- $params['groupid'] = $data->groupid;
+ require_once($CFG->dirroot.'/group/lib.php');
- if (!$DB->record_exists('groupings_groups', $params)) {
- $DB->insert_record('groupings_groups', $data); // No need to set this mapping (no child info nor files)
- }
+ $data = (object)$data;
+ groups_assign_grouping($this->get_new_parentid('grouping'), $this->get_mappingid('group', $data->groupid), $data->timeadded);
}
protected function after_execute() {
*
* @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))) {
$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;