15fff40ad6ac5674862387869230d00fdcc94eed
[moodle.git] / mod / lesson / action / addendofcluster.php
1 <?php // $Id$
2 /**
3  * Action for adding an end of cluster page
4  *
5  * @version $Id$
6  * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
7  * @package lesson
8  **/
9     confirm_sesskey();
11     // first get the preceeding page
12     $pageid = required_param('pageid', PARAM_INT);
13         
14     $timenow = time();
15     
16     // the new page is not the first page (end of cluster always comes after an existing page)
17     if (!$page = $DB->get_record("lesson_pages", array("id" => $pageid))) {
18         print_error('cannotfindpages', 'lesson');
19     }
20     
21     // could put code in here to check if the user really can insert an end of cluster
22     
23     $newpage = new stdClass;
24     $newpage->lessonid = $lesson->id;
25     $newpage->prevpageid = $pageid;
26     $newpage->nextpageid = $page->nextpageid;
27     $newpage->qtype = LESSON_ENDOFCLUSTER;
28     $newpage->timecreated = $timenow;
29     $newpage->title = get_string("endofclustertitle", "lesson");
30     $newpage->contents = get_string("endofclustertitle", "lesson");
31     $newpageid = $DB->insert_record("lesson_pages", $newpage);
32     // update the linked list...
33     if (!$DB->set_field("lesson_pages", "nextpageid", $newpageid, array("id" => $pageid))) {
34         print_error('cannotupdatelink', 'lesson');
35     }
36     if ($page->nextpageid) {
37         // the new page is not the last page
38         if (!$DB->set_field("lesson_pages", "prevpageid", $newpageid, array("id" => $page->nextpageid))) {
39             print_error('cannotupdatelink', 'lesson');
40         }
41     }
42     // ..and the single "answer"
43     $newanswer = new stdClass;
44     $newanswer->lessonid = $lesson->id;
45     $newanswer->pageid = $newpageid;
46     $newanswer->timecreated = $timenow;
47     $newanswer->jumpto = LESSON_NEXTPAGE;
48     $newanswerid = $DB->insert_record("lesson_answers", $newanswer);
49     lesson_set_message(get_string('addedendofcluster', 'lesson'), 'notifysuccess');
50     redirect("$CFG->wwwroot/mod/lesson/edit.php?id=$cm->id");