Skip to content

Commit

Permalink
MDL-58741 webservice: Add missing params to webservice/pluginfile.php
Browse files Browse the repository at this point in the history
MDL-58334 and MDL-32471 introduced new parameters in pluginfile.php but
they are missing from webservice/pluginfile.php

We need the offline one in the Mobile app (this new parameter was
designed thinking in the mobile app)
  • Loading branch information
jleyva committed Apr 27, 2017
1 parent 5ccddd2 commit a4727b8
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions webservice/pluginfile.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,23 @@
// Allow CORS requests.
header('Access-Control-Allow-Origin: *');

//authenticate the user
// Authenticate the user.
$token = required_param('token', PARAM_ALPHANUM);
// Use preview in order to display the preview of the file (e.g. "thumb" for a thumbnail).
$preview = optional_param('preview', null, PARAM_ALPHANUM);
// Offline means download the file from the repository and serve it, even if it was an external link.
// The repository may have to export the file to an offline format.
$offline = optional_param('offline', 0, PARAM_BOOL);

$webservicelib = new webservice();
$authenticationinfo = $webservicelib->authenticate_user($token);

//check the service allows file download
// Check the service allows file download.
$enabledfiledownload = (int) ($authenticationinfo['service']->downloadfiles);
if (empty($enabledfiledownload)) {
throw new webservice_access_exception('Web service file downloading must be enabled in external service settings');
}

//finally we can serve the file :)
// Finally we can serve the file :).
$relativepath = get_file_argument();
file_pluginfile($relativepath, 0);
file_pluginfile($relativepath, 0, $preview, $offline);

0 comments on commit a4727b8

Please sign in to comment.