MDL-53923 mod_assign: test unoconv path
[moodle.git] / mod / assign / feedback / editpdf / testunoconv.php
CommitLineData
c4d69228
SL
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 */
23require('../../../../config.php');
24global $PAGE, $OUTPUT;
25$PAGE->set_url(new moodle_url('/mod/assign/feedback/editpdf/testunoconv.php'));
26$PAGE->set_context(context_system::instance());
27
28require_login();
29require_capability('moodle/site:config', context_system::instance());
30
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);
42if ($sendpdf) {
43 // Serve the generated test pdf.
44 assignfeedback_editpdf\pdf::send_test_pdf();
45 die();
46}
47
48$result = assignfeedback_editpdf\pdf::test_unoconv_path();
49switch ($result->status) {
50
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;
58
59 case assignfeedback_editpdf\pdf::UNOCONVPATH_ERROR:
60 $msg = $result->message;
61 break;
62
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);
69
70echo $OUTPUT->header();
71echo $OUTPUT->box($msg, 'generalbox ');
72echo $OUTPUT->footer();