From f677721abe56d0efba201c9f6bcecd3bec935232 Mon Sep 17 00:00:00 2001 From: Juan Leyva Date: Fri, 27 Nov 2020 19:05:16 +0100 Subject: [PATCH] MDL-70128 webservice: New entry point for draftfiles --- webservice/draftfile.php | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 webservice/draftfile.php diff --git a/webservice/draftfile.php b/webservice/draftfile.php new file mode 100644 index 00000000000..b8fbea8c6d2 --- /dev/null +++ b/webservice/draftfile.php @@ -0,0 +1,53 @@ +. + + +/** + * Entry point for web service via tokens access to draftfile.php. + * + * @package core + * @copyright 2020 Juan Leyva + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +/** + * AJAX_SCRIPT - exception will be converted into JSON. + */ +define('AJAX_SCRIPT', true); + +/** + * NO_MOODLE_COOKIES - we don't want any cookie. + */ +define('NO_MOODLE_COOKIES', true); + +require_once(__DIR__ . '/../config.php'); +require_once($CFG->dirroot . '/webservice/lib.php'); + +// Allow CORS requests. +header('Access-Control-Allow-Origin: *'); + +// Authenticate the user. +$token = required_param('token', PARAM_ALPHANUM); + +$webservicelib = new webservice(); +$authenticationinfo = $webservicelib->authenticate_user($token); + +// Check the service allows file download. +if (empty($authenticationinfo['service']->downloadfiles)) { + throw new webservice_access_exception('Web service file downloading must be enabled in external service settings.'); +} + +require_once($CFG->dirroot . '/draftfile.php');