/** * Update instance of enrol plugin. * @param stdClass $instance * @param stdClass $data modified instance fields * @return boolean */ public function update_instance($instance, $data) { // In the form we are representing 2 db columns with one field. if ($data->expirynotify == 2) { $data->expirynotify = 1; $data->notifyall = 1; } else { $data->notifyall = 0; } // Keep previous/default value of disabled expirythreshold option. if (!$data->expirynotify) { $data->expirythreshold = $instance->expirythreshold; } // Add previous value of newenrols if disabled. if (!isset($data->customint6)) { $data->customint6 = $instance->customint6; } return parent::update_instance($instance, $data); }
/** * Update instance of enrol plugin. * @param stdClass $instance * @param stdClass $data modified instance fields * @return boolean */ public function update_instance($instance, $data) { global $CFG; require_once "{$CFG->dirroot}/enrol/meta/locallib.php"; if (!empty($data->customint2) && $data->customint2 == ENROL_META_CREATE_GROUP) { $context = context_course::instance($instance->courseid); require_capability('moodle/course:managegroups', $context); $groupid = enrol_meta_create_new_group($instance->courseid, $data->customint1); $data->customint2 = $groupid; } $result = parent::update_instance($instance, $data); enrol_meta_sync($instance->courseid); return $result; }
/** * Update instance of enrol plugin. * * @param stdClass $instance * @param stdClass $data modified instance fields * @return boolean */ public function update_instance($instance, $data) { global $DB; parent::update_instance($instance, $data); // Remove the fields we don't want to override. unset($data->id); unset($data->timecreated); unset($data->timemodified); // Convert to an array we can loop over. $fields = (array) $data; // Update the data in our table. $tool = new stdClass(); $tool->id = $data->toolid; $tool->timemodified = time(); foreach ($fields as $field => $value) { $tool->{$field} = $value; } return $DB->update_record('enrol_lti_tools', $tool); }
/** * Update instance of enrol plugin. * @param stdClass $instance * @param stdClass $data modified instance fields * @return boolean */ public function update_instance($instance, $data) { if ($data) { $data->cost = unformat_float($data->cost); } return parent::update_instance($instance, $data); }
/** * Update instance of enrol plugin. * @param stdClass $instance * @param stdClass $data modified instance fields * @return boolean */ public function update_instance($instance, $data) { global $DB; // Delete all other instances, leaving only one. if ($instances = $DB->get_records('enrol', array('courseid' => $instance->courseid, 'enrol' => 'manual'), 'id ASC')) { foreach ($instances as $anotherinstance) { if ($anotherinstance->id != $instance->id) { $this->delete_instance($anotherinstance); } } } return parent::update_instance($instance, $data); }
/** * Update instance of enrol plugin. * @param stdClass $instance * @param stdClass $data modified instance fields * @return boolean */ public function update_instance($instance, $data) { global $CFG; // NOTE: no cohort changes here!!! $context = context_course::instance($instance->courseid); if ($data->roleid != $instance->roleid) { // The sync script can only add roles, for perf reasons it does not modify them. $params = array('contextid' => $context->id, 'roleid' => $instance->roleid, 'component' => 'enrol_cohort', 'itemid' => $instance->id); role_unassign_all($params); } // Create a new group for the cohort if requested. if ($data->customint2 == COHORT_CREATE_GROUP) { require_capability('moodle/course:managegroups', $context); $groupid = enrol_cohort_create_new_group($instance->courseid, $data->customint1); $data->customint2 = $groupid; } $result = parent::update_instance($instance, $data); require_once "{$CFG->dirroot}/enrol/cohort/locallib.php"; $trace = new null_progress_trace(); enrol_cohort_sync($trace, $instance->courseid); $trace->finished(); return $result; }