[PLUGINS][TreeNotes] Working, however feed is still not formatted
[ENTITY][Note] Fix for getReplies()
This commit is contained in:
parent
64122a9612
commit
774e32f834
@ -99,7 +99,7 @@ class Conversation extends Component
|
|||||||
|
|
||||||
// Get actors who replied
|
// Get actors who replied
|
||||||
foreach ($note_replies as $reply) {
|
foreach ($note_replies as $reply) {
|
||||||
$reply_actor[] = Actor::getWithPK(Note::getWithPK($reply)->getActorId());
|
$reply_actor[] = Actor::getWithPK($reply->getActorId());
|
||||||
}
|
}
|
||||||
if (\count($reply_actor) < 1) {
|
if (\count($reply_actor) < 1) {
|
||||||
return Event::next;
|
return Event::next;
|
||||||
|
@ -23,7 +23,6 @@ namespace Plugin\TreeNotes;
|
|||||||
|
|
||||||
use App\Core\Modules\Plugin;
|
use App\Core\Modules\Plugin;
|
||||||
use App\Entity\Note;
|
use App\Entity\Note;
|
||||||
use Component\Reply\Entity\NoteReply;
|
|
||||||
|
|
||||||
class TreeNotes extends Plugin
|
class TreeNotes extends Plugin
|
||||||
{
|
{
|
||||||
@ -32,7 +31,7 @@ class TreeNotes extends Plugin
|
|||||||
*/
|
*/
|
||||||
public function onFormatNoteList(array $notes_in, ?array &$notes_out)
|
public function onFormatNoteList(array $notes_in, ?array &$notes_out)
|
||||||
{
|
{
|
||||||
$roots = array_filter($notes_in, fn (Note $note) => \is_null($note->getReplyTo()));
|
$roots = array_filter($notes_in, static fn (Note $note) => is_null($note->getReplyTo()));
|
||||||
$notes_out = $this->build_tree($roots, $notes_in);
|
$notes_out = $this->build_tree($roots, $notes_in);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +46,7 @@ class TreeNotes extends Plugin
|
|||||||
|
|
||||||
private function build_subtree(Note $parent, array $notes)
|
private function build_subtree(Note $parent, array $notes)
|
||||||
{
|
{
|
||||||
$children = array_filter($notes, fn (Note $note) => $parent->getId() === $note->getReplyTo());
|
$children = array_filter($notes, fn (Note $note) => $note->getReplyTo() === $parent->getId());
|
||||||
return ['note' => $parent, 'replies' => $this->build_tree($children, $notes)];
|
return ['note' => $parent, 'replies' => $this->build_tree($children, $notes)];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -122,7 +122,7 @@ class Note extends Entity
|
|||||||
|
|
||||||
public function getReplyTo(): ?int
|
public function getReplyTo(): ?int
|
||||||
{
|
{
|
||||||
return $this->reply_to;
|
return $this->reply_to ?: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setIsLocal(bool $is_local): self
|
public function setIsLocal(bool $is_local): self
|
||||||
@ -317,9 +317,10 @@ class Note extends Entity
|
|||||||
return self::getWithPK($this->getReplyTo());
|
return self::getWithPK($this->getReplyTo());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getReplies(): array
|
public function getReplies()
|
||||||
{
|
{
|
||||||
return Cache::getList('note-replies-' . $this->id, fn () => DB::dql('select n from note n where n.reply_to = :id', ['id' => $this->id]));
|
$id = $this->getId();
|
||||||
|
return Cache::get('note-replies-' . $id, fn () => DB::dql('select n from note n where n.reply_to = :id', ['id' => $id]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user