Requests::vote PHP Method

vote() public method

public vote ( $reqid, $reward )
    public function vote($reqid, $reward)
    {
        $request = $this->get($reqid);
        if ($this->user->getBonus() < $reward) {
            throw new Exception(L::get("NOT_ENOUGH_BONUS"), 412);
        }
        $res = $this->db->query("SELECT COUNT(*) FROM reqvotes WHERE reqid = " . $reqid . " AND userid = " . $this->user->getId());
        $res = $res->fetch();
        if ($res[0] == 1) {
            $this->db->query("UPDATE reqvotes set krydda = krydda + " . $reward . " WHERE reqid = " . $reqid . " AND userid = " . $this->user->getId());
        } else {
            $sth = $this->db->prepare("INSERT INTO reqvotes(reqid, userid, krydda) VALUES(?, ?, ?)");
            $sth->bindParam(1, $reqid, PDO::PARAM_INT);
            $sth->bindValue(2, $this->user->getId(), PDO::PARAM_INT);
            $sth->bindParam(3, $reward, PDO::PARAM_INT);
            $sth->execute();
        }
        if ($reward > 0) {
            $this->user->bonusLog(-$reward, L::get("REQUEST_REWARD_BONUS_LOG", [$request["request"]]), $this->user->getId());
        }
        return $this->getVoteAmount($reqid, strtotime($request["added"]));
    }

Usage Example

Esempio n. 1
0
     $requests = new Requests($db, $user, $logs);
     httpResponse($requests->createOrUpdate($postdata));
     break;
 case validateRoute('PATCH', 'requests/\\d+'):
     $requests = new Requests($db, $user);
     httpResponse($requests->createOrUpdate($postdata, (int) $params[1]));
     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', 'mailbox'):
     $mailbox = new Mailbox($db, $user);
     list($result, $totalCount) = $mailbox->query((int) $_GET["location"] ?: 0, (int) $_GET["limit"] ?: 10, (int) $_GET["index"] ?: 0);
     httpResponse($result, $totalCount);
     break;
 case validateRoute('PATCH', 'mailbox/\\d+'):
     $mailbox = new Mailbox($db, $user);
     httpResponse($mailbox->update((int) $params[1], $postdata));
     break;
 case validateRoute('POST', 'mailbox'):
     $mailbox = new Mailbox($db, $user);
     httpResponse($mailbox->create($postdata));
     break;