Merge branch 'MDL-55767-master-fix1' of http://github.com/damyon/moodle

This commit is contained in:
Andrew Nicols
2016-10-05 14:24:09 +08:00
@@ -52,6 +52,7 @@ class framework_importer {
protected $importid = 0;
protected $importer = null;
protected $foundheaders = array();
protected $scalecache = array();
/**
* Store an error message for display later
@@ -355,13 +356,17 @@ class framework_importer {
require_once($CFG->libdir . '/gradelib.php');
$allscales = grade_scale::fetch_all_global();
$matchingscale = false;
foreach ($allscales as $scale) {
if ($scale->compact_items() == $scalevalues) {
$matchingscale = $scale;
if (empty($this->scalecache)) {
$allscales = grade_scale::fetch_all_global();
foreach ($allscales as $scale) {
$scale->load_items();
$this->scalecache[$scale->compact_items()] = $scale;
}
}
$matchingscale = false;
if (isset($this->scalecache[$scalevalues])) {
$matchingscale = $this->scalecache[$scalevalues];
}
if (!$matchingscale) {
// Create it.
$newscale = new grade_scale();
@@ -371,6 +376,7 @@ class framework_importer {
$newscale->scale = $scalevalues;
$newscale->description = get_string('competencyscaledescription', 'tool_lpimportcsv');
$newscale->insert();
$this->scalecache[$scalevalues] = $newscale;
return $newscale->id;
}
return $matchingscale->id;