MDL-53923 mod_assign: test unoconv path
[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('../../../../config.php');
24 global $PAGE, $OUTPUT;
25 $PAGE->set_url(new moodle_url('/mod/assign/feedback/editpdf/testunoconv.php'));
26 $PAGE->set_context(context_system::instance());
28 require_login();
29 require_capability('moodle/site:config', context_system::instance());
31 $strheading = get_string('test_unoconv', 'assignfeedback_editpdf');
32 $PAGE->navbar->add(get_string('administrationsite'));
33 $PAGE->navbar->add(get_string('plugins', 'admin'));
34 $PAGE->navbar->add(get_string('assignmentplugins', 'mod_assign'));
35 $PAGE->navbar->add(get_string('feedbackplugins', 'mod_assign'));
36 $PAGE->navbar->add(get_string('pluginname', 'assignfeedback_editpdf'),
37         new moodle_url('/admin/settings.php?section=assignfeedback_editpdf'));
38 $PAGE->navbar->add($strheading);
39 $PAGE->set_heading($strheading);
40 $PAGE->set_title($strheading);
41 $sendpdf = optional_param('sendpdf', 0, PARAM_BOOL);
42 if ($sendpdf) {
43     // Serve the generated test pdf.
44     assignfeedback_editpdf\pdf::send_test_pdf();
45     die();
46 }
48 $result = assignfeedback_editpdf\pdf::test_unoconv_path();
49 switch ($result->status) {
51     case assignfeedback_editpdf\pdf::UNOCONVPATH_OK:
52         $msg = get_string('test_unoconv_ok', 'assignfeedback_editpdf');
53         $msg .= html_writer::empty_tag('br');
54         $pdflink = new moodle_url($PAGE->url, array('sendpdf' => 1));
55         $msg .= $OUTPUT->single_button($pdflink, get_string('download'));
56         $msg .= html_writer::empty_tag('br');
57         break;
59     case assignfeedback_editpdf\pdf::UNOCONVPATH_ERROR:
60         $msg = $result->message;
61         break;
63     default:
64         $msg = get_string("test_unoconv_{$result->status}", 'assignfeedback_editpdf');
65         break;
66 }
67 $returl = new moodle_url('/admin/settings.php', array('section' => 'assignfeedback_editpdf'));
68 $msg .= $OUTPUT->continue_button($returl);
70 echo $OUTPUT->header();
71 echo $OUTPUT->box($msg, 'generalbox ');
72 echo $OUTPUT->footer();