From 9ff228812f0b0d565d8c0fc50f567d31ebd7ad08 Mon Sep 17 00:00:00 2001
From: Hypolite Petovan <hypolite@mrpetovan.com>
Date: Sun, 13 Sep 2020 19:33:57 -0400
Subject: [PATCH] Normalize item location template variable name

---
 include/conversation.php                       | 15 ++-------------
 src/Object/Post.php                            |  5 ++---
 view/templates/search_item.tpl                 |  2 +-
 view/templates/wall_thread.tpl                 |  2 +-
 view/theme/frio/templates/search_item.tpl      |  6 +++---
 view/theme/frio/templates/wall_thread.tpl      |  8 ++++----
 view/theme/quattro/templates/search_item.tpl   |  2 +-
 view/theme/quattro/templates/wall_item_tag.tpl |  2 +-
 view/theme/quattro/templates/wall_thread.tpl   |  2 +-
 view/theme/smoothly/templates/search_item.tpl  |  2 +-
 view/theme/smoothly/templates/wall_thread.tpl  |  2 +-
 view/theme/vier/templates/search_item.tpl      |  2 +-
 view/theme/vier/templates/wall_item_tag.tpl    |  2 +-
 view/theme/vier/templates/wall_thread.tpl      |  2 +-
 14 files changed, 21 insertions(+), 33 deletions(-)

diff --git a/include/conversation.php b/include/conversation.php
index a995ea4ad1..6bf511a6bc 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -546,8 +546,7 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
 
 				$locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => ''];
 				Hook::callAll('render_location',$locate);
-
-				$location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
+				$location_html = $locate['html'] ?: Strings::escapeHtml($locate['location'] ?: $locate['coord'] ?: '');
 
 				localize_item($item);
 				if ($mode === 'network-new') {
@@ -616,7 +615,7 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
 					'text' => strip_tags($body),
 					'localtime' => DateTimeFormat::local($item['created'], 'r'),
 					'ago' => (($item['app']) ? DI::l10n()->t('%s from %s', Temporal::getRelativeDate($item['created']),$item['app']) : Temporal::getRelativeDate($item['created'])),
-					'location' => $location,
+					'location_html' => $location_html,
 					'indent' => '',
 					'owner_name' => $owner_name,
 					'owner_url' => $owner_url,
@@ -1497,13 +1496,3 @@ function sort_thr_commented(array $a, array $b)
 {
 	return strcmp($b['commented'], $a['commented']);
 }
-
-function render_location_dummy(array $item) {
-	if (!empty($item['location']) && !empty($item['location'])) {
-		return $item['location'];
-	}
-
-	if (!empty($item['coord']) && !empty($item['coord'])) {
-		return $item['coord'];
-	}
-}
diff --git a/src/Object/Post.php b/src/Object/Post.php
index d9f0d44d67..f5e91c07c5 100644
--- a/src/Object/Post.php
+++ b/src/Object/Post.php
@@ -254,7 +254,7 @@ class Post
 
 		$locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => ''];
 		Hook::callAll('render_location', $locate);
-		$location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
+		$location_html = $locate['html'] ?: Strings::escapeHtml($locate['location'] ?: $locate['coord'] ?: '');
 
 		// process action responses - e.g. like/dislike/attend/agree/whatever
 		$response_verbs = ['like', 'dislike', 'announce'];
@@ -371,7 +371,6 @@ class Post
 			$title_e = $item['title'];
 		}
 
-		$location_e   = $location;
 		$owner_name_e = $this->getOwnerName();
 
 		if (DI::pConfig()->get(local_user(), 'system', 'hide_dislike')) {
@@ -457,7 +456,7 @@ class Post
 			'app'             => $item['app'],
 			'created'         => $ago,
 			'lock'            => $lock,
-			'location'        => $location_e,
+			'location_html'   => $location_html,
 			'indent'          => $indent,
 			'shiny'           => $shiny,
 			'owner_self'      => $item['author-link'] == Session::get('my_url'),
diff --git a/view/templates/search_item.tpl b/view/templates/search_item.tpl
index 1a756db8a3..82db4884c6 100644
--- a/view/templates/search_item.tpl
+++ b/view/templates/search_item.tpl
@@ -19,7 +19,7 @@
 			<div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
 				{{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event, 'item', {{$item.id}});" /></div>
 				{{else}}<div class="wall-item-lock"></div>{{/if}}	
-				<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location nofilter}}</div>
+				<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location_html nofilter}}</div>
 			</div>
 		</div>
 		<div class="wall-item-author">
diff --git a/view/templates/wall_thread.tpl b/view/templates/wall_thread.tpl
index bd8a1a2309..13b358b520 100644
--- a/view/templates/wall_thread.tpl
+++ b/view/templates/wall_thread.tpl
@@ -48,7 +48,7 @@
 			<div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
 				{{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event, 'item', {{$item.id}});" /></div>
 				{{else}}<div class="wall-item-lock"></div>{{/if}}
-				<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location nofilter}}</div>
+				<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location_html nofilter}}</div>
 			</div>
 		</div>
 		<div class="wall-item-author">
diff --git a/view/theme/frio/templates/search_item.tpl b/view/theme/frio/templates/search_item.tpl
index 2cd231f8fb..e48a12b50b 100644
--- a/view/theme/frio/templates/search_item.tpl
+++ b/view/theme/frio/templates/search_item.tpl
@@ -66,9 +66,9 @@
 							<small><a href="{{$item.plink.orig}}"><span class="time" title="{{$item.localtime}}" data-toggle="tooltip">{{$item.ago}}</span></a></small>
 						</div>
 
-						{{if $item.location}}
+						{{if $item.location_html}}
 						<div id="wall-item-location-{{$item.id}}" class="wall-item-location">
-							<small><span class="location">({{$item.location nofilter}})</span></small>
+							<small><span class="location">({{$item.location_html nofilter}})</span></small>
 						</div>
 						{{/if}}
 					</div>
@@ -81,7 +81,7 @@
 				<h5 class="media-heading">
 					<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span>{{$item.name}}</span></a>
 					<p class="text-muted"><small>
-						<span class="wall-item-ago">{{$item.ago}}</span> {{if $item.location}}&nbsp;&mdash;&nbsp;({{$item.location nofilter}}){{/if}}</small>
+						<span class="wall-item-ago">{{$item.ago}}</span> {{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}</small>
 					</p>
 				</h5>
 			</div>
diff --git a/view/theme/frio/templates/wall_thread.tpl b/view/theme/frio/templates/wall_thread.tpl
index 81532f943c..2b285456a9 100644
--- a/view/theme/frio/templates/wall_thread.tpl
+++ b/view/theme/frio/templates/wall_thread.tpl
@@ -186,9 +186,9 @@ as the value of $top_child_total (this is done at the end of this file)
 						</small>
 					</div>
 
-					{{if $item.location}}
+					{{if $item.location_html}}
 					<div id="wall-item-location-{{$item.id}}" class="wall-item-location">
-						<small><span class="location">({{$item.location nofilter}})</span></small>
+						<small><span class="location">({{$item.location_html nofilter}})</span></small>
 					</div>
 					{{/if}}
 				</div>
@@ -202,7 +202,7 @@ as the value of $top_child_total (this is done at the end of this file)
 					<p class="text-muted">
 						<small>
 							<a class="time" href="{{$item.plink.orig}}"><span class="wall-item-ago">{{$item.ago}}</span></a>
-							{{if $item.location}}&nbsp;&mdash;&nbsp;({{$item.location nofilter}}){{/if}}
+							{{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}
 							{{if $item.owner_self}}
 								{{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
 							{{/if}}
@@ -221,7 +221,7 @@ as the value of $top_child_total (this is done at the end of this file)
 					<span class="text-muted">
 				<small>
 					<a class="time" href="{{$item.plink.orig}}" title="{{$item.localtime}}" data-toggle="tooltip">{{$item.ago}}</a>
-					{{if $item.location}}&nbsp;&mdash;&nbsp;({{$item.location nofilter}}){{/if}}
+					{{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}
 					{{if $item.owner_self}}
 						{{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
 					{{/if}}
diff --git a/view/theme/quattro/templates/search_item.tpl b/view/theme/quattro/templates/search_item.tpl
index cb400ac4f5..be9a43604a 100644
--- a/view/theme/quattro/templates/search_item.tpl
+++ b/view/theme/quattro/templates/search_item.tpl
@@ -19,7 +19,7 @@
 				</ul>
 
 			</div>
-			<div class="wall-item-location">{{$item.location nofilter}}</div>
+			<div class="wall-item-location">{{$item.location_html nofilter}}</div>
 		</div>
 		<div class="wall-item-content">
 			{{if $item.title}}<h2><a href="{{$item.plink.href}}">{{$item.title}}</a></h2>{{/if}}
diff --git a/view/theme/quattro/templates/wall_item_tag.tpl b/view/theme/quattro/templates/wall_item_tag.tpl
index cb4b890153..e957e719a6 100644
--- a/view/theme/quattro/templates/wall_item_tag.tpl
+++ b/view/theme/quattro/templates/wall_item_tag.tpl
@@ -34,7 +34,7 @@
 				</ul>
 				
 			</div>
-			<div class="wall-item-location">{{$item.location nofilter}}</div>
+			<div class="wall-item-location">{{$item.location_html nofilter}}</div>
 		</div>
 		<div class="wall-item-content">
 			{{$item.ago}} {{$item.body nofilter}}
diff --git a/view/theme/quattro/templates/wall_thread.tpl b/view/theme/quattro/templates/wall_thread.tpl
index 21de7db2df..7c8a567835 100644
--- a/view/theme/quattro/templates/wall_thread.tpl
+++ b/view/theme/quattro/templates/wall_thread.tpl
@@ -50,7 +50,7 @@
 				</a>
 			</div>
 			{{/if}}
-			<div class="wall-item-location">{{$item.location nofilter}}</div>
+			<div class="wall-item-location">{{$item.location_html nofilter}}</div>
 		</div>
 		<div class="wall-item-content">
 			{{if $item.title}}<h2><a href="{{$item.plink.href}}" class="{{$item.sparkle}} p-name">{{$item.title}}</a></h2>{{/if}}
diff --git a/view/theme/smoothly/templates/search_item.tpl b/view/theme/smoothly/templates/search_item.tpl
index b3ae01eb4e..284264f29b 100644
--- a/view/theme/smoothly/templates/search_item.tpl
+++ b/view/theme/smoothly/templates/search_item.tpl
@@ -15,7 +15,7 @@
 				</div>
 			</div>
 			<div class="wall-item-photo-end"></div>	
-			<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{if $item.location}}<span class="icon globe"></span>{{$item.location nofilter}} {{/if}}</div>
+			<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{if $item.location_html}}<span class="icon globe"></span>{{$item.location_html nofilter}} {{/if}}</div>
 		</div>
 		<div class="wall-item-lock-wrapper">
 				{{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event, 'item', {{$item.id}});" /></div>
diff --git a/view/theme/smoothly/templates/wall_thread.tpl b/view/theme/smoothly/templates/wall_thread.tpl
index 4ff34aed11..99d7020539 100644
--- a/view/theme/smoothly/templates/wall_thread.tpl
+++ b/view/theme/smoothly/templates/wall_thread.tpl
@@ -37,7 +37,7 @@
 
 			</div>
 			<div class="wall-item-photo-end"></div>
-			<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{if $item.location}}<span class="icon globe"></span>{{$item.location nofilter}} {{/if}}</div>
+			<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{if $item.location_html}}<span class="icon globe"></span>{{$item.location_html nofilter}} {{/if}}</div>
 		</div>
 		<div class="wall-item-lock-wrapper">
 			{{if $item.lock}}
diff --git a/view/theme/vier/templates/search_item.tpl b/view/theme/vier/templates/search_item.tpl
index 1da18b0867..1ab47844cc 100644
--- a/view/theme/vier/templates/search_item.tpl
+++ b/view/theme/vier/templates/search_item.tpl
@@ -51,7 +51,7 @@
 		</div>
 		<div class="wall-item-actions">
 
-			<div class="wall-item-location">{{$item.location nofilter}}&nbsp;</div>
+			<div class="wall-item-location">{{$item.location_html nofilter}}&nbsp;</div>
 
 			<div class="wall-item-actions-social">
 			{{if $item.star}}
diff --git a/view/theme/vier/templates/wall_item_tag.tpl b/view/theme/vier/templates/wall_item_tag.tpl
index 49fb26a83c..eedc51bf17 100644
--- a/view/theme/vier/templates/wall_item_tag.tpl
+++ b/view/theme/vier/templates/wall_item_tag.tpl
@@ -34,7 +34,7 @@
 				</ul>
 				
 			</div>
-			<div class="wall-item-location">{{$item.location nofilter}}</div>
+			<div class="wall-item-location">{{$item.location_html nofilter}}</div>
 		</div>
 		<div class="wall-item-content">
 			{{$item.ago}} {{$item.body nofilter}}
diff --git a/view/theme/vier/templates/wall_thread.tpl b/view/theme/vier/templates/wall_thread.tpl
index e52aab1814..60f0c796cb 100644
--- a/view/theme/vier/templates/wall_thread.tpl
+++ b/view/theme/vier/templates/wall_thread.tpl
@@ -150,7 +150,7 @@
 			{{/if}}
 			</div>
 
-			<div class="wall-item-location">{{$item.location nofilter}} {{$item.postopts}}</div>
+			<div class="wall-item-location">{{$item.location_html nofilter}} {{$item.postopts}}</div>
 
 			<div class="wall-item-actions-isevent">
 			</div>