MDL-32570 enrol_imsenterprise: don't hardcode default category id

This commit is contained in:
Dan Poltawski
2013-10-01 11:52:46 +08:00
parent c7c613b45b
commit 756fbd91fd
+20 -2
View File
@@ -412,10 +412,10 @@ function process_group_tag($tagcontents) {
} else {
// If not found and not allowed to create, stick with default
$this->log_line('Category '.$group->category.' not found in Moodle database, so using default category instead.');
$course->category = 1;
$course->category = $this->get_default_category_id();
}
} else {
$course->category = 1;
$course->category = $this->get_default_category_id();
}
$course->timecreated = time();
$course->startdate = time();
@@ -810,6 +810,24 @@ function load_role_mappings() {
return false;
}
/**
* Get the default category id (often known as 'Miscellaneous'),
* statically cached to avoid multiple DB lookups on big imports.
*
* @return int id of default category.
*/
private function get_default_category_id() {
static $defaultcategoryid = null;
if ($defaultcategoryid === null) {
$category = get_course_category();
$defaultcategoryid = $category->id;
}
return $defaultcategoryid;
}
} // end of class