From: Hypolite Petovan <hypolite@mrpetovan.com>
Date: Sat, 21 Nov 2020 16:10:04 +0000 (-0500)
Subject: Add missing activity toggle capability to photos
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4370d0b96751a9b91521dfa75f580a920cda592a;p=friendica.git

Add missing activity toggle capability to photos
---

diff --git a/mod/photos.php b/mod/photos.php
index fd831d5e2e..1a16f68026 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -1361,17 +1361,6 @@ function photos_content(App $a)
 			$tpl = Renderer::getMarkupTemplate('photo_item.tpl');
 			$return_path = DI::args()->getCommand();
 
-			if ($cmd === 'view' && ($can_post || Security::canWriteToUserWall($owner_uid))) {
-				$like_tpl = Renderer::getMarkupTemplate('like_noshare.tpl');
-				$likebuttons = Renderer::replaceMacros($like_tpl, [
-					'$id' => $link_item['id'],
-					'$likethis' => DI::l10n()->t("I like this \x28toggle\x29"),
-					'$dislike' => DI::pConfig()->get(local_user(), 'system', 'hide_dislike') ? '' : DI::l10n()->t("I don't like this \x28toggle\x29"),
-					'$wait' => DI::l10n()->t('Please wait'),
-					'$return_path' => DI::args()->getQueryString(),
-				]);
-			}
-
 			if (!DBA::isResult($items)) {
 				if (($can_post || Security::canWriteToUserWall($owner_uid))) {
 					/*
@@ -1534,6 +1523,28 @@ function photos_content(App $a)
 				}
 			}
 
+			$responses = [];
+			foreach ($conv_responses as $verb => $activity) {
+				if (isset($activity[$link_item['uri']])) {
+					$responses[$verb] = $activity[$link_item['uri']];
+				}
+			}
+
+			if ($cmd === 'view' && ($can_post || Security::canWriteToUserWall($owner_uid))) {
+				$like_tpl = Renderer::getMarkupTemplate('like_noshare.tpl');
+				$likebuttons = Renderer::replaceMacros($like_tpl, [
+					'$id' => $link_item['id'],
+					'$like' => DI::l10n()->t('Like'),
+					'$like_title' => DI::l10n()->t('I like this (toggle)'),
+					'$dislike' => DI::l10n()->t('Dislike'),
+					'$wait' => DI::l10n()->t('Please wait'),
+					'$dislike_title' => DI::l10n()->t('I don\'t like this (toggle)'),
+					'$hide_dislike' => DI::pConfig()->get(local_user(), 'system', 'hide_dislike'),
+					'$responses' => $responses,
+					'$return_path' => DI::args()->getQueryString(),
+				]);
+			}
+
 			$paginate = $pager->renderFull($total);
 		}
 
diff --git a/view/templates/like_noshare.tpl b/view/templates/like_noshare.tpl
index 3df365e727..4419a5b97a 100644
--- a/view/templates/like_noshare.tpl
+++ b/view/templates/like_noshare.tpl
@@ -1,8 +1,8 @@
 
 <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$id}}">
-	<a href="#" class="icon like" title="{{$likethis}}" onclick="dolike({{$id}},'like'); return false"></a>
+	<a href="#" class="icon like" title="{{$like_title}}" onclick="dolike({{$id}}, 'like'{{if $responses.like.self}}, true{{/if}}); return false"></a>
 	{{if $dislike}}
-	<a href="#" class="icon dislike" title="{{$dislike}}" onclick="dolike({{$id}},'dislike'); return false"></a>
+	<a href="#" class="icon dislike" title="{{$dislike_title}}" onclick="dolike({{$id}}, 'dislike'{{if $responses.dislike.self}}, true{{/if}}); return false"></a>
 	{{/if}}
 	<img id="like-rotator-{{$id}}" class="like-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
 </div>
diff --git a/view/theme/frio/templates/like_noshare.tpl b/view/theme/frio/templates/like_noshare.tpl
index b2a56292c7..dd3fa2e5f6 100644
--- a/view/theme/frio/templates/like_noshare.tpl
+++ b/view/theme/frio/templates/like_noshare.tpl
@@ -1,12 +1,20 @@
 
 <div class="wall-item-actions" id="wall-item-like-buttons-{{$id}}">
-	<button type="button" class="btn-link button-likes" id="like-{{$id}}" title="{{$likethis}}" onclick="dolike({{$id}},'like'); return false;" data-toggle="button">
-		<i class="faded-icon page-action fa fa-thumbs-up" aria-hidden="true"></i>
+	<button type="button"
+	        class="btn-link button-likes{{if $responses.like.self}} active" aria-pressed="true{{/if}}" id="like-{{$id}}"
+	        title="{{$like_title}}"
+	        onclick="doLikeAction({{$id}}, 'like'{{if $responses.like.self}}, true{{/if}});"
+	        data-toggle="button">
+		<i class="fa fa-thumbs-up" aria-hidden="true"></i>&nbsp;{{$like}}
 	</button>
-	{{if $dislike}}
-	<span class="icon-padding"> </span>
-	<button type="button" class="btn-link button-likes" id="dislike-{{$id}}" title="{{$dislike}}" onclick="dolike({{$id}},'dislike'); return false;" data-toggle="button">
-		<i class="faded-icon page-action fa fa-thumbs-down" aria-hidden="true"></i>
+	{{if !$hide_dislike}}
+		<span class="icon-padding"> </span>
+	<button type="button"
+	        class="btn-link button-likes{{if $responses.dislike.self}} active" aria-pressed="true{{/if}}"
+	        id="dislike-{{$id}}"
+	        title="{{$dislike_title}}"
+	        onclick="doLikeAction({{$id}}, 'dislike'{{if $responses.dislike.self}}, true{{/if}});"
+	        data-toggle="button"><i class="fa fa-thumbs-down" aria-hidden="true"></i>&nbsp;{{$dislike}}
 	</button>
 	{{/if}}
 	<img id="like-rotator-{{$id}}" class="like-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />