Files
Nexora/app/Http/Controllers/CommentController.php
Javi 356f56eebd
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
first commit
2025-04-23 00:14:33 +06:00

36 lines
890 B
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Document;
use App\Models\User;
use Illuminate\Http\Request;
class CommentController extends Controller
{
public function store(Request $request, Document $document)
{
$comment = $document->comments()->create([
'user_id' => auth()->id(),
'content' => $request->content,
'parent_id' => $request->parent_id
]);
$this->processMentions($comment);
return back();
}
private function processMentions(Comment $comment)
{
preg_match_all('/@([\w\-]+)/', $comment->content, $matches);
foreach ($matches[1] as $username) {
$user = User::where('username', $username)->first();
if ($user) {
$user->notify(new MentionNotification($comment));
}
}
}
}