From b49590b03d68b143e5c63201127f25e3bc5c08cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Thu, 10 Mar 2016 13:37:54 +0100 Subject: [PATCH] MOBILE-1460 resource: Force resource to open html files always in iframe --- www/addons/mod_resource/controllers/index.js | 40 +------------------ .../mod_resource/directives/html_link.js | 3 ++ www/addons/mod_resource/services/resource.js | 25 +++++------- www/addons/mod_resource/templates/index.html | 4 -- 4 files changed, 14 insertions(+), 58 deletions(-) diff --git a/www/addons/mod_resource/controllers/index.js b/www/addons/mod_resource/controllers/index.js index c4f480a10cd..d15bcb58fe1 100644 --- a/www/addons/mod_resource/controllers/index.js +++ b/www/addons/mod_resource/controllers/index.js @@ -21,8 +21,7 @@ angular.module('mm.addons.mod_resource') * @ngdoc controller * @name mmaModResourceIndexCtrl */ -.controller('mmaModResourceIndexCtrl', function($scope, $stateParams, $mmUtil, $mmaModResource, $log, $mmApp, $mmCourse, $timeout, - mmaModResourceComponent) { +.controller('mmaModResourceIndexCtrl', function($scope, $stateParams, $mmUtil, $mmaModResource, $log, $mmApp, $mmCourse, $timeout) { $log = $log.getInstance('mmaModResourceIndexCtrl'); var module = $stateParams.module || {}, @@ -30,8 +29,6 @@ angular.module('mm.addons.mod_resource') $scope.title = module.name; $scope.description = module.description; - $scope.component = mmaModResourceComponent; - $scope.componentId = module.id; $scope.externalUrl = module.url; $scope.mode = false; $scope.loaded = false; @@ -59,29 +56,6 @@ angular.module('mm.addons.mod_resource') $mmaModResource.logView(module.instance).then(function() { $mmCourse.checkModuleCompletion(courseid, module.completionstatus); }); - if (downloadFailed && $mmApp.isOnline()) { - // We could load the main file but the download failed. Show error message. - $mmUtil.showErrorModal('mm.core.errordownloadingsomefiles', true); - } - }).catch(function() { - $mmUtil.showErrorModal('mma.mod_resource.errorwhileloadingthecontent', true); - }).finally(function() { - $scope.loaded = true; - }); - }); - } else if ($mmaModResource.isDisplayedInline(module)) { - var downloadFailed = false; - return $mmaModResource.downloadAllContent(module).catch(function(err) { - // Mark download as failed but go on since the main files could have been downloaded. - downloadFailed = true; - }).finally(function() { - $mmaModResource.getResourceHtml(module.contents, module.id).then(function(content) { - $scope.mode = 'inline'; - $scope.content = content; - $mmaModResource.logView(module.instance).then(function() { - $mmCourse.checkModuleCompletion(courseid, module.completionstatus); - }); - if (downloadFailed && $mmApp.isOnline()) { // We could load the main file but the download failed. Show error message. $mmUtil.showErrorModal('mm.core.errordownloadingsomefiles', true); @@ -119,18 +93,6 @@ angular.module('mm.addons.mod_resource') } } - // Event sent by the directive mmaModResourceHtmlLink when we click an HTML link. - $scope.$on('mmaModResourceHtmlLinkClicked', function(e, target) { - $scope.loaded = false; - $mmaModResource.getResourceHtml(module.contents, module.id, target).then(function(content) { - $scope.content = content; - }).catch(function() { - $mmUtil.showErrorModal('mma.mod_resource.errorwhileloadingthecontent', true); - }).finally(function() { - $scope.loaded = true; - }); - }); - $scope.doRefresh = function() { $mmaModResource.invalidateContent(module.id).then(function() { return fetchContent(); diff --git a/www/addons/mod_resource/directives/html_link.js b/www/addons/mod_resource/directives/html_link.js index 523ac55ef92..4e8b76c4856 100644 --- a/www/addons/mod_resource/directives/html_link.js +++ b/www/addons/mod_resource/directives/html_link.js @@ -20,6 +20,9 @@ angular.module('mm.addons.mod_resource') * @module mm.addons.mod_resource * @ngdoc directive * @name mmaModResourceHtmlLink + * + * @deprecated since version 2.10 + * This function was used to show resources inline */ .directive('mmaModResourceHtmlLink', function() { return { diff --git a/www/addons/mod_resource/services/resource.js b/www/addons/mod_resource/services/resource.js index 18729d22f40..c54c84572f6 100644 --- a/www/addons/mod_resource/services/resource.js +++ b/www/addons/mod_resource/services/resource.js @@ -176,6 +176,9 @@ angular.module('mm.addons.mod_resource') * @param {Number} moduleId The module ID. * @param {String} [target] The HTML file that the user wants to open, if not defined uses the main file. * @return {Promise} + * + * @deprecated since version 2.10 + * This function was used to show resources inline */ self.getResourceHtml = function(contents, moduleId, target) { var indexUrl, @@ -262,18 +265,12 @@ angular.module('mm.addons.mod_resource') * @return {Boolean} */ self.isDisplayedInIframe = function(module) { - var inline = self.isDisplayedInline(module); - - if (inline && $mmFS.isAvailable()) { - for (var i = 0; i < module.contents.length; i++) { - var ext = $mmFS.getFileExtension(module.contents[i].filename); - if (ext == 'js' || ext == 'swf' || ext == 'css') { - return true; - } - } + if (!module.contents.length) { + return false; } + var ext = $mmFS.getFileExtension(module.contents[0].filename); - return false; + return (ext === 'htm' || ext === 'html') && $mmFS.isAvailable(); }; /** @@ -284,13 +281,11 @@ angular.module('mm.addons.mod_resource') * @name $mmaModResource#isDisplayedInline * @param {Object} module The module object. * @return {Boolean} + * + * @deprecated since version 2.10 */ self.isDisplayedInline = function(module) { - if (!module.contents.length) { - return false; - } - var ext = $mmFS.getFileExtension(module.contents[0].filename); - return ext === 'htm' || ext === 'html'; + return self.isDisplayedInIframe(module); }; /** diff --git a/www/addons/mod_resource/templates/index.html b/www/addons/mod_resource/templates/index.html index 6ff5d8aa6f1..b4a40ce6146 100644 --- a/www/addons/mod_resource/templates/index.html +++ b/www/addons/mod_resource/templates/index.html @@ -12,10 +12,6 @@ -
- {{ content }} -
-
{{ 'mma.mod_resource.openthefile' | translate }}