// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
/**
 * A script to serve files from web service client
 *
 * @package    core_webservice
 * @copyright  2011 Dongsheng Cai <*****@*****.**>
 * @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 dirname(dirname(__FILE__)) . '/config.php';
require_once $CFG->libdir . '/filelib.php';
require_once $CFG->dirroot . '/webservice/lib.php';
//authenticate the user
$token = required_param('token', PARAM_ALPHANUM);
$webservicelib = new webservice();
$authenticationinfo = $webservicelib->authenticate_user($token);
//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 :)
$relativepath = get_file_argument();
file_pluginfile($relativepath, 0);