public function delete() { $this->load(); // The object must be loaded before sending through to any event handlers -- ELIS-6567 $status = parent::delete(); events_trigger('cluster_deassigned', $this->to_object()); return $status; }
/** * Delete a record, plus all associated custom fields. */ public function delete() { $this->_load_context(); $filter = new field_filter('contextid', $this->_context->id); field_data_int::delete_records($filter); field_data_num::delete_records($filter); field_data_char::delete_records($filter); field_data_text::delete_records($filter); parent::delete(); }
/** * Perform all necessary tasks to remove a student enrolment from the system. */ function delete() { /// Remove any grade records for this enrolment. $result = student_grade::delete_for_user_and_class($this->userid, $this->classid); /// Unenrol them from the Moodle class. if ($moodlecourseid = moodle_get_course($this->classid)) { if (($mcourse = $this->_db->get_record('course', array('id' => $moodlecourseid))) && ($muser = $this->users->get_moodleuser())) { $sql = 'SELECT enrol.* FROM {user_enrolments} enrolments JOIN {enrol} enrol ON enrol.id = enrolments.enrolid WHERE enrol.courseid = ? AND enrolments.userid = ?'; $enrolments = $this->_db->get_recordset_sql($sql, array($moodlecourseid, $muser->id)); foreach ($enrolments as $enrolment) { $plugin = enrol_get_plugin($enrolment->enrol); $plugin->unenrol_user($enrolment, $muser->id); } unset($enrolments); } } parent::delete(); if ($this->completestatusid == STUSTATUS_NOTCOMPLETE) { $pmclass = $this->pmclass; if (empty($pmclass->maxstudents) || $pmclass->maxstudents > static::count_enroled($pmclass->id)) { $wlst = waitlist::get_next($this->classid); if (!empty($wlst)) { $wlst->enrol(); } } } return $result; }
/** * Perform parent delete */ public function delete() { parent::delete(); }
/** * Unenrols a user from a track. */ function unenrol() { //return $this->data_delete_record(); parent::delete(); }
/** * Perform parent delete and trigger unassigned event. */ public function delete() { parent::delete(); events_trigger('crlm_instructor_unassigned', $this); }
function delete() { //filter used in general $filter = new field_filter('categoryid', $this->id); //delete fields that belong to this category field::delete_records($filter, $this->_db); //delete the record associating the category to a context level field_category_contextlevel::delete_records($filter, $this->_db); //delete the actual category record parent::delete(); }
function delete() { $this->delete_all_track_classes(); parent::delete(); }
/** * Disassociates a cluster from a track. */ public function delete() { if ($this->autounenrol) { // ELIS-7582 @set_time_limit(0); // Unenrol all users in the cluster from the track (unless they are // in another cluster associated with the track and autoenrolled by // that cluster). Only work on users that were autoenrolled in the // track by the cluster. // $filter selects all users enrolled in the track due to being in // a(nother) cluster associated with the track. We will left-join // with it, and only select non-matching records. $params = array(); $filter = 'SELECT u.userid ' . 'FROM {' . clusterassignment::TABLE . '} u ' . 'INNER JOIN {' . usertrack::TABLE . '} ut ON u.userid = ut.userid ' . 'WHERE ut.trackid = :trackid AND u.autoenrol=\'1\''; $params['trackid'] = $this->trackid; $sql = 'SELECT usrtrk.id ' . 'FROM {' . clusterassignment::TABLE . '} cu ' . 'INNER JOIN {' . usertrack::TABLE . '} usrtrk ON cu.userid = usrtrk.userid AND usrtrk.trackid = \'' . $this->trackid . '\' ' . 'LEFT OUTER JOIN (' . $filter . ') f ON f.userid = cu.userid ' . 'WHERE cu.clusterid = :clusterid AND cu.autoenrol=\'1\' AND f.userid IS NULL'; $params['clusterid'] = $this->clusterid; $usertracks = $this->_db->get_recordset_sql($sql, $params); foreach ($usertracks as $usertrack) { $ut = new usertrack($usertrack->id); $ut->unenrol(); } unset($usertracks); } parent::delete(); }