Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }
Ejemplo n.º 3
0
 /**
  * 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);
 }
Ejemplo n.º 4
0
 /**
  * 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);
 }
Ejemplo n.º 5
0
 /**
  * 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);
 }
Ejemplo n.º 6
0
 /**
  * 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;
 }