/** * Create or update new group and return id of group. * * @param object $booking * @param object $option * @return int */ public function group($bookingtmp = NULL, $optiontmp = NULL) { global $DB; $booking = clone $bookingtmp; $option = clone $optiontmp; if ($booking->addtogroup == 1 && $option->courseid > 0) { $cm = get_coursemodule_from_instance('booking', $booking->id); $tags = new booking_tags($cm); $booking = $tags->bookingReplace($booking); $option = $tags->optionReplace($option); $newGroupData = new stdClass(); if (isset($option->id)) { $groupid = $DB->get_field('booking_options', 'groupid', array('id' => $option->id)); if (!is_null($groupid) && $groupid > 0) { $newGroupData->id = $groupid; } $newGroupData->courseid = $option->courseid; $newGroupData->name = $booking->name . ' - ' . $option->text . ' - ' . $option->id; $newGroupData->description = $booking->name . ' - ' . $option->text; $newGroupData->descriptionformat = FORMAT_HTML; if (isset($newGroupData->id)) { groups_update_group($newGroupData); return $newGroupData->id; } else { return groups_create_group($newGroupData); } } } else { return 0; } }