}
// Course record ready, update it
- update_course_record($data);
+ $DB->update_record('course', $data);
course_get_format($data)->update_course_format_options($data);
$course->visible = $params['visible'];
// Set shortname and fullname back.
- update_course_record($course);
+ $DB->update_record('course', $course);
if (empty($CFG->keeptempdirectoriesonbackup)) {
fulldelete($backupbasepath);
$course->visible = 0;
}
- update_course_record($course);
+ $DB->update_record('course', $course);
// Store the context.
$context = context_course::instance($course->id);
}
// Update with the new data
- update_course_record($data);
+ $DB->update_record('course', $data);
// make sure the modinfo cache is reset
rebuild_course_cache($data->id);
require_capability('moodle/course:visibility', $coursecontext);
// Set the visibility of the course. we set the old flag when user manually changes visibility of course.
$params = array('id' => $course->id, 'visible' => $visible, 'visibleold' => $visible, 'timemodified' => time());
- update_course_record((object)$params);
+ $DB->update_record('course', $params);
cache_helper::purge_by_event('changesincourse');
// Update the course object we pass to the event class.
* @return string empty or error message
*/
public function write_setting($data) {
- global $SITE, $COURSE;
+ global $DB, $SITE, $COURSE;
if (!in_array($data, array_keys($this->choices))) {
return get_string('errorsetting', 'admin');
}
$record->timemodified = time();
course_get_format($SITE)->update_course_format_options($record);
- update_course_record($record);
+ $DB->update_record('course', $record);
// Reset caches.
- $SITE = get_course($SITE->id);
+ $SITE = $DB->get_record('course', array('id'=>$SITE->id), '*', MUST_EXIST);
if ($SITE->id == $COURSE->id) {
$COURSE = $SITE;
}
format_base::reset_course_cache($SITE->id);
return '';
+
}
}
* @return string empty string or error message
*/
public function write_setting($data) {
- global $SITE, $COURSE;
+ global $DB, $SITE, $COURSE;
$record = new stdClass();
$record->id = $SITE->id;
$record->{$this->name} = ($data == '1' ? 1 : 0);
$record->timemodified = time();
course_get_format($SITE)->update_course_format_options($record);
- update_course_record($record);
+ $DB->update_record('course', $record);
// Reset caches.
- $SITE = get_course($SITE->id);
+ $SITE = $DB->get_record('course', array('id'=>$SITE->id), '*', MUST_EXIST);
if ($SITE->id == $COURSE->id) {
$COURSE = $SITE;
}
format_base::reset_course_cache($SITE->id);
+
return '';
}
}
* @return string empty or error message
*/
public function write_setting($data) {
- global $SITE, $COURSE;
+ global $DB, $SITE, $COURSE;
$data = trim($data);
$validated = $this->validate($data);
if ($validated !== true) {
$record->timemodified = time();
course_get_format($SITE)->update_course_format_options($record);
- update_course_record($record);
+ $DB->update_record('course', $record);
// Reset caches.
- $SITE = get_course($SITE->id);
+ $SITE = $DB->get_record('course', array('id'=>$SITE->id), '*', MUST_EXIST);
if ($SITE->id == $COURSE->id) {
$COURSE = $SITE;
}
format_base::reset_course_cache($SITE->id);
+
return '';
}
}
$record->timemodified = time();
course_get_format($SITE)->update_course_format_options($record);
- update_course_record($record);
+ $DB->update_record('course', $record);
// Reset caches.
$SITE = $DB->get_record('course', array('id'=>$SITE->id), '*', MUST_EXIST);
}
}
-/**
- * Updates a course record in database. If the update affects the global $COURSE
- * or $SITE, then these variables are also changed.
- *
- * @param stdClass $courserec Course record
- * @throws dml_exception If error updating database
- */
-function update_course_record($courserec) {
- global $DB, $COURSE, $SITE;
- $DB->update_record('course', $courserec);
- if (!empty($COURSE->id) && $COURSE->id == $courserec->id) {
- foreach ((array)$courserec as $name => $value) {
- $COURSE->{$name} = $value;
- }
- } else if (!empty($SITE->id) && $SITE->id == $courserec->id) {
- foreach ((array)$courserec as $name => $value) {
- $SITE->{$name} = $value;
- }
- }
-}
-
/**
* Returns list of courses, for whole site, or category
*
if ($clearonly) {
if (empty($courseid)) {
$DB->execute('UPDATE {course} set modinfo = ?, sectioncache = ?', array(null, null));
- // Clear the cached globals too.
+ } else {
+ // Clear both fields in one update
+ $resetobj = (object)array('id' => $courseid, 'modinfo' => null, 'sectioncache' => null);
+ $DB->update_record('course', $resetobj);
+ }
+ // update cached global COURSE too ;-)
+ if ($courseid == $COURSE->id or empty($courseid)) {
$COURSE->modinfo = null;
$COURSE->sectioncache = null;
+ }
+ if ($courseid == $SITE->id) {
$SITE->modinfo = null;
$SITE->sectioncache = null;
- } else {
- // Clear both fields in one update
- $resetobj = (object)array('id' => $courseid, 'modinfo' => null, 'sectioncache' => null);
- // Update course object including cached globals.
- update_course_record($resetobj);
}
// reset the fast modinfo cache
get_fast_modinfo($courseid, 0, true);
$sectioncache = serialize(course_modinfo::build_section_cache($course->id));
$updateobj = (object)array('id' => $course->id,
'modinfo' => $modinfo, 'sectioncache' => $sectioncache);
-
- // Update course object including cached globals.
- update_course_record($updateobj);
+ $DB->update_record("course", $updateobj);
+ // update cached global COURSE too ;-)
+ if ($course->id == $COURSE->id) {
+ $COURSE->modinfo = $modinfo;
+ $COURSE->sectioncache = $sectioncache;
+ }
+ if ($course->id == $SITE->id) {
+ $SITE->modinfo = $modinfo;
+ $SITE->sectioncache = $sectioncache;
+ }
}
$rs->close();
// reset the fast modinfo cache
if (!empty($options['keep_groups_and_groupings'])) {
$oldcourse->defaultgroupingid = 0;
}
- update_course_record($oldcourse);
+ $DB->update_record('course', $oldcourse);
// Delete course sections and availability options.
$DB->delete_records_select('course_sections_availability',
$miscid = $DB->get_field_sql("SELECT MIN(id) FROM {course_categories}");
$categorycontext = context_coursecat::instance($miscid);
$course->category = $miscid;
- update_course_record($course);
+ $DB->update_record('course', $course);
$context->update_moved($categorycontext);
$context = context_course::instance($course->id);
$miscid = $DB->get_field_sql("SELECT MIN(id) FROM {course_categories}");
$categorycontext = context_coursecat::instance($miscid);
$course->category = $miscid;
- update_course_record($course);
+ $DB->update_record('course', $course);
context_moved($context, $categorycontext);
$this->assertDebuggingCalled('context_moved() is deprecated, please use context::update_moved() instead.', DEBUG_DEVELOPER);
$context = context_course::instance($course->id);