コード例 #1
0
 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;
 }
コード例 #2
0
 /**
  * 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();
 }
コード例 #3
0
ファイル: student.class.php プロジェクト: jamesmcq/elis
 /**
  * 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;
 }
コード例 #4
0
 /**
  * Perform parent delete
  */
 public function delete()
 {
     parent::delete();
 }
コード例 #5
0
ファイル: usertrack.class.php プロジェクト: jamesmcq/elis
 /**
  * Unenrols a user from a track.
  */
 function unenrol()
 {
     //return $this->data_delete_record();
     parent::delete();
 }
コード例 #6
0
ファイル: instructor.class.php プロジェクト: jamesmcq/elis
 /**
  * Perform parent delete and trigger unassigned event.
  */
 public function delete()
 {
     parent::delete();
     events_trigger('crlm_instructor_unassigned', $this);
 }
コード例 #7
0
ファイル: customfield.class.php プロジェクト: jamesmcq/elis
 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();
 }
コード例 #8
0
 function delete()
 {
     $this->delete_all_track_classes();
     parent::delete();
 }
コード例 #9
0
ファイル: clustertrack.class.php プロジェクト: jamesmcq/elis
 /**
  * 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();
 }