Пример #1
0
 function bookRating()
 {
     $retArray = array();
     if (!isset($_SESSION["user"])) {
         $retArray["error"] = array("code" => 0, "txt" => "Only for authorized.");
         echo json_encode($retArray);
         return false;
     }
     if (!$_POST || !isset($_POST["ratValue"]) || !isset($_POST["bookID"]) || !$_POST["ratValue"] || !$_POST["bookID"]) {
         return system::redirect('/');
     }
     $userID = intval($_SESSION["user"]["userID"]);
     $bookID = intval($_POST["bookID"]);
     $ratValue = floatval($_POST["ratValue"]);
     $voteCheck = $this->db->query("SELECT `entryID` FROM `books_rating` WHERE `userID`=? AND `bookID`=?", $userID, $bookID);
     if (!$voteCheck->getNumRows()) {
         $this->db->query("INSERT INTO `books_rating` SET `userID`=?,`bookID`=?,`userNick`='?', `ratValue`=?", $userID, $bookID, $_SESSION["user"]["nick"], $ratValue);
     } else {
         $this->db->query("UPDATE `books_rating` SET `ratValue`=? WHERE `bookID`=? AND `userID`=?", $ratValue, $bookID, $userID);
     }
     $retArray["ratValue"] = books::calculateRating($bookID);
     if ($retArray["ratValue"]) {
         $this->db->query("UPDATE `books` SET `rating`=? WHERE `bookID`=?", $retArray["ratValue"], $bookID);
     }
     $this->smarty->clearCache(null, "book|{$bookID}");
     echo json_encode($retArray);
 }