RequestComments::add PHP Method

add() public method

public add ( $requestId, $post )
    public function add($requestId, $post)
    {
        $request = $this->request->get($requestId);
        if (strlen($post) < 2) {
            throw new Exception(L::get("COMMENT_TOO_SHORT"), 412);
        }
        $lastComment = $this->getLastComment($requestId);
        if ($lastComment && $lastComment["user"] == $this->user->getId() && $this->user->getClass() < User::CLASS_ADMIN && time() - strtotime($lastComment["added"]) < 86400) {
            throw new Exception(L::get("FORUM_DOUBLE_POST"));
        }
        $sth = $this->db->prepare('INSERT INTO request_comments(request, user, added, text) VALUES(?, ?, NOW(), ?)');
        $sth->bindParam(1, $requestId, PDO::PARAM_INT);
        $sth->bindValue(2, $this->user->getId(), PDO::PARAM_INT);
        $sth->bindParam(3, $post, PDO::PARAM_STR);
        $sth->execute();
        // Notify requester of new comment
        if ($this->user->getId() != $request["user"]["id"]) {
            $message = L::get("REQUEST_COMMENT_PM_BODY", [$request["request"], $request["id"], $request["slug"], $request["id"]], $request["user"]["language"]);
            $this->mailbox->sendSystemMessage($request["user"]["id"], L::get("REQUEST_COMMENT_PM_SUBJECT", [$request["request"]], $request["user"]["language"]), $message);
        }
        $this->request->updateCommentsAmount($request["id"], 1);
    }

Usage Example

Example #1
0
 case validateRoute('POST', 'requests/\\d+/votes'):
     $requests = new Requests($db, $user);
     $response = $requests->vote($params[1], (int) $postdata["reward"]);
     httpResponse($response);
     break;
 case validateRoute('GET', 'requests/\\d+/comments'):
     $requests = new Requests($db, $user);
     $comments = new RequestComments($db, $user, $requests);
     list($result, $totalCount) = $comments->query((int) $params[1], (int) $_GET["limit"] ?: 10, (int) $_GET["index"] ?: 0);
     httpResponse($result, $totalCount);
     break;
 case validateRoute('POST', 'requests/\\d+/comments'):
     $requests = new Requests($db, $user);
     $mailbox = new Mailbox($db, $user);
     $comments = new RequestComments($db, $user, $requests, $mailbox);
     $comments->add((int) $params[1], $postdata["data"]);
     httpResponse($result, $totalCount);
     break;
 case validateRoute('PATCH', 'requests/\\d+/comments/\\d+'):
     $comments = new RequestComments($db, $user);
     $comments->update((int) $params[1], (int) $params[3], $postdata["postData"]);
     httpResponse($result, $totalCount);
     break;
 case validateRoute('DELETE', 'requests/\\d+/comments/\\d+'):
     $requests = new Requests($db, $user);
     $comments = new RequestComments($db, $user, $requests);
     $comments->delete((int) $params[3]);
     httpResponse();
     break;
 case validateRoute('GET', 'mailbox'):
     $mailbox = new Mailbox($db, $user);