Merge branch 'MDL-81073' of https://github.com/paulholden/moodle
[moodle.git] / files / converter / unoconv / testunoconv.php
blobb39e2cda2893074c2121629ea0502e67081e9514
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.
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 * Test that unoconv is configured correctly
20 * @package fileconverter_unoconv
21 * @copyright 2017 Andrew Nicols <andrew@nicols.co.uk>
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24 require(__DIR__ . '/../../../config.php');
25 require_once($CFG->libdir . '/filelib.php');
27 $sendpdf = optional_param('sendpdf', 0, PARAM_BOOL);
29 $PAGE->set_url(new moodle_url('/files/converter/unoconv/testunoconv.php'));
30 $PAGE->set_context(context_system::instance());
32 require_login();
33 require_capability('moodle/site:config', context_system::instance());
35 $strheading = get_string('test_unoconv', 'fileconverter_unoconv');
36 $PAGE->navbar->add(get_string('administrationsite'));
37 $PAGE->navbar->add(get_string('plugins', 'admin'));
38 $PAGE->navbar->add(get_string('assignmentplugins', 'mod_assign'));
39 $PAGE->navbar->add(get_string('feedbackplugins', 'mod_assign'));
40 $PAGE->navbar->add(get_string('pluginname', 'fileconverter_unoconv'),
41 new moodle_url('/admin/settings.php', array('section' => 'fileconverterunoconv')));
42 $PAGE->navbar->add($strheading);
43 $PAGE->set_heading($strheading);
44 $PAGE->set_title($strheading);
46 $converter = new \fileconverter_unoconv\converter();
48 if ($sendpdf) {
49 require_sesskey();
51 $converter->serve_test_document();
52 die();
55 $result = \fileconverter_unoconv\converter::test_unoconv_path();
56 switch ($result->status) {
57 case \fileconverter_unoconv\converter::UNOCONVPATH_OK:
58 $msg = $OUTPUT->notification(get_string('test_unoconvok', 'fileconverter_unoconv'), 'success');
59 $pdflink = new moodle_url($PAGE->url, array('sendpdf' => 1, 'sesskey' => sesskey()));
60 $msg .= html_writer::link($pdflink, get_string('test_unoconvdownload', 'fileconverter_unoconv'));
61 $msg .= html_writer::empty_tag('br');
62 break;
64 default:
65 $msg = $OUTPUT->notification(get_string("test_unoconv{$result->status}", 'fileconverter_unoconv'), 'warning');
66 break;
68 $returl = new moodle_url('/admin/settings.php', array('section' => 'fileconverterunoconv'));
69 $msg .= $OUTPUT->continue_button($returl);
71 echo $OUTPUT->header();
72 echo $OUTPUT->box($msg, 'generalbox');
73 echo $OUTPUT->footer();