Merge branch 'MDL-35851-24' of git://github.com/damyon/moodle into MOODLE_24_STABLE
This commit is contained in:
+14
-2
@@ -323,6 +323,13 @@ class qformat_default {
|
||||
$this->count_questions($questions)), 'notifysuccess');
|
||||
|
||||
$count = 0;
|
||||
$addquestionontop = false;
|
||||
if ($pageid == 0) {
|
||||
$addquestionontop = true;
|
||||
$updatelessonpage = $DB->get_record('lesson_pages', array('lessonid' => $lesson->id, 'prevpageid' => 0));
|
||||
} else {
|
||||
$updatelessonpage = $DB->get_record('lesson_pages', array('id' => $pageid));
|
||||
}
|
||||
|
||||
$unsupportedquestions = 0;
|
||||
|
||||
@@ -378,7 +385,6 @@ class qformat_default {
|
||||
$newpageid = $DB->insert_record("lesson_pages", $newpage);
|
||||
// update the linked list
|
||||
$DB->set_field("lesson_pages", "nextpageid", $newpageid, array("id" => $pageid));
|
||||
|
||||
} else {
|
||||
// new page is the first page
|
||||
// get the existing (first) page (if any)
|
||||
@@ -397,6 +403,7 @@ class qformat_default {
|
||||
$DB->set_field("lesson_pages", "prevpageid", $newpageid, array("id" => $page->id));
|
||||
}
|
||||
}
|
||||
|
||||
// reset $pageid and put the page ID in $question, used in save_question_option()
|
||||
$pageid = $newpageid;
|
||||
$question->id = $newpageid;
|
||||
@@ -424,7 +431,12 @@ class qformat_default {
|
||||
$unsupportedquestions++;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
// update the prev links
|
||||
if ($addquestionontop) {
|
||||
$DB->set_field("lesson_pages", "prevpageid", $pageid, array("id" => $updatelessonpage->id));
|
||||
} else {
|
||||
$DB->set_field("lesson_pages", "prevpageid", $pageid, array("id" => $updatelessonpage->nextpageid));
|
||||
}
|
||||
if ($unsupportedquestions) {
|
||||
echo $OUTPUT->notification(get_string('unknownqtypesnotimported', 'lesson', $unsupportedquestions));
|
||||
|
||||
+10
-2
@@ -2697,10 +2697,12 @@ class lesson_page_type_manager {
|
||||
|
||||
$orderedpages = array();
|
||||
$lastpageid = 0;
|
||||
|
||||
while (true) {
|
||||
$morepages = true;
|
||||
while ($morepages) {
|
||||
$morepages = false;
|
||||
foreach ($pages as $page) {
|
||||
if ((int)$page->prevpageid === (int)$lastpageid) {
|
||||
$morepages = true;
|
||||
$orderedpages[$page->id] = $page;
|
||||
unset($pages[$page->id]);
|
||||
$lastpageid = $page->id;
|
||||
@@ -2713,6 +2715,12 @@ class lesson_page_type_manager {
|
||||
}
|
||||
}
|
||||
|
||||
// Add remaining pages.
|
||||
foreach ($pages as $page) {
|
||||
$orderedpages[$page->id] = $page;
|
||||
$lastpageid = $page->id;
|
||||
}
|
||||
|
||||
return $orderedpages;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user