Merge pull request #9371 from annando/issue-9358

Issue 9358: liking and commenting on the community page now gives a feedback
This commit is contained in:
Hypolite Petovan 2020-10-06 01:33:52 -04:00 committed by GitHub
commit c184994660
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 27 additions and 20 deletions

View file

@ -46,6 +46,7 @@ class Community extends BaseModule
protected static $itemsPerPage; protected static $itemsPerPage;
protected static $since_id; protected static $since_id;
protected static $max_id; protected static $max_id;
protected static $item_id;
public static function content(array $parameters = []) public static function content(array $parameters = [])
{ {
@ -258,6 +259,7 @@ class Community extends BaseModule
self::$since_id = $_GET['since_id'] ?? null; self::$since_id = $_GET['since_id'] ?? null;
self::$max_id = $_GET['max_id'] ?? null; self::$max_id = $_GET['max_id'] ?? null;
self::$max_id = $_GET['last_commented'] ?? self::$max_id; self::$max_id = $_GET['last_commented'] ?? self::$max_id;
self::$item_id = $_GET['item'] ?? null;
} }
/** /**
@ -271,7 +273,7 @@ class Community extends BaseModule
*/ */
protected static function getItems() protected static function getItems()
{ {
$items = self::selectItems(self::$since_id, self::$max_id, self::$itemsPerPage); $items = self::selectItems(self::$since_id, self::$max_id, self::$item_id, self::$itemsPerPage);
$maxpostperauthor = (int) DI::config()->get('system', 'max_author_posts_community_page'); $maxpostperauthor = (int) DI::config()->get('system', 'max_author_posts_community_page');
if ($maxpostperauthor != 0 && self::$content == 'local') { if ($maxpostperauthor != 0 && self::$content == 'local') {
@ -303,7 +305,7 @@ class Community extends BaseModule
self::$max_id = $items[count($items) - 1]['commented']; self::$max_id = $items[count($items) - 1]['commented'];
} }
$items = self::selectItems(self::$since_id, self::$max_id, self::$itemsPerPage); $items = self::selectItems(self::$since_id, self::$max_id, self::$item_id, self::$itemsPerPage);
} }
} else { } else {
$selected_items = $items; $selected_items = $items;
@ -322,7 +324,7 @@ class Community extends BaseModule
* @throws \Exception * @throws \Exception
* @TODO Move to repository/factory * @TODO Move to repository/factory
*/ */
private static function selectItems($since_id, $max_id, $itemspage) private static function selectItems($since_id, $max_id, $item_id, $itemspage)
{ {
$r = false; $r = false;
@ -342,19 +344,24 @@ class Community extends BaseModule
return []; return [];
} }
if (local_user() && !empty($_REQUEST['no_sharer'])) { if (isset($item_id)) {
$condition[0] .= " AND NOT EXISTS (SELECT `uri-id` FROM `thread` AS t1 WHERE `t1`.`uri-id` = `thread`.`uri-id` AND `t1`.`uid` = ?)"; $condition[0] .= " AND `iid` = ?";
$condition[] = local_user(); $condition[] = $item_id;
} } else {
if (local_user() && !empty($_REQUEST['no_sharer'])) {
$condition[0] .= " AND NOT EXISTS (SELECT `uri-id` FROM `thread` AS t1 WHERE `t1`.`uri-id` = `thread`.`uri-id` AND `t1`.`uid` = ?)";
$condition[] = local_user();
}
if (isset($max_id)) {
$condition[0] .= " AND `commented` < ?";
$condition[] = $max_id;
}
if (isset($max_id)) { if (isset($since_id)) {
$condition[0] .= " AND `commented` < ?"; $condition[0] .= " AND `commented` > ?";
$condition[] = $max_id; $condition[] = $since_id;
} }
if (isset($since_id)) {
$condition[0] .= " AND `commented` > ?";
$condition[] = $since_id;
} }
$r = Item::selectThreadForUser(0, ['uri', 'commented', 'author-link'], $condition, ['order' => ['commented' => true], 'limit' => $itemspage]); $r = Item::selectThreadForUser(0, ['uri', 'commented', 'author-link'], $condition, ['order' => ['commented' => true], 'limit' => $itemspage]);

View file

@ -16,7 +16,7 @@
<span class="created" style="display: none;">{{$item.created_date}}</span> <span class="created" style="display: none;">{{$item.created_date}}</span>
<span class="uriid" style="display: none;">{{$item.uriid}}</span> <span class="uriid" style="display: none;">{{$item.uriid}}</span>
{{/if}} {{/if}}
<div id="tread-wrapper-{{$item.id}}" class="tread-wrapper {{$item.toplevel}} {{if $item.toplevel}} h-entry {{else}} u-comment h-cite {{/if}}"> <div id="tread-wrapper-{{$item.uriid}}" class="tread-wrapper {{$item.toplevel}} {{if $item.toplevel}} h-entry {{else}} u-comment h-cite {{/if}}">
<a name="{{$item.id}}" ></a> <a name="{{$item.id}}" ></a>
<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" > <div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" >
<div class="wall-item-content-wrapper {{$item.indent}} {{$item.shiny}}" id="wall-item-content-wrapper-{{$item.id}}" > <div class="wall-item-content-wrapper {{$item.indent}} {{$item.shiny}}" id="wall-item-content-wrapper-{{$item.id}}" >

View file

@ -5,7 +5,7 @@
{{foreach $threads as $thread}} {{foreach $threads as $thread}}
<hr class="sr-only" /> <hr class="sr-only" />
<div id="tread-wrapper-{{$thread.id}}" class="tread-wrapper {{if $thread.threaded}}threaded{{/if}} {{$thread.toplevel}} {{$thread.network}} {{if $thread.thread_level==1}}panel-default panel{{/if}} {{if $thread.thread_level!=1}}comment-wrapper{{/if}}" style="{{if $item.thread_level>2}}margin-left: -15px; margin-right:-16px; margin-bottom:-16px;{{/if}}"><!-- panel --> <div id="tread-wrapper-{{$thread.uriid}}" class="tread-wrapper {{if $thread.threaded}}threaded{{/if}} {{$thread.toplevel}} {{$thread.network}} {{if $thread.thread_level==1}}panel-default panel{{/if}} {{if $thread.thread_level!=1}}comment-wrapper{{/if}}" style="{{if $item.thread_level>2}}margin-left: -15px; margin-right:-16px; margin-bottom:-16px;{{/if}}"><!-- panel -->
{{* {{if $thread.type == tag}} {{* {{if $thread.type == tag}}
{{include file="wall_item_tag.tpl" item=$thread}} {{include file="wall_item_tag.tpl" item=$thread}}

View file

@ -2,7 +2,7 @@
{{foreach $threads as $thread}} {{foreach $threads as $thread}}
<div id="tread-wrapper-{{$thread.id}}" class="tread-wrapper {{if $thread.threaded}}threaded{{/if}} {{$thread.toplevel}} {{if $thread.toplevel}} h-entry {{else}} u-comment h-cite {{/if}} {{$thread.network}}"> <div id="tread-wrapper-{{$thread.uriid}}" class="tread-wrapper {{if $thread.threaded}}threaded{{/if}} {{$thread.toplevel}} {{if $thread.toplevel}} h-entry {{else}} u-comment h-cite {{/if}} {{$thread.network}}">
{{if $thread.type == tag}} {{if $thread.type == tag}}

View file

@ -11,7 +11,7 @@
<div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
{{/if}} {{/if}}
<div id="tread-wrapper-{{$item.id}}" class="tread-wrapper {{$item.toplevel}} {{if $item.toplevel}} h-entry {{else}} u-comment h-cite {{/if}}"> <div id="tread-wrapper-{{$item.uriid}}" class="tread-wrapper {{$item.toplevel}} {{if $item.toplevel}} h-entry {{else}} u-comment h-cite {{/if}}">
<div class="wall-item-outside-wrapper {{$item.indent}} {{$item.shiny}} wallwall" id="wall-item-outside-wrapper-{{$item.id}}" > <div class="wall-item-outside-wrapper {{$item.indent}} {{$item.shiny}} wallwall" id="wall-item-outside-wrapper-{{$item.id}}" >
<div class="wall-item-content-wrapper {{$item.indent}} {{$item.shiny}}" id="wall-item-content-wrapper-{{$item.id}}" > <div class="wall-item-content-wrapper {{$item.indent}} {{$item.shiny}}" id="wall-item-content-wrapper-{{$item.id}}" >

View file

@ -2,7 +2,7 @@
{{foreach $threads as $thread}} {{foreach $threads as $thread}}
<hr class="sr-only" /> <hr class="sr-only" />
<div id="tread-wrapper-{{$thread.id}}" class="tread-wrapper {{if $thread.threaded}}threaded{{/if}} {{$thread.toplevel}} {{if $thread.toplevel}}h-entry{{/if}} {{$thread.network}}"> <div id="tread-wrapper-{{$thread.uriid}}" class="tread-wrapper {{if $thread.threaded}}threaded{{/if}} {{$thread.toplevel}} {{if $thread.toplevel}}h-entry{{/if}} {{$thread.network}}">
{{if $thread.type == tag}} {{if $thread.type == tag}}