This repository has been archived on 2025-02-26. You can view files and clone it, but cannot push or open issues or pull requests.
szurubooru/src/Api/Jobs/AddCommentJob.php
2014-05-05 17:47:30 +02:00

38 lines
881 B
PHP

<?php
class AddCommentJob extends AbstractJob
{
public function execute()
{
$user = Auth::getCurrentUser();
$post = PostModel::findById($this->getArgument(self::POST_ID));
$text = CommentModel::validateText($this->getArgument(self::TEXT));
$comment = CommentModel::spawn();
$comment->setCommenter($user);
$comment->setPost($post);
$comment->commentDate = time();
$comment->text = $text;
CommentModel::save($comment);
LogHelper::log('{user} commented on {post}', [
'user' => TextHelper::reprUser($user),
'post' => TextHelper::reprPost($comment->getPost()->id)]);
return $comment;
}
public function requiresPrivilege()
{
return new Privilege(Privilege::AddComment);
}
public function requiresAuthentication()
{
return true;
}
public function requiresConfirmedEmail()
{
return getConfig()->registration->needEmailForCommenting;
}
}