Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if (session_status() == PHP_SESSION_NONE) {
- session_start();
- }
- class Likes {
- public function __construct() {
- if(empty($_SESSION['id_user']) {
- die("Session expired");
- }
- $this->conn = new DB;
- }
- public function hasLike($id_post, $id_user = $_SESSION['id_user']) {
- $query = "SELECT status FROM likes WHERE `id_post` = $id_post AND `id_user` = $id_user";
- if ($result->num_rows() === 1) {
- return false; // no record found returns false
- }
- return $row->status; // user has liked post returns 1 user has unliked post returns 0;
- }
- public function toggleLike($id_post, $id_user = $_SESSION['id_user']) {
- // if user has liked post will become unliked. if user has unliked post will become liked
- $query = "UPDATE table set status = 1 - $status WHERE `id_post` = $id_post AND `id_user` = $id_user";
- if ($this->conn->query($query)->affected_rows === 1) {
- return true;
- }
- return $conn->error;
- }
- public function getTotal($id_post) {
- $query = "SELECT count(id_post) as total FROM likes WHERE `id_post` = $id_post AND `status` = 1";
- if ($result = $this->conn->query($query)) {
- return $result->num_rows();
- }
- }
- public function getThree() {
- $likes = [];
- $query = "SELECT l.*, u.firstname FROM likes AS l LEFT JOIN users AS u ON l.id_user = u.id_user WHERE l.`id_post` = $id_post AND l.`status` = 1 LIMIT 3 ORDER by datetime DESC";
- if ($result = $this->conn->query($query)) {
- WHILE ($row = $result->fetch_assoc()) {
- $likes[] = array($id_user, $firstname);
- }
- }
- return $likes;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement