c3d4d4c079343beb8e85e12a55d9a2ae7a56d64d
[moodle.git] / mod / assign / feedback / editpdf / testunoconv.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/>.
16 /**
17  * Test that unoconv is configured correctly
18  *
19  * @package   assignfeedback_editpdf
20  * @copyright 2016 Simey Lameze
21  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
22  */
23 require(dirname(__FILE__) . '/../../../../config.php');
24 require_once($CFG->libdir . '/filelib.php');
26 $sendpdf = optional_param('sendpdf', 0, PARAM_BOOL);
28 $PAGE->set_url(new moodle_url('/mod/assign/feedback/editpdf/testunoconv.php'));
29 $PAGE->set_context(context_system::instance());
31 require_login();
32 require_capability('moodle/site:config', context_system::instance());
34 $strheading = get_string('test_unoconv', 'assignfeedback_editpdf');
35 $PAGE->navbar->add(get_string('administrationsite'));
36 $PAGE->navbar->add(get_string('plugins', 'admin'));
37 $PAGE->navbar->add(get_string('assignmentplugins', 'mod_assign'));
38 $PAGE->navbar->add(get_string('feedbackplugins', 'mod_assign'));
39 $PAGE->navbar->add(get_string('pluginname', 'assignfeedback_editpdf'),
40         new moodle_url('/admin/settings.php', array('section' => 'assignfeedback_editpdf')));
41 $PAGE->navbar->add($strheading);
42 $PAGE->set_heading($strheading);
43 $PAGE->set_title($strheading);
44 if ($sendpdf) {
45     require_sesskey();
46     // Serve the generated test pdf.
47     file_storage::send_test_pdf();
48     die();
49 }
51 $result = file_storage::test_unoconv_path();
52 switch ($result->status) {
53     case file_storage::UNOCONVPATH_OK:
54         $msg = get_string('test_unoconvok', 'assignfeedback_editpdf');
55         $msg .= html_writer::empty_tag('br');
56         $pdflink = new moodle_url($PAGE->url, array('sendpdf' => 1, 'sesskey' => sesskey()));
57         $msg .= html_writer::link($pdflink, get_string('test_unoconvdownload', 'assignfeedback_editpdf'));
58         $msg .= html_writer::empty_tag('br');
59         break;
61     case file_storage::UNOCONVPATH_ERROR:
62         $msg = $result->message;
63         break;
65     default:
66         $msg = get_string("test_unoconv{$result->status}", 'assignfeedback_editpdf');
67         break;
68 }
69 $returl = new moodle_url('/admin/settings.php', array('section' => 'assignfeedback_editpdf'));
70 $msg .= $OUTPUT->continue_button($returl);
72 echo $OUTPUT->header();
73 echo $OUTPUT->box($msg, 'generalbox');
74 echo $OUTPUT->footer();