if (!update_record('course', $course)) {
notify("An error occurred - course not moved!");
}
+ // parents changed (course category), do not delete child context relations
+ insert_context_rel(get_context_instance(CONTEXT_COURSE, $course->id), false);
}
}
fix_course_sortorder();
}
// inserts all parental context and self into context_rel table
-function insert_context_rel($context) {
- // removes old records
- delete_records('context_rel', 'c2', $context->id);
+/** @param object $context-context to be deleted
+ * @param bool deletechild - deltes child contexts dependencies
+ */
+function insert_context_rel($context, $deletechild=true) {
+ // removes all parents
+ if ($deletechild) {
+ delete_records('context_rel', 'c2', $context->id);
+ }
delete_records('context_rel', 'c1', $context->id);
// insert all parents
if ($parents = get_parent_contexts($context)) {