RequestComments::query PHP Method

query() public method

public query ( $requestId, $limit = 10, $index )
    public function query($requestId, $limit = 10, $index = 0)
    {
        $request = $this->request->get($requestId);
        $sth = $this->db->prepare('SELECT COUNT(*) FROM request_comments WHERE request = ?');
        $sth->bindParam(1, $requestId, PDO::PARAM_INT);
        $sth->execute();
        $arr = $sth->fetch();
        $totalCount = $arr[0];
        $sth = $this->db->prepare('SELECT request_comments.id AS pid,request_comments.added AS padded, request_comments.text AS pbody, request_comments.editedat, ' . implode(',', User::getDefaultFields()) . ' FROM request_comments LEFT JOIN users ON users.id = request_comments.user WHERE request = ? ORDER BY request_comments.id ASC LIMIT ?, ?');
        $sth->bindParam(1, $requestId, PDO::PARAM_INT);
        $sth->bindParam(2, $index, PDO::PARAM_INT);
        $sth->bindParam(3, $limit, PDO::PARAM_INT);
        $sth->execute();
        $result = array();
        while ($post = $sth->fetch(PDO::FETCH_ASSOC)) {
            $row = array();
            $row["id"] = $post["pid"];
            $row["added"] = $post["padded"];
            $row["body"] = $post["pbody"];
            $row["editedat"] = $post["editedat"];
            if ($request["user"]["id"] != $this->user->getId() && $this->user->getClass() < User::CLASS_ADMIN) {
                $row["user"] = null;
            } else {
                $row["user"] = $this->user->generateUserObject($post, true, true);
                $row["user"]["anonymous"] = true;
            }
            $result[] = $row;
        }
        return array($result, $totalCount);
    }

Usage Example

示例#1
0
     break;
 case validateRoute('DELETE', 'requests/\\d+'):
     $logs = new Logs($db, $user);
     $mailbox = new Mailbox($db, $user);
     $requests = new Requests($db, $user, $logs, $mailbox);
     httpResponse($requests->delete($params[1], $_GET["reason"]));
     break;
 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+'):