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 /** 18 * Test that googledrive is configured correctly 19 * 20 * @package fileconverter_googledrive 21 * @copyright 2017 Andrew Nicols <andrew@nicols.co.uk> 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 require(__DIR__ . '/../../../config.php'); 25 require_once($CFG->libdir . '/filelib.php'); 26 27 $sendpdf = optional_param('sendpdf', 0, PARAM_BOOL); 28 29 $PAGE->set_url(new moodle_url('/files/converter/googledrive/test.php')); 30 $PAGE->set_context(context_system::instance()); 31 32 require_login(); 33 require_capability('moodle/site:config', context_system::instance()); 34 35 $strheading = get_string('test_conversion', 'fileconverter_googledrive'); 36 $PAGE->navbar->add(get_string('administrationsite')); 37 $PAGE->navbar->add(get_string('plugins', 'admin')); 38 $PAGE->navbar->add(get_string('pluginname', 'fileconverter_googledrive'), 39 new moodle_url('/admin/settings.php', array('section' => 'fileconvertergoogledrive'))); 40 $PAGE->navbar->add($strheading); 41 $PAGE->set_heading($strheading); 42 $PAGE->set_title($strheading); 43 44 $converter = new \fileconverter_googledrive\converter(); 45 46 if ($sendpdf) { 47 require_sesskey(); 48 49 $converter->serve_test_document(); 50 die(); 51 } 52 53 $result = $converter->are_requirements_met(); 54 if ($result) { 55 $msg = $OUTPUT->notification(get_string('test_conversionready', 'fileconverter_googledrive'), 'success'); 56 $pdflink = new moodle_url($PAGE->url, array('sendpdf' => 1, 'sesskey' => sesskey())); 57 $msg .= html_writer::link($pdflink, get_string('test_conversion', 'fileconverter_googledrive')); 58 $msg .= html_writer::empty_tag('br'); 59 } else { 60 61 // Diagnostics time. 62 $issuerid = get_config('fileconverter_googledrive', 'issuerid'); 63 $msg = ''; 64 if (empty($issuerid)) { 65 $msg = $OUTPUT->notification(get_string('test_issuernotset', 'fileconverter_googledrive'), 'warning'); 66 } 67 68 if (empty($msg)) { 69 $issuer = \core\oauth2\api::get_issuer($issuerid); 70 if (empty($issuer)) { 71 $msg = $OUTPUT->notification(get_string('test_issuerinvalid', 'fileconverter_googledrive'), 'warning'); 72 } 73 } 74 75 if (empty($msg)) { 76 if (!$issuer->get('enabled')) { 77 $msg = $OUTPUT->notification(get_string('test_issuernotenabled', 'fileconverter_googledrive'), 'warning'); 78 } 79 } 80 81 if (empty($msg)) { 82 if (!$issuer->is_system_account_connected()) { 83 $msg = $OUTPUT->notification(get_string('test_issuernotconnected', 'fileconverter_googledrive'), 'warning'); 84 } 85 } 86 87 if (empty($msg)) { 88 $msg = $OUTPUT->notification(get_string('test_conversionnotready', 'fileconverter_googledrive'), 'warning'); 89 } 90 } 91 $returl = new moodle_url('/admin/settings.php', array('section' => 'fileconvertergoogledrive')); 92 $msg .= $OUTPUT->continue_button($returl); 93 94 echo $OUTPUT->header(); 95 echo $OUTPUT->box($msg, 'generalbox'); 96 echo $OUTPUT->footer();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body