MOBILE-2567 user: Sanitize address URLs
parent
7126c44917
commit
d3807fd48e
|
@ -31,10 +31,7 @@
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-item text-wrap *ngIf="user.address">
|
<ion-item text-wrap *ngIf="user.address">
|
||||||
<h2>{{ 'core.user.address' | translate}}</h2>
|
<h2>{{ 'core.user.address' | translate}}</h2>
|
||||||
<p><a *ngIf="isAndroid" href="geo:0,0?q={{user.encodedAddress}}" core-link auto-login="no">
|
<p><a [href]="user.encodedAddress" core-link auto-login="no">
|
||||||
<core-format-text [text]="user.address"></core-format-text>
|
|
||||||
</a>
|
|
||||||
<a *ngIf="!isAndroid" href="http://maps.google.com?q={{user.encodedAddress}}" core-link auto-login="no">
|
|
||||||
<core-format-text [text]="user.address"></core-format-text>
|
<core-format-text [text]="user.address"></core-format-text>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
|
import { DomSanitizer } from '@angular/platform-browser';
|
||||||
import { IonicPage, NavParams, Platform } from 'ionic-angular';
|
import { IonicPage, NavParams, Platform } from 'ionic-angular';
|
||||||
import { CoreUserProvider } from '../../providers/user';
|
import { CoreUserProvider } from '../../providers/user';
|
||||||
import { CoreUserHelperProvider } from '../../providers/helper';
|
import { CoreUserHelperProvider } from '../../providers/helper';
|
||||||
|
@ -41,7 +42,7 @@ export class CoreUserAboutPage {
|
||||||
title: string;
|
title: string;
|
||||||
|
|
||||||
constructor(navParams: NavParams, private userProvider: CoreUserProvider, private userHelper: CoreUserHelperProvider,
|
constructor(navParams: NavParams, private userProvider: CoreUserProvider, private userHelper: CoreUserHelperProvider,
|
||||||
private domUtils: CoreDomUtilsProvider, private eventsProvider: CoreEventsProvider,
|
private domUtils: CoreDomUtilsProvider, private eventsProvider: CoreEventsProvider, private sanitizer: DomSanitizer,
|
||||||
private sitesProvider: CoreSitesProvider, private platform: Platform) {
|
private sitesProvider: CoreSitesProvider, private platform: Platform) {
|
||||||
|
|
||||||
this.userId = navParams.get('userId');
|
this.userId = navParams.get('userId');
|
||||||
|
@ -68,7 +69,8 @@ export class CoreUserAboutPage {
|
||||||
|
|
||||||
if (user.address) {
|
if (user.address) {
|
||||||
user.address = this.userHelper.formatAddress(user.address, user.city, user.country);
|
user.address = this.userHelper.formatAddress(user.address, user.city, user.country);
|
||||||
user.encodedAddress = encodeURIComponent(user.address);
|
user.encodedAddress = this.sanitizer.bypassSecurityTrustUrl(
|
||||||
|
(this.isAndroid ? 'geo:0,0?q=' : 'http://maps.google.com?q=') + encodeURIComponent(user.address));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.hasContact = user.email || user.phone1 || user.phone2 || user.city || user.country || user.address;
|
this.hasContact = user.email || user.phone1 || user.phone2 || user.city || user.country || user.address;
|
||||||
|
|
Loading…
Reference in New Issue