case 'downloaddir':
$zipper = new zip_packer();
$fs = get_file_storage();
+ $draftarea = file_get_draft_area_info($itemid);
+ if ($draftarea['filecount'] == 0) {
+ echo json_encode(false);
+ die;
+ }
$stored_file = $fs->get_file($user_context->id, $filearea, $itemid, $filepath, '.');
if ($filepath === '/') {
$string['download'] = 'Download';
$string['downloadfolder'] = 'Download this folder';
$string['downloadsucc'] = 'The file has been downloaded successfully';
+$string['draftareanofiles'] = 'Cannot be downloaed because there is no files attached';
$string['editrepositoryinstance'] = 'Edit repository instance';
$string['emptylist'] = 'Empty result';
$string['emptytype'] = 'Cannot create repository type: type name is empty';
action: 'downloaddir',
scope: scope,
callback: function(id, obj, args) {
- scope.refresh(obj.filepath);
- var win = window.open(obj.fileurl, 'fm-download-folder');
- if (!win) {
- alert(M.str.repository.popupblockeddownload);
+ if (obj) {
+ scope.refresh(obj.filepath);
+ var win = window.open(obj.fileurl, 'fm-download-folder');
+ if (!win) {
+ alert(M.str.repository.popupblockeddownload);
+ }
+ } else {
+ alert(M.str.repository.draftareanofiles);
}
}
});
$PAGE->requires->string_for_js('confirmdeletefile', 'repository');
$PAGE->requires->string_for_js('nopathselected', 'repository');
$PAGE->requires->string_for_js('popupblockeddownload', 'repository');
+ $PAGE->requires->string_for_js('draftareanofiles', 'repository');
$PAGE->requires->string_for_js('path', 'moodle');
// language strings
$straddfile = get_string('add', 'repository') . '...';