| <?php |
|
|
| namespace Kanboard\EventBuilder; |
|
|
| use Kanboard\Event\CommentEvent; |
| use Kanboard\Model\CommentModel; |
|
|
| |
| |
| |
| |
| |
| |
| class CommentEventBuilder extends BaseEventBuilder |
| { |
| protected $commentId = 0; |
|
|
| |
| |
| |
| |
| |
| |
| public function withCommentId($commentId) |
| { |
| $this->commentId = $commentId; |
| return $this; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function buildEvent() |
| { |
| $comment = $this->commentModel->getById($this->commentId); |
|
|
| if (empty($comment)) { |
| return null; |
| } |
|
|
| return new CommentEvent(array( |
| 'comment' => $comment, |
| 'task' => $this->taskFinderModel->getDetails($comment['task_id']), |
| )); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| public function buildTitleWithAuthor($author, $eventName, array $eventData) |
| { |
| switch ($eventName) { |
| case CommentModel::EVENT_UPDATE: |
| return e('%s updated a comment on the task #%d', $author, $eventData['task']['id']); |
| case CommentModel::EVENT_CREATE: |
| return e('%s commented on the task #%d', $author, $eventData['task']['id']); |
| case CommentModel::EVENT_DELETE: |
| return e('%s removed a comment on the task #%d', $author, $eventData['task']['id']); |
| case CommentModel::EVENT_USER_MENTION: |
| return e('%s mentioned you in a comment on the task #%d', $author, $eventData['task']['id']); |
| default: |
| return ''; |
| } |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function buildTitleWithoutAuthor($eventName, array $eventData) |
| { |
| switch ($eventName) { |
| case CommentModel::EVENT_CREATE: |
| return e('New comment on task #%d', $eventData['comment']['task_id']); |
| case CommentModel::EVENT_UPDATE: |
| return e('Comment updated on task #%d', $eventData['comment']['task_id']); |
| case CommentModel::EVENT_DELETE: |
| return e('Comment removed on task #%d', $eventData['comment']['task_id']); |
| case CommentModel::EVENT_USER_MENTION: |
| return e('You were mentioned in a comment on the task #%d', $eventData['task']['id']); |
| default: |
| return ''; |
| } |
| } |
| } |
|
|