Differences Between: [Versions 310 and 403] [Versions 311 and 403] [Versions 39 and 403]
1 <?php 2 3 // This file is part of Moodle - http://moodle.org/ 4 // 5 // Moodle is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // Moodle is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 17 18 /** 19 * Provides the interface for overall authoring of lessons 20 * 21 * @package mod_lesson 22 * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 **/ 25 26 require_once('../../config.php'); 27 require_once($CFG->dirroot.'/mod/lesson/locallib.php'); 28 29 $id = required_param('id', PARAM_INT); 30 31 $cm = get_coursemodule_from_id('lesson', $id, 0, false, MUST_EXIST); 32 $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); 33 $lesson = new lesson($DB->get_record('lesson', array('id' => $cm->instance), '*', MUST_EXIST)); 34 35 require_login($course, false, $cm); 36 37 $context = context_module::instance($cm->id); 38 require_capability('mod/lesson:manage', $context); 39 40 $mode = optional_param('mode', get_user_preferences('lesson_view', 'collapsed'), PARAM_ALPHA); 41 // Ensure a valid mode is set. 42 if (!in_array($mode, array('single', 'full', 'collapsed'))) { 43 $mode = 'collapsed'; 44 } 45 46 $url = new moodle_url('/mod/lesson/edit.php', ['id' => $cm->id, 'mode' => $mode]); 47 $PAGE->set_url($url); 48 $PAGE->force_settings_menu(); 49 $PAGE->set_secondary_active_tab('modulepage'); 50 $PAGE->add_body_class('limitedwidth'); 51 $PAGE->activityheader->set_description(''); 52 53 if ($mode != get_user_preferences('lesson_view', 'collapsed') && $mode !== 'single') { 54 set_user_preference('lesson_view', $mode); 55 } 56 57 $lessonoutput = $PAGE->get_renderer('mod_lesson'); 58 $PAGE->navbar->add(get_string('edit')); 59 60 echo $lessonoutput->header($lesson, $cm, $mode, false, null, get_string('edit', 'lesson')); 61 $actionarea = new \mod_lesson\output\edit_action_area($id, $url); 62 echo $lessonoutput->render($actionarea); 63 64 if (!$lesson->has_pages()) { 65 // There are no pages; give teacher some options 66 require_capability('mod/lesson:edit', $context); 67 echo $lessonoutput->add_first_page_links($lesson); 68 } else { 69 switch ($mode) { 70 case 'collapsed': 71 echo $lessonoutput->display_edit_collapsed($lesson, $lesson->firstpageid); 72 break; 73 case 'single': 74 $pageid = required_param('pageid', PARAM_INT); 75 $PAGE->url->param('pageid', $pageid); 76 $singlepage = $lesson->load_page($pageid); 77 echo $lessonoutput->display_edit_full($lesson, $singlepage->id, $singlepage->prevpageid, true); 78 break; 79 case 'full': 80 echo $lessonoutput->display_edit_full($lesson, $lesson->firstpageid, 0); 81 break; 82 } 83 } 84 85 echo $lessonoutput->footer();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body