Merge pull request #11153 from MrPetovan/task/11148-frio-browser-share

[frio] Add a conditional browser share button
This commit is contained in:
Philipp 2022-01-09 19:23:13 +01:00 committed by GitHub
commit a602572d97
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 110 additions and 83 deletions

View file

@ -80,7 +80,7 @@ class Item
'commented', 'created', 'edited', 'received', 'verb', 'object-type', 'postopts', 'plink',
'wall', 'private', 'starred', 'origin', 'parent-origin', 'title', 'body', 'language',
'content-warning', 'location', 'coord', 'app', 'rendered-hash', 'rendered-html', 'object',
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'mention',
'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'mention', 'global',
'author-id', 'author-link', 'author-name', 'author-avatar', 'author-network',
'owner-id', 'owner-link', 'owner-name', 'owner-avatar', 'owner-network', 'owner-contact-type',
'causer-id', 'causer-link', 'causer-name', 'causer-avatar', 'causer-contact-type', 'causer-network',

View file

@ -135,8 +135,6 @@ class Post
*/
public function getTemplateData(array $conv_responses, string $formSecurityToken, $thread_level = 1)
{
$a = DI::app();
$item = $this->getData();
$edited = false;
// If the time between "created" and "edited" differs we add
@ -177,6 +175,8 @@ class Post
? DI::l10n()->t('Private Message')
: false);
$connector = !$item['global'] ? DI::l10n()->t('Connector Message') : false;
$shareable = in_array($conv->getProfileOwner(), [0, local_user()]) && $item['private'] != Item::PRIVATE;
$announceable = $shareable && in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA, Protocol::TWITTER]);
@ -469,6 +469,7 @@ class Post
'app' => $item['app'],
'created' => $ago,
'lock' => $lock,
'connector' => $connector,
'location_html' => $location_html,
'indent' => $indent,
'shiny' => $shiny,
@ -477,6 +478,7 @@ class Post
'owner_photo' => DI::baseUrl()->remove(Contact::getAvatarUrlForUrl($item['owner-link'], $item['uid'], Proxy::SIZE_THUMB)),
'owner_name' => $this->getOwnerName(),
'plink' => Item::getPlink($item),
'browsershare' => DI::l10n()->t('Share'),
'edpost' => $edpost,
'ispinned' => $ispinned,
'pin' => $pin,

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 2021.12-rc\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-01-04 22:08+0100\n"
"POT-Creation-Date: 2022-01-09 12:31-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -163,7 +163,7 @@ msgid "Save"
msgstr ""
#: mod/editpost.php:92 mod/photos.php:1344 src/Content/Conversation.php:326
#: src/Module/Contact/Poke.php:176 src/Object/Post.php:964
#: src/Module/Contact/Poke.php:176 src/Object/Post.php:966
msgid "Loading..."
msgstr ""
@ -229,7 +229,7 @@ msgstr ""
#: mod/editpost.php:107 mod/message.php:200 mod/message.php:358
#: mod/photos.php:1495 mod/wallmessage.php:142 src/Content/Conversation.php:355
#: src/Content/Conversation.php:690 src/Module/Item/Compose.php:165
#: src/Object/Post.php:502
#: src/Object/Post.php:504
msgid "Please wait"
msgstr ""
@ -261,11 +261,11 @@ msgstr ""
#: mod/editpost.php:128 mod/events.php:517 mod/photos.php:1343
#: mod/photos.php:1399 mod/photos.php:1473 src/Content/Conversation.php:370
#: src/Module/Item/Compose.php:160 src/Object/Post.php:974
#: src/Module/Item/Compose.php:160 src/Object/Post.php:976
msgid "Preview"
msgstr ""
#: mod/editpost.php:130 mod/fbrowser.php:100 mod/fbrowser.php:127
#: mod/editpost.php:130 mod/fbrowser.php:117 mod/fbrowser.php:144
#: mod/follow.php:144 mod/photos.php:1010 mod/photos.php:1111 mod/tagrm.php:35
#: mod/tagrm.php:127 mod/unfollow.php:97 src/Content/Conversation.php:373
#: src/Module/Contact/Revoke.php:110 src/Module/RemoteFollow.php:127
@ -273,42 +273,42 @@ msgid "Cancel"
msgstr ""
#: mod/editpost.php:134 src/Content/Conversation.php:331
#: src/Module/Item/Compose.php:151 src/Object/Post.php:965
#: src/Module/Item/Compose.php:151 src/Object/Post.php:967
msgid "Bold"
msgstr ""
#: mod/editpost.php:135 src/Content/Conversation.php:332
#: src/Module/Item/Compose.php:152 src/Object/Post.php:966
#: src/Module/Item/Compose.php:152 src/Object/Post.php:968
msgid "Italic"
msgstr ""
#: mod/editpost.php:136 src/Content/Conversation.php:333
#: src/Module/Item/Compose.php:153 src/Object/Post.php:967
#: src/Module/Item/Compose.php:153 src/Object/Post.php:969
msgid "Underline"
msgstr ""
#: mod/editpost.php:137 src/Content/Conversation.php:334
#: src/Module/Item/Compose.php:154 src/Object/Post.php:968
#: src/Module/Item/Compose.php:154 src/Object/Post.php:970
msgid "Quote"
msgstr ""
#: mod/editpost.php:138 src/Content/Conversation.php:335
#: src/Module/Item/Compose.php:155 src/Object/Post.php:969
#: src/Module/Item/Compose.php:155 src/Object/Post.php:971
msgid "Code"
msgstr ""
#: mod/editpost.php:139 src/Content/Conversation.php:337
#: src/Module/Item/Compose.php:157 src/Object/Post.php:971
#: src/Module/Item/Compose.php:157 src/Object/Post.php:973
msgid "Link"
msgstr ""
#: mod/editpost.php:140 src/Content/Conversation.php:338
#: src/Module/Item/Compose.php:158 src/Object/Post.php:972
#: src/Module/Item/Compose.php:158 src/Object/Post.php:974
msgid "Link or Media"
msgstr ""
#: mod/editpost.php:143 src/Content/Conversation.php:380
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:458
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:460
#: src/Module/Admin/Logs/View.php:92
msgid "Message"
msgstr ""
@ -385,7 +385,7 @@ msgstr ""
#: mod/events.php:508 src/Content/Widget/VCard.php:98 src/Model/Event.php:80
#: src/Model/Event.php:107 src/Model/Event.php:466 src/Model/Event.php:915
#: src/Model/Profile.php:366 src/Module/Contact/Profile.php:369
#: src/Model/Profile.php:368 src/Module/Contact/Profile.php:369
#: src/Module/Directory.php:147 src/Module/Notifications/Introductions.php:185
#: src/Module/Profile/Profile.php:194
msgid "Location:"
@ -411,7 +411,7 @@ msgstr ""
#: src/Module/Install.php:252 src/Module/Install.php:294
#: src/Module/Install.php:331 src/Module/Invite.php:177
#: src/Module/Item/Compose.php:150 src/Module/Profile/Profile.php:247
#: src/Module/Settings/Profile/Index.php:222 src/Object/Post.php:963
#: src/Module/Settings/Profile/Index.php:222 src/Object/Post.php:965
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160
#: view/theme/quattro/config.php:71 view/theme/vier/config.php:119
msgid "Submit"
@ -430,17 +430,17 @@ msgstr ""
msgid "Failed to remove event"
msgstr ""
#: mod/fbrowser.php:43 src/Content/Nav.php:192 src/Module/BaseProfile.php:64
#: mod/fbrowser.php:60 src/Content/Nav.php:192 src/Module/BaseProfile.php:64
#: view/theme/frio/theme.php:227
msgid "Photos"
msgstr ""
#: mod/fbrowser.php:102 mod/fbrowser.php:129
#: mod/fbrowser.php:119 mod/fbrowser.php:146
#: src/Module/Settings/Profile/Photo/Index.php:129
msgid "Upload"
msgstr ""
#: mod/fbrowser.php:124
#: mod/fbrowser.php:141
msgid "Files"
msgstr ""
@ -1066,12 +1066,12 @@ msgstr ""
#: mod/photos.php:1339 mod/photos.php:1395 mod/photos.php:1469
#: src/Module/Contact.php:544 src/Module/Item/Compose.php:148
#: src/Object/Post.php:960
#: src/Object/Post.php:962
msgid "This is you"
msgstr ""
#: mod/photos.php:1341 mod/photos.php:1397 mod/photos.php:1471
#: src/Object/Post.php:496 src/Object/Post.php:962
#: src/Object/Post.php:498 src/Object/Post.php:964
msgid "Comment"
msgstr ""
@ -2085,7 +2085,7 @@ msgstr ""
msgid "File upload failed."
msgstr ""
#: mod/wall_upload.php:221 src/Model/Photo.php:984
#: mod/wall_upload.php:221 src/Model/Photo.php:1001
msgid "Wall Photos"
msgstr ""
@ -2131,16 +2131,16 @@ msgstr ""
msgid "toggle mobile"
msgstr ""
#: src/App/Router.php:286
#: src/App/Router.php:275
#, php-format
msgid "Method not allowed for this module. Allowed method(s): %s"
msgstr ""
#: src/App/Router.php:288 src/Module/HTTPException/PageNotFound.php:33
#: src/App/Router.php:277 src/Module/HTTPException/PageNotFound.php:33
msgid "Page not found."
msgstr ""
#: src/App/Router.php:315
#: src/App/Router.php:305
msgid "You must be logged in to use addons. "
msgstr ""
@ -2482,7 +2482,7 @@ msgid "Visible to <strong>everybody</strong>"
msgstr ""
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:159
#: src/Object/Post.php:973
#: src/Object/Post.php:975
msgid "Please enter a image/video/audio/webpage URL:"
msgstr ""
@ -2506,12 +2506,12 @@ msgstr ""
msgid "New Post"
msgstr ""
#: src/Content/Conversation.php:325
#: src/Content/Conversation.php:325 src/Object/Post.php:481
msgid "Share"
msgstr ""
#: src/Content/Conversation.php:336 src/Module/Item/Compose.php:156
#: src/Object/Post.php:970
#: src/Object/Post.php:972
msgid "Image"
msgstr ""
@ -3104,7 +3104,7 @@ msgid "The end"
msgstr ""
#: src/Content/Text/HTML.php:875 src/Content/Widget/VCard.php:103
#: src/Model/Profile.php:452
#: src/Model/Profile.php:454
msgid "Follow"
msgstr ""
@ -3280,22 +3280,22 @@ msgstr[1] ""
msgid "More Trending Tags"
msgstr ""
#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:371
#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:373
#: src/Module/Contact/Profile.php:371 src/Module/Profile/Profile.php:176
msgid "XMPP:"
msgstr ""
#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:372
#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:374
#: src/Module/Contact/Profile.php:373 src/Module/Profile/Profile.php:180
msgid "Matrix:"
msgstr ""
#: src/Content/Widget/VCard.php:101 src/Model/Profile.php:464
#: src/Content/Widget/VCard.php:101 src/Model/Profile.php:466
#: src/Module/Notifications/Introductions.php:199
msgid "Network:"
msgstr ""
#: src/Content/Widget/VCard.php:105 src/Model/Profile.php:454
#: src/Content/Widget/VCard.php:105 src/Model/Profile.php:456
msgid "Unfollow"
msgstr ""
@ -4277,143 +4277,143 @@ msgstr ""
msgid "[no subject]"
msgstr ""
#: src/Model/Profile.php:354 src/Module/Profile/Profile.php:256
#: src/Model/Profile.php:356 src/Module/Profile/Profile.php:256
#: src/Module/Profile/Profile.php:258
msgid "Edit profile"
msgstr ""
#: src/Model/Profile.php:356
#: src/Model/Profile.php:358
msgid "Change profile photo"
msgstr ""
#: src/Model/Profile.php:369 src/Module/Directory.php:152
#: src/Model/Profile.php:371 src/Module/Directory.php:152
#: src/Module/Profile/Profile.php:184
msgid "Homepage:"
msgstr ""
#: src/Model/Profile.php:370 src/Module/Contact/Profile.php:375
#: src/Model/Profile.php:372 src/Module/Contact/Profile.php:375
#: src/Module/Notifications/Introductions.php:187
msgid "About:"
msgstr ""
#: src/Model/Profile.php:456
#: src/Model/Profile.php:458
msgid "Atom feed"
msgstr ""
#: src/Model/Profile.php:500
#: src/Model/Profile.php:502
msgid "F d"
msgstr ""
#: src/Model/Profile.php:564 src/Model/Profile.php:648
#: src/Model/Profile.php:566 src/Model/Profile.php:650
msgid "[today]"
msgstr ""
#: src/Model/Profile.php:573
#: src/Model/Profile.php:575
msgid "Birthday Reminders"
msgstr ""
#: src/Model/Profile.php:574
#: src/Model/Profile.php:576
msgid "Birthdays this week:"
msgstr ""
#: src/Model/Profile.php:597
#: src/Model/Profile.php:599
msgid "g A l F d"
msgstr ""
#: src/Model/Profile.php:635
#: src/Model/Profile.php:637
msgid "[No description]"
msgstr ""
#: src/Model/Profile.php:661
#: src/Model/Profile.php:663
msgid "Event Reminders"
msgstr ""
#: src/Model/Profile.php:662
#: src/Model/Profile.php:664
msgid "Upcoming events the next 7 days:"
msgstr ""
#: src/Model/Profile.php:850
#: src/Model/Profile.php:852
#, php-format
msgid "OpenWebAuth: %1$s welcomes %2$s"
msgstr ""
#: src/Model/Profile.php:982
#: src/Model/Profile.php:984
msgid "Hometown:"
msgstr ""
#: src/Model/Profile.php:983
#: src/Model/Profile.php:985
msgid "Marital Status:"
msgstr ""
#: src/Model/Profile.php:984
#: src/Model/Profile.php:986
msgid "With:"
msgstr ""
#: src/Model/Profile.php:985
#: src/Model/Profile.php:987
msgid "Since:"
msgstr ""
#: src/Model/Profile.php:986
#: src/Model/Profile.php:988
msgid "Sexual Preference:"
msgstr ""
#: src/Model/Profile.php:987
#: src/Model/Profile.php:989
msgid "Political Views:"
msgstr ""
#: src/Model/Profile.php:988
#: src/Model/Profile.php:990
msgid "Religious Views:"
msgstr ""
#: src/Model/Profile.php:989
#: src/Model/Profile.php:991
msgid "Likes:"
msgstr ""
#: src/Model/Profile.php:990
#: src/Model/Profile.php:992
msgid "Dislikes:"
msgstr ""
#: src/Model/Profile.php:991
#: src/Model/Profile.php:993
msgid "Title/Description:"
msgstr ""
#: src/Model/Profile.php:992 src/Module/Admin/Summary.php:233
#: src/Model/Profile.php:994 src/Module/Admin/Summary.php:233
msgid "Summary"
msgstr ""
#: src/Model/Profile.php:993
#: src/Model/Profile.php:995
msgid "Musical interests"
msgstr ""
#: src/Model/Profile.php:994
#: src/Model/Profile.php:996
msgid "Books, literature"
msgstr ""
#: src/Model/Profile.php:995
#: src/Model/Profile.php:997
msgid "Television"
msgstr ""
#: src/Model/Profile.php:996
#: src/Model/Profile.php:998
msgid "Film/dance/culture/entertainment"
msgstr ""
#: src/Model/Profile.php:997
#: src/Model/Profile.php:999
msgid "Hobbies/Interests"
msgstr ""
#: src/Model/Profile.php:998
#: src/Model/Profile.php:1000
msgid "Love/romance"
msgstr ""
#: src/Model/Profile.php:999
#: src/Model/Profile.php:1001
msgid "Work/employment"
msgstr ""
#: src/Model/Profile.php:1000
#: src/Model/Profile.php:1002
msgid "School/education"
msgstr ""
#: src/Model/Profile.php:1001
#: src/Model/Profile.php:1003
msgid "Contact information and Social Networks"
msgstr ""
@ -10362,14 +10362,18 @@ msgstr ""
msgid "%s posted an update."
msgstr ""
#: src/Object/Post.php:149
#: src/Object/Post.php:147
msgid "This entry was edited"
msgstr ""
#: src/Object/Post.php:177
#: src/Object/Post.php:175
msgid "Private Message"
msgstr ""
#: src/Object/Post.php:178
msgid "Connector Message"
msgstr ""
#: src/Object/Post.php:193 src/Object/Post.php:195
msgid "Edit"
msgstr ""
@ -10512,47 +10516,47 @@ msgstr ""
msgid "via Wall-To-Wall:"
msgstr ""
#: src/Object/Post.php:497
#: src/Object/Post.php:499
#, php-format
msgid "Reply to %s"
msgstr ""
#: src/Object/Post.php:500
#: src/Object/Post.php:502
msgid "More"
msgstr ""
#: src/Object/Post.php:518
#: src/Object/Post.php:520
msgid "Notifier task is pending"
msgstr ""
#: src/Object/Post.php:519
#: src/Object/Post.php:521
msgid "Delivery to remote servers is pending"
msgstr ""
#: src/Object/Post.php:520
#: src/Object/Post.php:522
msgid "Delivery to remote servers is underway"
msgstr ""
#: src/Object/Post.php:521
#: src/Object/Post.php:523
msgid "Delivery to remote servers is mostly done"
msgstr ""
#: src/Object/Post.php:522
#: src/Object/Post.php:524
msgid "Delivery to remote servers is done"
msgstr ""
#: src/Object/Post.php:542
#: src/Object/Post.php:544
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
#: src/Object/Post.php:543
#: src/Object/Post.php:545
msgid "Show more"
msgstr ""
#: src/Object/Post.php:544
#: src/Object/Post.php:546
msgid "Show fewer"
msgstr ""

View file

@ -459,6 +459,10 @@ $(document).ready(function () {
$pokeSubmit.button("reset");
});
});
if (!navigator.canShare || !navigator.canShare()) {
$('.button-browser-share').hide();
}
});
function openClose(theID) {

View file

@ -63,8 +63,9 @@
<span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.lock}}">
&nbsp;<small><i class="fa fa-lock" aria-hidden="true"></i></small>
</span>
{{elseif $item.connector}}
<span class="fa fa-lock" title="{{$item.connector}}"></span>
{{/if}}
<div class="additional-info text-muted">
<div id="wall-item-ago-{{$item.id}}" class="wall-item-ago">
<small>
@ -176,6 +177,10 @@
{{/if}}
{{/if}}
{{if !$item.lock && !$item.connector}}
<span role="presentation" class="separator button-browser-share"></span>
<button type="button" class="btn-link button-browser-share" onclick="navigator.share({url: '{{$item.plink.orig}}'})"><i class="fa fa-share-alt"></i> {{$item.browsershare}}</button>
{{/if}}
{{* Put additional actions in a dropdown menu *}}
{{if $item.menu && ($item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread || $item.ignore || $item.drop.dropping)}}

View file

@ -63,7 +63,8 @@ as the value of $top_child_total (this is done at the end of this file)
{{if $item.star}}
<span class="icon s22 star {{$item.isstarred}}" id="starred-{{$item.id}}" title="{{$item.star.starred}}">{{$item.star.starred}}</span>
{{/if}}
{{if $item.lock}}<span class="navicon lock fakelink" onclick="lockview(event, 'item', {{$item.id}});" title="{{$item.lock}}"></span><span class="fa fa-lock"></span>{{/if}}
{{if $item.lock}}<span class="navicon lock fakelink" onclick="lockview(event, 'item', {{$item.id}});" title="{{$item.lock}}"></span><span class="fa fa-lock"></span>
{{elseif $item.connector}}<span class="fa fa-lock" title="{{$item.connector}}"></span>{{/if}}
</div>
{{* /TODO => Unknown block *}}
@ -161,6 +162,8 @@ as the value of $top_child_total (this is done at the end of this file)
<span class="navicon lock fakelink" onClick="lockview(event, 'item', {{$item.id}});" title="{{$item.lock}}" data-toggle="tooltip">
&nbsp;<small><i class="fa fa-lock" aria-hidden="true"></i></small>
</span>
{{elseif $item.connector}}
<small><i class="fa fa-lock" title="{{$item.connector}}"></i></small>
{{/if}}
</h4>
@ -327,6 +330,11 @@ as the value of $top_child_total (this is done at the end of this file)
{{/if}}
{{/if}}
{{if !$item.lock && !$item.connector}}
<span role="presentation" class="separator button-browser-share"></span>
<button type="button" class="btn-link button-browser-share" onclick="navigator.share({url: '{{$item.plink.orig}}'})"><i class="fa fa-share-alt"></i> {{$item.browsershare}}</button>
{{/if}}
{{* Put additional actions in a dropdown menu *}}
{{if $item.menu && ($item.edpost || $item.tagger || $item.filer || $item.pin || $item.star || $item.follow_thread || $item.ignore || $item.drop.dropping)}}
<span role="presentation" class="separator"></span>
@ -478,6 +486,10 @@ as the value of $top_child_total (this is done at the end of this file)
</div>
{{/if}}
{{if !$item.lock && !$item.connector}}
<button type="button" class="btn btn-sm button-browser-share" onclick="navigator.share({url: '{{$item.plink.orig}}'})" title="{{$item.browsershare}}"><i class="fa fa-share-alt"></i></button>
{{/if}}
{{* Put additional actions in a dropdown menu *}}
<div class="btn-group" role="group">
<img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />