/** * Contructor. * * @param $studentdata int/object/array The data id of a data record or data elements to load manually. * @param $classdata object Optional cmclass object to load into the structure. * @param $complelements array Optional array of completion elements associated with the class. * */ function __construct($studentdata = false, $classdata = false, $compelements = false) { global $CURMAN; parent::datarecord(); $this->set_table(STUTABLE); $this->add_property('id', 'int'); $this->add_property('classid', 'int', true); $this->add_property('userid', 'int', true); $this->add_property('enrolmenttime', 'int'); $this->add_property('completetime', 'int'); $this->add_property('endtime', 'int'); $this->add_property('completestatusid', 'int'); $this->completestatusid = key(student::$completestatusid_values); $this->add_property('grade', 'float'); $this->add_property('credits', 'float'); $this->add_property('locked', 'int'); if (is_numeric($studentdata)) { $this->data_load_record($studentdata); } else { if (is_array($studentdata)) { $this->data_load_array($studentdata); } else { if (is_object($studentdata)) { $this->data_load_array(get_object_vars($studentdata)); } } } $this->load_cmclass($classdata, $compelements); if (!empty($this->userid)) { $this->user = new user($this->userid); } else { $this->user = new user(); } }
/** * Contructor. * * @uses $CURMAN * @param $curcrsdata int/object/array The data id of a data record or data elements to load manually. */ function curriculumcourse($curcrsdata = false) { parent::datarecord(); $this->set_table(CURCRSTABLE); $this->add_property('id', 'int'); $this->add_property('curriculumid', 'int'); $this->add_property('courseid', 'int'); $this->add_property('required', 'int'); $this->add_property('frequency', 'int'); $this->add_property('timeperiod', 'string'); $this->add_property('position', 'int'); $this->add_property('timecreated', 'int'); $this->add_property('timemodifieid', 'int'); if (is_numeric($curcrsdata)) { $this->data_load_record($curcrsdata); } else { if (is_array($curcrsdata)) { $this->data_load_array($curcrsdata); } else { if (is_object($curcrsdata)) { $this->data_load_array(get_object_vars($curcrsdata)); } } } if (!empty($this->curriculumid)) { $this->curriculum = new curriculum($this->curriculumid); } if (!empty($this->courseid)) { $this->course = new course($this->courseid); } }
/** * Contructor. * * @param $attendancedata int/object/array The data id of a data record or data elements to load manually. * */ function attendance($attendancedata = false) { parent::datarecord(); $this->set_table(ATNTABLE); $this->add_property('id', 'int'); $this->add_property('classid', 'int'); $this->add_property('userid', 'int'); $this->add_property('timestart', 'int'); $this->add_property('timeend', 'int'); $this->add_property('adduserid', 'int'); $this->add_property('note', 'string'); if (is_numeric($attendancedata)) { $this->data_load_record($attendancedata); } else { if (is_array($attendancedata)) { $this->data_load_array($attendancedata); } else { if (is_object($attendancedata)) { $this->data_load_array(get_object_vars($attendancedata)); } } } if (!empty($this->classid)) { $this->cmclass = new cmclass($this->classid); } if (!empty($this->userid)) { $this->user = new user($this->userid); } }
/** * Contructor. * * @param $environmentdata int/object/array The data id of a data record or data elements to load manually. * */ function environment($environmentdata = false) { parent::datarecord(); $this->set_table(ENVTABLE); $this->add_property('id', 'int'); $this->add_property('name', 'string'); $this->add_property('description', 'string'); $this->add_property('timecreated', 'int'); $this->add_property('timemodified', 'int'); if (is_numeric($environmentdata)) { $this->data_load_record($environmentdata); } else { if (is_array($environmentdata)) { $this->data_load_array($environmentdata); } else { if (is_object($environmentdata)) { $this->data_load_array(get_object_vars($environmentdata)); } } } // STRING - Styles to use for edit form. $this->_editstyle = ' .environmenteditform input, .environmenteditform textarea { margin: 0; display: block; } '; }
/** * Contructor. * * @param $instructordata int/object/array The data id of a data record or data elements to load manually. * */ function instructor($instructordata = false) { parent::datarecord(); $this->set_table(INSTABLE); $this->add_property('id', 'int'); $this->add_property('classid', 'int'); $this->add_property('userid', 'int'); $this->add_property('syllabus', 'string'); $this->add_property('assigntime', 'int'); $this->add_property('completetime', 'int'); if (is_numeric($instructordata)) { $this->data_load_record($instructordata); } else { if (is_array($instructordata)) { $this->data_load_array($instructordata); } else { if (is_object($instructordata)) { $this->data_load_array(get_object_vars($instructordata)); } } } if (!empty($this->classid)) { $this->cmclass = new cmclass($this->classid); } if (!empty($this->userid)) { $this->user = new user($this->userid); } }
/** * Contructor. * * @param $curriculumstudentdata int/object/array The data id of a data record or data elements to load manually. * */ function curriculumstudent($curriculumstudentdata = false) { parent::datarecord(); $this->set_table(CURASSTABLE); $this->add_property('id', 'int'); $this->add_property('userid', 'int'); $this->add_property('curriculumid', 'int'); $this->add_property('completed', 'int'); $this->add_property('timecompleted', 'int'); $this->add_property('timeexpired', 'int'); $this->add_property('credits', 'float'); $this->add_property('locked', 'int'); $this->add_property('certificatecode', 'string'); $this->add_property('timecreated', 'int'); $this->add_property('timemodified', 'int'); if (is_numeric($curriculumstudentdata)) { $this->data_load_record($curriculumstudentdata); } else { if (is_array($curriculumstudentdata)) { $this->data_load_array($curriculumstudentdata); } else { if (is_object($curriculumstudentdata)) { $this->data_load_array(get_object_vars($curriculumstudentdata)); } } } if (!empty($this->userid)) { $this->user = new user($this->userid); } if (!empty($this->curriculumid)) { $this->curriculum = new curriculum($this->curriculumid); } }
/** * Contructor. * * @param $classmoodlecoursedata int/object/array The data id of a data record or data elements to load manually. * */ function classmoodlecourse($classmoodlecoursedata = false) { parent::datarecord(); $this->set_table(CLSMDLTABLE); $this->add_property('id', 'int'); $this->add_property('classid', 'int'); $this->add_property('moodlecourseid', 'int'); $this->add_property('siteconfig', 'string'); $this->add_property('enroltype', 'int'); $this->add_property('enrolplugin', 'string'); $this->add_property('timemodified', 'int'); if (is_numeric($classmoodlecoursedata)) { $this->data_load_record($classmoodlecoursedata); } else { if (is_array($classmoodlecoursedata)) { $this->data_load_array($classmoodlecoursedata); } else { if (is_object($classmoodlecoursedata)) { $this->data_load_array(get_object_vars($classmoodlecoursedata)); } } } if (!empty($this->classid)) { $this->class = new cmclass($this->classid); } }
/** * Constructor. * * @param $clusterdata int/object/array The data id of a data record or data elements to load manually. * */ function cluster($clusterdata = false) { global $CURMAN; parent::datarecord(); $this->set_table(CLSTTABLE); $this->add_property('id', 'int'); $this->add_property('name', 'string'); $this->add_property('display', 'string'); $this->add_property('leader', 'int'); $this->add_property('parent', 'int'); $this->add_property('depth', 'int'); if (is_numeric($clusterdata)) { $this->data_load_record($clusterdata); } else { if (is_array($clusterdata)) { $this->data_load_array($clusterdata); } else { if (is_object($clusterdata)) { $this->data_load_array(get_object_vars($clusterdata)); } } } if (!empty($this->id)) { // custom fields $level = context_level_base::get_custom_context_level('cluster', 'block_curr_admin'); if ($level) { $fielddata = field_data::get_for_context(get_context_instance($level, $this->id)); $fielddata = $fielddata ? $fielddata : array(); foreach ($fielddata as $name => $value) { $this->{"field_{$name}"} = $value; } } } /* * profile_field1 -select box * profile_value1 -select box corresponding to profile_field1 * * profile_field2 -select box * profile_value2 -select box corresponding to profile_field2 */ $prof_fields = $CURMAN->db->get_records(CLSTPROFTABLE, 'clusterid', $this->id, '', '*', 0, 2); if (!empty($prof_fields)) { foreach (range(1, 2) as $i) { $profile = pos($prof_fields); if (!empty($profile)) { $field = 'profile_field' . $i; $value = 'profile_value' . $i; $this->{$field} = $profile->fieldid; $this->{$value} = $profile->value; } next($prof_fields); } } }
/** * Contructor. * * @param $coursedata int/object/array The data id of a data record or data elements to load manually. * */ function course($coursedata = false) { parent::datarecord(); $this->set_table(CRSTABLE); $this->add_property('id', 'int'); $this->add_property('name', 'string', true); $this->add_property('code', 'string'); $this->add_property('idnumber', 'string', true); $this->add_property('syllabus', 'string'); $this->add_property('documents', 'string'); $this->add_property('lengthdescription', 'string'); $this->add_property('length', 'int'); $this->add_property('credits', 'string'); $this->add_property('completion_grade', 'int'); $this->add_property('environmentid', 'int'); $this->add_property('cost', 'string'); $this->add_property('timecreated', 'int'); $this->add_property('timemodified', 'int'); $this->add_property('version', 'string'); if (is_numeric($coursedata)) { $this->data_load_record($coursedata); } else { if (is_array($coursedata)) { $this->data_load_array($coursedata); } else { if (is_object($coursedata)) { $this->data_load_array(get_object_vars($coursedata)); } } } if (!empty($this->environmentid)) { $this->environment = new environment($this->environmentid); } // FIXME: this should be done every time the template is updated, i.e. through getter/setter methods global $CURMAN; if (!empty($this->id)) { $template = new coursetemplate($this->id); $course = $CURMAN->db->get_record('course', 'id', $template->location); if (!empty($course)) { $this->locationlabel = $course->fullname . ' ' . $course->shortname; $this->locationid = $template->location; } // custom fields $level = context_level_base::get_custom_context_level('course', 'block_curr_admin'); if ($level) { $fielddata = field_data::get_for_context(get_context_instance($level, $this->id)); $fielddata = $fielddata ? $fielddata : array(); foreach ($fielddata as $name => $value) { $this->{"field_{$name}"} = $value; } } } }
/** * Contructor. * * @param $cmclassdata int/object/array The data id of a data record or data elements to load manually. * */ public function cmclass($cmclassdata = false) { global $CURMAN; parent::datarecord(); $this->set_table(CLSTABLE); $this->add_property('id', 'int'); $this->add_property('idnumber', 'string', true); $this->add_property('courseid', 'int', true); $this->add_property('startdate', 'int'); $this->add_property('enddate', 'int'); $this->add_property('duration', 'int'); $this->add_property('starttimehour', 'int'); $this->add_property('starttimeminute', 'int'); $this->add_property('endtimehour', 'int'); $this->add_property('endtimeminute', 'int'); $this->add_property('maxstudents', 'int'); $this->add_property('environmentid', 'int'); $this->add_property('enrol_from_waitlist', 'int'); if (is_numeric($cmclassdata)) { $this->data_load_record($cmclassdata); } else { if (is_array($cmclassdata)) { $this->data_load_array($cmclassdata); } else { if (is_object($cmclassdata)) { $this->data_load_array(get_object_vars($cmclassdata)); } } } if (!empty($this->id)) { // custom fields $level = context_level_base::get_custom_context_level('class', 'block_curr_admin'); if ($level) { $fielddata = field_data::get_for_context(get_context_instance($level, $this->id)); $fielddata = $fielddata ? $fielddata : array(); foreach ($fielddata as $name => $value) { $this->{"field_{$name}"} = $value; } } } if (!empty($this->courseid)) { $this->course = new course($this->courseid); } if (!empty($this->environmentid)) { $this->environment = new environment($this->environmentid); } $this->moodlecourseid = $this->get_moodle_course_id(); }
/** * Constructor. * * @param int|object|array $data The data id of a data record or data * elements to load manually. * */ function usertrack($data = false) { parent::datarecord(); $this->set_table(USRTRKTABLE); $this->add_property('id', 'int'); $this->add_property('userid', 'int', true); $this->add_property('trackid', 'int', true); if (is_numeric($data)) { $this->data_load_record($data); } else { if (is_array($data)) { $this->data_load_array($data); } else { if (is_object($data)) { $this->data_load_array(get_object_vars($data)); } } } }
/** * Constructor. * * @param $clusterdata int/object/array The data id of a data record or data elements to load manually. * */ function usercluster($data = false) { parent::datarecord(); $this->set_table(CLSTUSERTABLE); $this->add_property('id', 'int'); $this->add_property('userid', 'int'); $this->add_property('clusterid', 'int'); $this->add_property('autoenrol', 'int'); if (is_numeric($data)) { $this->data_load_record($data); } else { if (is_array($data)) { $this->data_load_array($data); } else { if (is_object($data)) { $this->data_load_array(get_object_vars($data)); } } } }
/** * Contructor. * * @param $curriculumdata int/object/array The data id of a data record or data elements to load manually. * */ function curriculum($curriculumdata = false) { parent::datarecord(); $this->set_table(CURTABLE); $this->add_property('id', 'int'); $this->add_property('idnumber', 'string', true); $this->add_property('name', 'string', true); $this->add_property('description', 'string'); $this->add_property('reqcredits', 'float'); $this->add_property('iscustom', 'int'); $this->add_property('timecreated', 'int'); $this->add_property('timemodified', 'int'); $this->add_property('timetocomplete', 'string'); $this->add_property('frequency', 'string'); $this->add_property('priority', 'int'); if (is_numeric($curriculumdata)) { $this->data_load_record($curriculumdata); } else { if (is_array($curriculumdata)) { $this->data_load_array($curriculumdata); } else { if (is_object($curriculumdata)) { $this->data_load_array(get_object_vars($curriculumdata)); } } } if (!empty($this->userid)) { $this->user = new user($this->userid); } if (!empty($this->id)) { // custom fields $level = context_level_base::get_custom_context_level('curriculum', 'block_curr_admin'); if ($level) { $fielddata = field_data::get_for_context(get_context_instance($level, $this->id)); $fielddata = $fielddata ? $fielddata : array(); foreach ($fielddata as $name => $value) { $this->{"field_{$name}"} = $value; } } } }
function coursetemplate($templatedata = false) { parent::datarecord(); //TODO: change property and db column from 'locaton' to 'courseid' $this->set_table(CTTABLE); $this->add_property('id', 'int'); $this->add_property('courseid', 'int'); $this->add_property('location', 'string'); $this->add_property('templateclass', 'string'); if (is_numeric($templatedata)) { $this->data_load_record($templatedata); } else { if (is_array($templatedata)) { $this->data_load_array($templatedata); } else { if (is_object($templatedata)) { $this->data_load_array(get_object_vars($templatedata)); } } } }
/** * Contructor. * * @param $tagdata int/object/array The data id of a data record or data elements to load manually. * */ function tag($tagdata = false) { parent::datarecord(); $this->set_table(TAGTABLE); $this->add_property('id', 'int'); $this->add_property('name', 'string'); $this->add_property('description', 'string'); $this->add_property('timecreated', 'int'); $this->add_property('timemodified', 'int'); if (is_numeric($tagdata)) { $this->data_load_record($tagdata); } else { if (is_array($tagdata)) { $this->data_load_array($tagdata); } else { if (is_object($tagdata)) { $this->data_load_array(get_object_vars($tagdata)); } } } }
/** * Constructor. * * @param $clusterdata int/object/array The data id of a data record or data elements to load manually. * */ function clusterassignment($data = false) { parent::datarecord(); $this->set_table(CLSTASSTABLE); $this->add_property('id', 'int'); $this->add_property('clusterid', 'int'); $this->add_property('userid', 'int'); $this->add_property('plugin', 'string'); $this->add_property('autoenrol', 'int'); $this->add_property('leader', 'int'); if (is_numeric($data)) { $this->data_load_record($data); } else { if (is_array($data)) { $this->data_load_array($data); } else { if (is_object($data)) { $this->data_load_array(get_object_vars($data)); } } } }
function clusterclassification($data = false) { parent::datarecord(); $this->set_table(CLUSTERCLASSTABLE); $this->add_property('id', 'int'); $this->add_property('shortname', 'string'); $this->add_property('name', 'string'); $this->add_property('params', 'string'); if (is_numeric($data) || is_string($data)) { $this->data_load_record($data); } else { if (is_array($data)) { $this->data_load_array($data); } else { if (is_object($data)) { $this->data_load_array(get_object_vars($data)); } } } if (empty($this->params)) { $this->params = serialize(array()); } }
function field_category_contextlevel($data = false) { parent::datarecord(); $this->set_table(FIELDCATEGORYCONTEXTTABLE); $this->add_property('id', 'int'); $this->add_property('categoryid', 'int'); $this->add_property('contextlevel', 'int'); if (is_numeric($data) || is_string($data)) { $this->data_load_record($data); } else { if (is_array($data)) { $this->data_load_array($data); } else { if (is_object($data)) { $this->data_load_array(get_object_vars($data)); } } } }
function trackassignmentclass($trackassign = false) { parent::datarecord(); $this->set_table(TRACKCLASSTABLE); $this->add_property('id', 'int'); $this->add_property('trackid', 'int'); $this->add_property('classid', 'int'); $this->add_property('courseid', 'int'); $this->add_property('autoenrol', 'int'); if (is_numeric($trackassign)) { $this->data_load_record($trackassign); } else { if (is_array($trackassign)) { $this->data_load_array($trackassign); } else { if (is_object($trackassign)) { $this->data_load_array(get_object_vars($trackassign)); } } } }
/** * Contructor. * * @param $userdata int/object/array The data id of a data record or data elements to load manually. * */ function user($userdata = false) { parent::datarecord(); $this->set_table(USRTABLE); $this->add_property('id', 'int'); $this->add_property('idnumber', 'string', true); $this->add_property('username', 'string', true); $this->add_property('password', 'string', true); $this->add_property('firstname', 'string', true); $this->add_property('lastname', 'string', true); $this->add_property('mi', 'string'); $this->add_property('email', 'string', true); $this->add_property('email2', 'string'); $this->add_property('address', 'string'); $this->add_property('address2', 'string'); $this->add_property('city', 'string'); $this->add_property('state', 'string'); $this->add_property('country', 'string', true); $this->add_property('phone', 'string'); $this->add_property('phone2', 'string'); $this->add_property('fax', 'string'); $this->add_property('postalcode', 'string'); $this->add_property('birthdate', 'string'); $this->add_property('gender', 'string'); $this->add_property('language', 'string'); $this->add_property('transfercredits', 'string'); $this->add_property('comments', 'string'); $this->add_property('notes', 'string'); $this->add_property('timecreated', 'int'); $this->add_property('timeapproved', 'int'); $this->add_property('timemodified', 'int'); $this->add_property('inactive', 'int'); if (is_numeric($userdata) || is_string($userdata)) { $this->data_load_record($userdata); } else { if (is_array($userdata)) { $this->data_load_array($userdata); } else { if (is_object($userdata)) { $this->data_load_array(get_object_vars($userdata)); } } } if (!empty($this->id)) { /// Load any other data we may want that is associated with the id number... if ($clusters = cluster_get_user_clusters($this->id)) { $this->load_cluster_info($clusters); } // custom fields $level = context_level_base::get_custom_context_level('user', 'block_curr_admin'); if ($level) { $fielddata = field_data::get_for_context(get_context_instance($level, $this->id)); $fielddata = $fielddata ? $fielddata : array(); foreach ($fielddata as $name => $value) { $this->{"field_{$name}"} = $value; } } } // TODO: move this to accessors (set or get) so that birthdate and birthday/month/year are always in sync if (isset($this->birthdate)) { $birthdateparts = explode('/', $this->birthdate); if (!empty($birthdateparts[1])) { $this->birthday = $birthdateparts[2]; $this->birthmonth = $birthdateparts[1]; $this->birthyear = $birthdateparts[0]; } else { $this->birthday = 0; $this->birthmonth = 0; $this->birthyear = 0; } } }