]> git.mxchange.org Git - friendica.git/commitdiff
Support for real reshares
authorMichael <heluecht@pirati.ca>
Sun, 11 Oct 2020 08:49:47 +0000 (08:49 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 11 Oct 2020 08:49:47 +0000 (08:49 +0000)
include/conversation.php
src/Object/Post.php
view/templates/wall_thread.tpl
view/theme/frio/templates/wall_thread.tpl
view/theme/quattro/templates/wall_thread.tpl
view/theme/smoothly/templates/wall_thread.tpl
view/theme/vier/templates/wall_thread.tpl

index c2226fa352be293a3cfae2ecb8d8a440d319f418..a0d1177c3b9e1b875a84f71a27c182118c7c099a 100644 (file)
@@ -562,9 +562,10 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
                                ];
 
                                $likebuttons = [
-                                       'like'    => null,
-                                       'dislike' => null,
-                                       'share'   => null,
+                                       'like'     => null,
+                                       'dislike'  => null,
+                                       'share'    => null,
+                                       'announce' => null,
                                ];
 
                                if (DI::pConfig()->get(local_user(), 'system', 'hide_dislike')) {
index 894b75f93fb77ab2a6bf80d99e7f655503614176..f3a4aeba1487347141421fcfc06b2d47041093dd 100644 (file)
@@ -151,9 +151,10 @@ class Post
                }
                $sparkle = '';
                $buttons = [
-                       'like'    => null,
-                       'dislike' => null,
-                       'share'   => null,
+                       'like'     => null,
+                       'dislike'  => null,
+                       'share'    => null,
+                       'announce' => null,
                ];
                $dropping = false;
                $pinned = '';
@@ -175,6 +176,7 @@ class Post
                        : false);
 
                $shareable = in_array($conv->getProfileOwner(), [0, local_user()]) && $item['private'] != Item::PRIVATE;
+               $announceable = $shareable && in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN]);
 
                $edpost = false;
 
@@ -344,7 +346,10 @@ class Post
                        $buttons['like']    = [DI::l10n()->t("I like this \x28toggle\x29")      , DI::l10n()->t("like")];
                        $buttons['dislike'] = [DI::l10n()->t("I don't like this \x28toggle\x29"), DI::l10n()->t("dislike")];
                        if ($shareable) {
-                               $buttons['share'] = [DI::l10n()->t('Share this'), DI::l10n()->t('share')];
+                               $buttons['share'] = [DI::l10n()->t('Share this'), DI::l10n()->t('Share')];
+                       }
+                       if ($announceable) {
+                               $buttons['announce'] = [DI::l10n()->t('Announce this'), DI::l10n()->t('Announce')];
                        }
                }
 
index b869b996d796e05a17f28d17e742acc9c89e6cda..1d1a766c928c437479e7a7b9f6ea6635289f40dd 100644 (file)
@@ -82,7 +82,8 @@
                        <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}">
                                <a href="#" class="icon like{{if $item.responses.like.self}} active{{/if}}" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}}, 'like'{{if $item.responses.like.self}}, true{{/if}}); return false"></a>
                                {{if $item.vote.dislike}}<a href="#" class="icon dislike{{if $item.responses.dislike.self}} active{{/if}}" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'{{if $item.responses.dislike.self}}, true{{/if}}); return false"></a>{{/if}}
-                               {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}}
+                               {{if $item.vote.announce}}<a href="#" class="icon recycle{{if $item.responses.announce.self}} active{{/if}}" title="{{$item.vote.announce.0}}" onclick="dolike({{$item.id}},'announce'{{if $item.responses.announce.self}}, true{{/if}}); return false"></a>{{/if}}
+                               {{if $item.vote.share}}<a href="#" class="icon share wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}}
                                <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
                        </div>
                        {{/if}}
index 0375dc4725cea0183a97391a60af812e18b1bc21..2e7a1fb27d37e77c31f80bd078d51a9250b5b1b3 100644 (file)
@@ -311,11 +311,17 @@ as the value of $top_child_total (this is done at the end of this file)
 
                        {{* Button for sharing the item *}}
                        {{if $item.vote}}
-                               {{if $item.vote.share}}
+                               {{if $item.vote.share OR $item.vote.announce}}
                                        {{if $item.vote.like OR $item.vote.dislike OR $item.comment_html}}
                                <span role="presentation" class="separator"></span>
                                        {{/if}}
-                               <button type="button" class="btn-link button-votes" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-retweet" aria-hidden="true"></i>&nbsp;{{$item.vote.share.1}}</button>
+                               {{/if}}
+                               {{if $item.vote.announce}}
+                               <button type="button" class="btn-link button-announces{{if $item.responses.announce.self}} active" aria-pressed="true{{/if}}" id="announce-{{$item.id}}" title="{{$item.vote.announce.0}}" onclick="doLikeAction({{$item.id}}, 'announce'{{if $item.responses.announce.self}}, true{{/if}});" data-toggle="button"><i class="fa fa-retweet" aria-hidden="true"></i>&nbsp;{{$item.vote.announce.1}}</button>
+                               <span role="presentation" class="separator"></span>
+                               {{/if}}
+                               {{if $item.vote.share}}
+                               <button type="button" class="btn-link button-votes" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-share" aria-hidden="true"></i>&nbsp;{{$item.vote.share.1}}</button>
                                {{/if}}
                        {{/if}}
 
@@ -434,10 +440,18 @@ as the value of $top_child_total (this is done at the end of this file)
                                </div>
                        {{/if}}
 
+                       {{* Button for announcing the item *}}
+                       {{if $item.vote.announce}}
+<!--                           <div class="btn-group" role="group">
+                                       <button type="button" class="btn btn-sm button-announces{{if $item.responses.announce.self}} active" aria-pressed="true{{/if}}" id="announce-{{$item.id}}" title="{{$item.vote.announce.0}}" onclick="doLikeAction({{$item.id}}, 'announce'{{if $item.responses.announce.self}}, true{{/if}});" data-toggle="button"><i class="fa fa-retweet-up" aria-hidden="true"></i></button>
+                               </div>
+                               -->
+                       {{/if}}
+
                        {{* Button for sharing the item *}}
                        {{if $item.vote.share}}
                                <div class="btn-group" role="group">
-                                       <button type="button" class="btn btn-sm button-votes" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-retweet" aria-hidden="true"></i></button>
+                                       <button type="button" class="btn btn-sm button-votes" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-share" aria-hidden="true"></i></button>
                                </div>
                        {{/if}}
 
index a97a0cc5e4e08438d2764f282fbd38b0a3a218b0..84f83e06f5de4a5e343aa8fc838f9f17ba8178f9 100644 (file)
                                {{if $item.vote.dislike}}
                                <a href="#" id="dislike-{{$item.id}}"{{if $item.responses.dislike.self}} class="active{{/if}}" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}}); return false">{{$item.vote.dislike.1}}</a>
                                {{/if}}
+                               {{if $item.vote.announce}}
+                               <a href="#" id="announce-{{$item.id}}"{{if $item.responses.announce.self}} class="active{{/if}}" title="{{$item.vote.announce.0}}" onclick="dolike({{$item.id}}, 'announce'{{if $item.responses.announce.self}}, true{{/if}}); return false">{{$item.vote.announce.1}}</a>
+                               {{/if}}
                            {{if $item.vote.share}}
                                    <a href="#" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false">{{$item.vote.share.1}}</a>
                            {{/if}}
index 2e83a248207c4dca540ddc952091183995cce18a..1554a2ecbeed9f9fe5354bcc88760d0c735d4539 100644 (file)
                                {{if $item.vote.dislike}}
                                <a href="#" class="icon dislike{{if $item.responses.dislike.self}} self{{/if}}" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}}); return false"></a>
                                {{/if}}
+                               {{if $item.vote.announce}}
+                               <a href="#" class="icon recycle{{if $item.responses.announce.self}} self{{/if}}" title="{{$item.vote.announce.0}}" onclick="dolike({{$item.id}}, 'announce'{{if $item.responses.announce.self}}, true{{/if}}); return false"></a>
+                               {{/if}}
                                {{if $item.vote.share}}
-                               <a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>                             {{/if}}
+                               <a href="#" class="icon share wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>                               {{/if}}
                                <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" />
                        </div>
                        {{/if}}
index 944aee77b94dd4af94e4470efd96a74c0ca73792..32b15de86ec1a96454fdc3ea85830c4e06725354 100644 (file)
                                <a role="button" id="like-{{$item.id}}"{{if $item.responses.like.self}} class="active"{{/if}} title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}}, 'like'{{if $item.responses.like.self}}, true{{/if}}); return false"><i class="icon-thumbs-up icon-large"><span class="sr-only">{{$item.vote.like.0}}</span></i></a>
                                {{/if}}{{if $item.vote.dislike}}
                                <a role="button" id="dislike-{{$item.id}}"{{if $item.responses.dislike.self}} class="active"{{/if}} title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}}); return false"><i class="icon-thumbs-down icon-large"><span class="sr-only">{{$item.vote.dislike.0}}</span></i></a>
+                               {{/if}}{{if $item.vote.announce}}
+                               <a role="button" id="announce-{{$item.id}}"{{if $item.responses.announce.self}} class="active"{{/if}} title="{{$item.vote.announce.0}}" onclick="dolike({{$item.id}}, 'announce'{{if $item.responses.announce.self}}, true{{/if}}); return false"><i class="icon-retweet icon-large"><span class="sr-only">{{$item.vote.dislike.0}}</span></i></a>
                                {{/if}}
                            {{if $item.vote.share}}
-                                   <a role="button" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"><i class="icon-retweet icon-large"><span class="sr-only">{{$item.vote.share.0}}</span></i></a>
+                                   <a role="button" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"><i class="icon-share icon-large"><span class="sr-only">{{$item.vote.share.0}}</span></i></a>
                            {{/if}}
                        {{/if}}