---
title: "Nahlasovanie a automatické moderovanie — Comments | Roundly"
description: "Umožnite používateľom aj hosťom nahlasovať komentáre cez Reports for Laravel, zostavte moderovaciu frontu a skrývajte ich automaticky."
url: https://roundly-consulting.com/sk/open-source/navody/comments-for-laravel/nahlasovanie
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Comments for Laravel](https://roundly-consulting.com/sk/open-source/navody/comments-for-laravel.md)

# Nahlasovanie a automatické moderovanie

Komentáre sú subjektom nahlásení cez Reports for Laravel (Comment implementuje Reportable): nahlasujte urážlivé či spamové komentáre s deduplikáciou, typovanými dôvodmi aj v mene hosťa. Nahlasovateľ sa vždy odovzdáva explicitne:

```php
use RoundlyConsulting\Reports\Facades\Reports;

Reports::report($comment)->by($user)->for('spam')->create();
Reports::report($comment)->asGuest($fingerprint)->for('abuse')->create();

$comment->hasBeenReported();
$comment->isReportedBy($user);
```

## Moderovacia fronta

```php
// Moderation queue on the CommentQuery builder:
Comments::for($post)->mostReported()->get();
Comments::for($post)->reportedMoreThan(3)->get();
Comments::for($post)->withReportCounts()->get(); // each row: ->reports_count
```

## Automatické skrytie

Keď sa nahlásenie potvrdí (ReportResolved) alebo komentár prekročí globálny reports.threshold (ReportThresholdReached), listener SyncCommentVisibilityFromReports komentár skryje — stav sa zmení na hidden a odošle sa CommentHidden rovnako ako pri ručnom skrytí. Subjekty, ktoré nie sú komentármi, ignoruje a koná len pri aktuálne schválenom komentári, takže nikdy neskryje dvakrát. Obe cesty sa riadia konfiguráciou:

```php
// config/comments.php
'moderation' => [
    'on_resolved' => 'hide', // null disables the upheld-report path
    'auto_hide' => true,     // false ignores ReportThresholdReached
],
```

Cesta cez limit funguje, len ak je v konfigurácii Reports nastavený reports.threshold — predvolene je tam null (vypnuté).

## Schválenie viacerými moderátormi

Reports rieši nahlásenia cez Approvals for Laravel, takže schválenie viacerými moderátormi nevyžaduje žiadny ďalší kód. Moderátori sú uložené Eloquent modely — typicky váš User s traitom GivesApprovals z Approvals (implements GivesApprovalsInterface), ktorý pridáva vzťah givenApprovals():

```php
use RoundlyConsulting\Approvals\Enums\ApprovalRule;
use RoundlyConsulting\Reports\Exceptions\ModeratorRequiredException;
use RoundlyConsulting\Reports\Facades\Reports;

Reports::moderate($report)->requiring([$alice, $bob])->rule(ApprovalRule::Quorum)->quorum(2)->open();
Reports::resolve($report, by: $alice);           // 1/2 — comment stays visible
Reports::resolve($report, by: $mallory);         // not named → ModeratorRequiredException, nothing recorded
Reports::resolve($report, by: $bob);             // quorum reached → comment hidden
```

Kým je žiadosť otvorená, rozhodovať môžu len moderátori uvedení v requiring(\[...\]) — alebo ich zástupca v Approvals; ktokoľvek iný, ako aj volanie bez by:, dostane ModeratorRequiredException z Reports.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/comments-for-laravel.md)
