return $comment;
}
- public function update($comment, $input) {
+ public function update($comment, $input, $activeOnly = true) {
$userId = user()->id;
$comment->updated_by = $userId;
$comment->fill($input);
+
+ // only update active comments by default.
+ $whereClause = ['active' => 1];
+ if (!$activeOnly) {
+ $whereClause = [];
+ }
+ $comment->update($whereClause);
+ return $comment;
+ }
+
+ public function delete($comment) {
+ $comment->text = trans('entities.comment_deleted');
+ $comment->html = trans('entities.comment_deleted');
+ $comment->active = false;
+ $userId = user()->id;
+ $comment->updated_by = $userId;
$comment->save();
return $comment;
}
$comments = $this->comment->getAllPageComments($pageId);
$index = [];
$totalComments = count($comments);
+ $finalCommentList = [];
+
// normalizing the response.
- foreach($comments as &$comment) {
- $comment = $this->normalizeComment($comment);
+ for ($i = 0; $i < count($comments); ++$i) {
+ $comment = $this->normalizeComment($comments[$i]);
$parentId = $comment->parent_id;
if (empty($parentId)) {
+ $finalCommentList[] = $comment;
$index[$comment->id] = $comment;
continue;
}
$index[$comment->id] = $comment;
}
return [
- 'comments' => $comments,
+ 'comments' => $finalCommentList,
'total' => $totalComments
];
}