(fix) Handle user's default for remote images

This commit is contained in:
Francis Lachapelle
2015-09-04 16:43:01 -04:00
parent 3d4a965412
commit bf02b3046f
2 changed files with 17 additions and 7 deletions
+10 -5
View File
@@ -138,11 +138,16 @@
<!-- Load external images -->
<md-whiteframe class="md-whiteframe-z2" layout="row" layout-align="space-between center"
ng-show="viewer.message.$hasUnsafeContent">
<p class="sg-padded"><var:string label:value="This message contains external images."/></p>
<md-button label:aria-label="Load Images"
ng-click="viewer.message.loadUnsafeContent()">
<var:string label:value="Load Images"/>
</md-button>
<div layout="row" layout-align="start center" class="layout-fill">
<div class="md-tile-left">
<md-icon>collections</md-icon>
</div>
<p class="sg-padded--right md-flex"><var:string label:value="This message contains external images."/></p>
<md-button label:aria-label="Load Images"
ng-click="viewer.message.loadUnsafeContent()">
<var:string label:value="Load Images"/>
</md-button>
</div>
</md-whiteframe>
<!-- Send MDN -->
@@ -56,6 +56,10 @@
if (Preferences.defaults.SOGoMailLabelsColors) {
Message.$tags = Preferences.defaults.SOGoMailLabelsColors;
}
if (Preferences.defaults.SOGoMailDisplayRemoteInlineImages &&
Preferences.defaults.SOGoMailDisplayRemoteInlineImages == 'always') {
Message.$displayRemoteInlineImages = true;
}
});
return Message; // return constructor
@@ -248,11 +252,11 @@
if (angular.isUndefined(part.safeContent)) {
// Keep a copy of the original content
part.safeContent = part.content;
_this.$hasUnsafeContent = (part.safeContent.indexOf(' unsafe-') > -1);
_this.$hasUnsafeContent |= (part.safeContent.indexOf(' unsafe-') > -1);
}
if (part.type == 'UIxMailPartHTMLViewer') {
part.html = true;
if (_this.$loadUnsafeContent) {
if (_this.$loadUnsafeContent || Message.$displayRemoteInlineImages) {
if (angular.isUndefined(part.unsafeContent)) {
part.unsafeContent = document.createElement('div');
part.unsafeContent.innerHTML = part.safeContent;
@@ -268,6 +272,7 @@
element.removeAttr('unsafe-' + suffix);
}
});
_this.$hasUnsafeContent = false;
}
part.content = Message.$sce.trustAs('html', part.unsafeContent.innerHTML);
}