From a0d76b9370aab0d57b93cc4dbf70b95c9005d90a Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Mon, 3 Sep 2018 16:42:29 +0200 Subject: [PATCH] MOBILE-2567 lti: Fix LTI icons not displayed --- src/addon/mod/lti/providers/module-handler.ts | 8 +++++--- src/core/course/providers/module-delegate.ts | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/addon/mod/lti/providers/module-handler.ts b/src/addon/mod/lti/providers/module-handler.ts index c88705911..dfd0b38b4 100644 --- a/src/addon/mod/lti/providers/module-handler.ts +++ b/src/addon/mod/lti/providers/module-handler.ts @@ -14,6 +14,7 @@ import { Injectable } from '@angular/core'; import { NavController, NavOptions } from 'ionic-angular'; +import { DomSanitizer } from '@angular/platform-browser'; import { CoreCourseModuleHandler, CoreCourseModuleHandlerData } from '@core/course/providers/module-delegate'; import { CoreAppProvider } from '@providers/app'; import { CoreCourseProvider } from '@core/course/providers/course'; @@ -36,7 +37,8 @@ export class AddonModLtiModuleHandler implements CoreCourseModuleHandler { private domUtils: CoreDomUtilsProvider, private filepoolProvider: CoreFilepoolProvider, private sitesProvider: CoreSitesProvider, - private ltiProvider: AddonModLtiProvider) {} + private ltiProvider: AddonModLtiProvider, + private sanitizer: DomSanitizer) {} /** * Check if the handler is enabled on a site level. @@ -100,11 +102,11 @@ export class AddonModLtiModuleHandler implements CoreCourseModuleHandler { // Get the internal URL. return this.filepoolProvider.getSrcByUrl(siteId, icon, AddonModLtiProvider.COMPONENT, module.id); }).then((url) => { - data.icon = url; + data.icon = this.sanitizer.bypassSecurityTrustUrl(url); }).catch(() => { // Error downloading. If we're online we'll set the online url. if (this.appProvider.isOnline()) { - data.icon = icon; + data.icon = this.sanitizer.bypassSecurityTrustUrl(icon); } }); } diff --git a/src/core/course/providers/module-delegate.ts b/src/core/course/providers/module-delegate.ts index b367efbf1..459110be2 100644 --- a/src/core/course/providers/module-delegate.ts +++ b/src/core/course/providers/module-delegate.ts @@ -14,6 +14,7 @@ import { Injectable, Injector } from '@angular/core'; import { NavController, NavOptions } from 'ionic-angular'; +import { SafeUrl } from '@angular/platform-browser'; import { CoreEventsProvider } from '@providers/events'; import { CoreLoggerProvider } from '@providers/logger'; import { CoreSitesProvider } from '@providers/sites'; @@ -77,7 +78,7 @@ export interface CoreCourseModuleHandlerData { * The image to use as icon (path to the image). * @type {string} */ - icon?: string; + icon?: string | SafeUrl; /** * The class to assign to the item.