[COMPONENT] Favourite initial implementation

This commit is contained in:
rainydaysavings
2020-09-02 22:48:55 +01:00
committed by Hugo Sales
parent fee81f8499
commit e1e3e2d9b3
3 changed files with 51 additions and 1 deletions

View File

@@ -68,6 +68,37 @@ class Post
];
}
public function favourite(Request $request, string $fav_to)
{
$note = DB::find('note', ['id' => $fav_to]);
if ($note == null) {
throw new ClientException(_m('No such note'));
}
$actor_id = Common::ensureLoggedIn()->getActor()->getId();
$form = Form::create([
['favourite', SubmitType::class, []],
]);
$form->handleRequest($request);
if ($form->isSubmitted()) {
$data = $form->getData();
if ($form->isValid()) {
self::storeNote($actor_id, $data['content'], $data['attachments'], $is_local = true, $data['reply_to']);
} else {
// TODO display errors
}
}
return [
'_template' => 'note/reply.html.twig',
'note' => $note,
'fav' => $form->createView(),
];
}
public static function storeNote(int $actor_id, string $content, array $attachments, bool $is_local, ?int $reply_to = null)
{
$note = Note::create(['gsactor_id' => $actor_id, 'content' => $content, 'is_local' => $is_local, 'reply_to' => $reply_to]);