MDL-50015 mod_imscp: New WS mod_imscp_view_imscp
[moodle.git] / mod / book / tool / exportimscp / index.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 /**
18  * Book IMSCP export plugin
19  *
20  * @package    booktool_exportimscp
21  * @copyright  2001-3001 Antonio Vicent          {@link http://ludens.es}
22  * @copyright  2001-3001 Eloy Lafuente (stronk7) {@link http://stronk7.com}
23  * @copyright  2011 Petr Skoda                   {@link http://skodak.org}
24  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25  */
27 require(dirname(__FILE__).'/../../../../config.php');
28 require_once(dirname(__FILE__).'/locallib.php');
29 require_once($CFG->dirroot.'/mod/book/locallib.php');
30 require_once($CFG->libdir.'/filelib.php');
32 $id = required_param('id', PARAM_INT);           // Course Module ID
34 $cm = get_coursemodule_from_id('book', $id, 0, false, MUST_EXIST);
35 $course = $DB->get_record('course', array('id'=>$cm->course), '*', MUST_EXIST);
36 $book = $DB->get_record('book', array('id'=>$cm->instance), '*', MUST_EXIST);
38 $PAGE->set_url('/mod/book/tool/exportimscp/index.php', array('id'=>$id));
40 require_login($course, false, $cm);
42 $context = context_module::instance($cm->id);
43 require_capability('mod/book:read', $context);
44 require_capability('booktool/exportimscp:export', $context);
46 \booktool_exportimscp\event\book_exported::create_from_book($book, $context)->trigger();
48 $file = booktool_exportimscp_build_package($book, $context);
50 send_stored_file($file, 10, 0, true, array('filename' => clean_filename($book->name).'.zip'));