Skip to content

Commit a977c3a

Browse files
committed
Merge pull request #377 from dpalou/MOBILE-1412
Mobile 1412
2 parents 771d2a2 + 34a1aee commit a977c3a

File tree

3 files changed

+34
-6
lines changed

3 files changed

+34
-6
lines changed

www/addons/mod_resource/controllers/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ angular.module('mm.addons.mod_resource')
7171
});
7272
} else if ($mmaModResource.isDisplayedInline(module)) {
7373
var downloadFailed = false;
74-
$mmaModResource.downloadAllContent(module).catch(function(err) {
74+
return $mmaModResource.downloadAllContent(module).catch(function(err) {
7575
// Mark download as failed but go on since the main files could have been downloaded.
7676
downloadFailed = true;
7777
}).finally(function() {
@@ -97,14 +97,14 @@ angular.module('mm.addons.mod_resource')
9797
$scope.mode = 'external';
9898

9999
$scope.open = function() {
100-
var modal = $mmUtil.showModalLoading('mm.core.downloading', true);
100+
var modal = $mmUtil.showModalLoading();
101101

102102
$mmaModResource.openFile(module.contents, module.id).then(function() {
103103
$mmaModResource.logView(module.instance).then(function() {
104104
$mmCourse.checkModuleCompletion(courseid, module.completionstatus);
105105
});
106106
}).catch(function(error) {
107-
if (error) {
107+
if (error && typeof error == 'string') {
108108
$mmUtil.showErrorModal(error);
109109
} else {
110110
$mmUtil.showErrorModal('mma.mod_resource.errorwhileloadingthecontent', true);

www/addons/mod_resource/services/resource.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -374,12 +374,17 @@ angular.module('mm.addons.mod_resource')
374374
return $q.reject();
375375
}
376376

377-
var url = contents[0].fileurl,
377+
var files = [contents[0]],
378+
siteId = $mmSite.getId(),
379+
revision = $mmFilepool.getRevisionFromFileList(files),
380+
timeMod = $mmFilepool.getTimemodifiedFromFileList(files),
378381
promise;
379382

380383
if ($mmFS.isAvailable()) {
381384
// The file system is available.
382-
promise = $mmFilepool.downloadUrl($mmSite.getId(), url, false, mmaModResourceComponent, moduleId);
385+
promise = $mmFilepool.downloadPackage(siteId, files, mmaModResourceComponent, moduleId, revision, timeMod).then(function() {
386+
return $mmFilepool.getUrlByUrl(siteId, contents[0].fileurl, mmaModResourceComponent, moduleId, timeMod);
387+
});
383388
} else {
384389
// We use the live URL.
385390
promise = $q.when($mmSite.fixPluginfileURL(url));

www/core/lib/util.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,30 @@ angular.module('mm.core')
457457
*/
458458
self.showErrorModal = function(errorMessage, needsTranslate, autocloseTime) {
459459
var errorKey = 'mm.core.error',
460-
langKeys = [errorKey];
460+
langKeys = [errorKey],
461+
matches;
462+
463+
if (angular.isObject(errorMessage)) {
464+
// We received an object instead of a string. Search for common properties.
465+
if (typeof errorMessage.content != 'undefined') {
466+
errorMessage = errorMessage.content;
467+
} else if (typeof errorMessage.body != 'undefined') {
468+
errorMessage = errorMessage.body;
469+
} else if (typeof errorMessage.message != 'undefined') {
470+
errorMessage = errorMessage.message;
471+
} else if (typeof errorMessage.error != 'undefined') {
472+
errorMessage = errorMessage.error;
473+
} else {
474+
// No common properties found, just stringify it.
475+
errorMessage = JSON.stringify(errorMessage);
476+
}
477+
478+
// Try to remove tokens from the contents.
479+
matches = errorMessage.match(/token"?[=|:]"?(\w*)/, '');
480+
if (matches && matches[1]) {
481+
errorMessage = errorMessage.replace(new RegExp(matches[1], 'g'), 'secret');
482+
}
483+
}
461484

462485
if (needsTranslate) {
463486
langKeys.push(errorMessage);

0 commit comments

Comments
 (0)