47 lines
1.7 KiB
PHP
47 lines
1.7 KiB
PHP
<?php
|
|
|
|
// models/Movie.php
|
|
|
|
class Movie {
|
|
private $db;
|
|
|
|
public function __construct($db) {
|
|
$this->db = $db;
|
|
}
|
|
|
|
// Ajoute un film (toujours en perso par défaut)
|
|
public function add($userId, $tmdbId, $title, $posterPath, $type) {
|
|
$stmt = $this->db->prepare("INSERT INTO movies (user_id, tmdb_id, title, poster_path, media_type, is_common) VALUES (?, ?, ?, ?, ?, 0)");
|
|
return $stmt->execute([$userId, $tmdbId, $title, $posterPath, $type]);
|
|
}
|
|
|
|
// Bascule un film en "Commune"
|
|
public function share($movieId, $userId) {
|
|
// On vérifie que le film appartient bien à l'utilisateur avant de le partager
|
|
$stmt = $this->db->prepare("UPDATE movies SET is_common = 1 WHERE id = ? AND user_id = ?");
|
|
return $stmt->execute([$movieId, $userId]);
|
|
}
|
|
|
|
// Récupère les 3 listes
|
|
public function getAllLists($myId, $partnerId) {
|
|
// 1. Perso (mes films non partagés)
|
|
$stmt = $this->db->prepare("SELECT * FROM movies WHERE user_id = ? AND is_common = 0");
|
|
$stmt->execute([$myId]);
|
|
$perso = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
// 2. Partenaire (ses films non partagés)
|
|
$partner = [];
|
|
if ($partnerId) {
|
|
$stmt = $this->db->prepare("SELECT * FROM movies WHERE user_id = ? AND is_common = 0");
|
|
$stmt->execute([$partnerId]);
|
|
$partner = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
// 3. Commune (tous les films avec is_common = 1)
|
|
$stmt = $this->db->prepare("SELECT * FROM movies WHERE is_common = 1");
|
|
$stmt->execute();
|
|
$common = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
return ["perso" => $perso, "partner" => $partner, "common" => $common];
|
|
}
|
|
} |