From 47cf47a9184af9d50e4368b7e79ca527a5812b46 Mon Sep 17 00:00:00 2001 From: follea <thomas.follea@gmail.com> Date: Wed, 19 Jun 2024 16:40:06 +0200 Subject: [PATCH] Commentaires --- .../application/controllers/Albums.php | 15 ++++++----- .../application/controllers/Artistes.php | 6 ++--- .../controllers/ConnexionController.php | 12 ++++----- .../application/controllers/Playlist.php | 23 +++++++++------- .../application/models/Model_music.php | 27 ++++++++----------- 5 files changed, 43 insertions(+), 40 deletions(-) diff --git a/codeigniter/application/controllers/Albums.php b/codeigniter/application/controllers/Albums.php index 62c5b01..cd29422 100644 --- a/codeigniter/application/controllers/Albums.php +++ b/codeigniter/application/controllers/Albums.php @@ -3,7 +3,7 @@ defined('BASEPATH') OR exit('No direct script access allowed'); class Albums extends CI_Controller { - private $sort = 'Tri'; + private $sort = 'Tri'; // Variable privée pour définir l'ordre de tri par défaut public function __construct(){ parent::__construct(); @@ -13,10 +13,11 @@ class Albums extends CI_Controller { $this->load->helper('form'); } + // on affiche tous les albums public function index(){ $albums = $this->model_music->getAlbums(); $genres = $this->model_music->getGenres(); - $num_results = count($albums); + $num_results = count($albums); // nombre total d'alubm recup $this->load->view('layout/header'); $this->load->view('albums_list', [ 'albums' => $albums, @@ -28,16 +29,18 @@ class Albums extends CI_Controller { $this->load->view('layout/footer'); } - public function view($id){ - $tracks = $this->model_music->getTracksByAlbumId($id); + // afficher les détail d'un album spécifique (les musiques de l'albums) + public function view($id){ + $tracks = $this->model_music->getTracksByAlbumId($id); // recuperer les pistes d'un album par son id $this->load->view('layout/header'); $this->load->view('album_info', ['tracks' => $tracks]); $this->load->view('layout/footer'); } + // trié en fonction d'un critère public function tri(){ - $Ctri = $this->input->get('Ctri'); - $trie = $this->model_music->get_tri_Albums($Ctri); + $Ctri = $this->input->get('Ctri'); // critère de trie via l'url + $trie = $this->model_music->get_tri_Albums($Ctri); $genres = $this->model_music->getGenres(); $num_results = count($trie); $this->load->view('layout/header'); diff --git a/codeigniter/application/controllers/Artistes.php b/codeigniter/application/controllers/Artistes.php index 2985626..14674c0 100644 --- a/codeigniter/application/controllers/Artistes.php +++ b/codeigniter/application/controllers/Artistes.php @@ -3,7 +3,7 @@ defined('BASEPATH') OR exit('No direct script access allowed'); class Artistes extends CI_Controller { - private $sort = 'Tri'; + private $sort = 'Tri'; // Variable pour définir l'ordre de tri par défaut public function __construct(){ parent::__construct(); @@ -14,14 +14,14 @@ class Artistes extends CI_Controller { } public function index(){ - $artistes = $this->model_music_artistes->getArtistes(); + $artistes = $this->model_music_artistes->getArtistes(); // recuperer tout les artistes $this->load->view('layout/header'); $this->load->view('artistes_list', ['artistes'=>$artistes]); $this->load->view('layout/footer'); } public function tri(){ - $Ctri = $this->input->get('Ctri'); + $Ctri = $this->input->get('Ctri'); // récupération du critère de trie depuis l'url $trie = $this->model_music_artistes->get_tri_Artistes($Ctri); $num_results = count($trie); $this->load->view('layout/header'); diff --git a/codeigniter/application/controllers/ConnexionController.php b/codeigniter/application/controllers/ConnexionController.php index 2282393..f877fda 100644 --- a/codeigniter/application/controllers/ConnexionController.php +++ b/codeigniter/application/controllers/ConnexionController.php @@ -18,12 +18,12 @@ class ConnexionController extends CI_Controller { public function authentifier() { if ($_SERVER["REQUEST_METHOD"] == "POST") { - $email = $_POST['email']; - $password = $_POST['password']; + $email = $_POST['email']; // recuère email depuis formulaire + $password = $_POST['password']; // idem mdp - if (!empty($email) && !empty($password)) { + if (!empty($email) && !empty($password)) { $this->load->database(); - // Utilisation d'une requête préparée pour éviter les injections SQL + // Utilisation d'une requête préparée $query = $this->db->query("SELECT * FROM users WHERE email = ?", array($email)); $result = $query->row(); // Récupérer la première ligne de résultat @@ -50,7 +50,7 @@ class ConnexionController extends CI_Controller { public function traitement() { - if(isset($_POST['ok'])){ + if(isset($_POST['ok'])){ // verifie si le formulaire a été envoyé $this->load->database(); @@ -58,7 +58,7 @@ class ConnexionController extends CI_Controller { $nom = strtoupper($this->input->post('nom')); $pseudo = $this->input->post('pseudo'); $mdp = $this->input->post('pass'); - $mdpcrypte = password_hash($mdp, PASSWORD_DEFAULT); + $mdpcrypte = password_hash($mdp, PASSWORD_DEFAULT); // cryptage du mot de passe $email = $this->input->post('email'); $data = array( 'pseudo' => $pseudo, diff --git a/codeigniter/application/controllers/Playlist.php b/codeigniter/application/controllers/Playlist.php index 92c3c3a..a5d9045 100644 --- a/codeigniter/application/controllers/Playlist.php +++ b/codeigniter/application/controllers/Playlist.php @@ -9,15 +9,15 @@ class Playlist extends CI_Controller { $this->load->helper('html'); $this->load->helper('url'); $this->load->helper('form'); + // verifier si il y a une sessions utilisateur en cours if (!$this->session->userdata('user_id')) { redirect('connexion'); } } public function index(){ - - $userId = $this->session->userdata('user_id'); + // recupère toutes les playlist de l'utilisateur $playlists = $this->model_music->getPlaylistsByUser($userId); $this->load->view('layout/header'); $this->load->view('playlist_list', ['playlists' => $playlists]); @@ -25,6 +25,7 @@ class Playlist extends CI_Controller { } public function create(){ + // récupère le nom choisis dans le formulaire $name = $this->input->post('name'); $userId = $this->session->userdata('user_id'); $this->model_music->createPlaylist($name, $userId); @@ -37,13 +38,14 @@ class Playlist extends CI_Controller { } public function duplicate($id) { + // récupère données de la playlist grâce à son id $playlist = $this->model_music->getPlaylistById($id); if ($playlist) { $newName = $playlist->name . '_bis'; $userId = $this->session->userdata('user_id'); - $newPlaylistId = $this->model_music->createPlaylist($newName, $userId); - $songs = $this->model_music->getSongsByPlaylist($id); - foreach ($songs as $song) { + $newPlaylistId = $this->model_music->createPlaylist($newName, $userId); // création de nouvelle playlist avec les modifs + $songs = $this->model_music->getSongsByPlaylist($id); // récupère tout les sons de la playlist + foreach ($songs as $song) { $this->model_music->addSongToPlaylist($newPlaylistId, $song->id); } redirect('playlist/view/' . $newPlaylistId); @@ -53,9 +55,10 @@ class Playlist extends CI_Controller { } public function view($id) { + // vérifier si la playlist apartient à l'utilisateur actuel if($this->model_music->playlistOfUser($id)){ - $songs = $this->model_music->getSongsByPlaylist($id); - $playlist = $this->model_music->getPlaylistById($id); + $songs = $this->model_music->getSongsByPlaylist($id); // récupère les chansons + $playlist = $this->model_music->getPlaylistById($id); // récupère les données if ($playlist) { $data['playlistName'] = $playlist->name; $data['songs'] = $songs; @@ -89,8 +92,10 @@ class Playlist extends CI_Controller { } public function search_song(){ + // Récupération de l'ID de la playlist et du nom de la chanson depuis le formulaire $playlistId = $this->input->post('playlistId'); $songName = $this->input->post('songName'); + // Recherche de la chanson par nom dans la base de données $song = $this->model_music->findSongByName($songName); if ($song) { $this->model_music->addSongToPlaylist($playlistId, $song->id); @@ -99,7 +104,7 @@ class Playlist extends CI_Controller { } public function choose_playlist($songId) { - + // Récupération de toutes les playlists de l'utilisateur actuel $playlists = $this->model_music->getPlaylistsByUser($this->session->userdata('user_id')); $this->load->view('layout/header'); $this->load->view('choose_playlist', ['playlists' => $playlists, 'songId' => $songId]); @@ -108,13 +113,13 @@ class Playlist extends CI_Controller { public function choix_playlist($albumId) { - $playlists = $this->model_music->getPlaylistsByUser($this->session->userdata('user_id')); $this->load->view('layout/header'); $this->load->view('choix_playlist', ['playlists' => $playlists, 'albumId' => $albumId]); $this->load->view('layout/footer'); } + // Ajoute une chanson à une playlist spécifiée par formulaire public function add_track() { $songId = $this->input->post('songId'); $playlistId = $this->input->post('playlistId'); diff --git a/codeigniter/application/models/Model_music.php b/codeigniter/application/models/Model_music.php index 1b2fe75..0eb8b19 100644 --- a/codeigniter/application/models/Model_music.php +++ b/codeigniter/application/models/Model_music.php @@ -84,7 +84,7 @@ class Model_music extends CI_Model { album.id AS albumId, album.name AS albumName, artist.name AS artistName, - song.id AS songId, + song.id AS songId, song.name AS songName FROM track JOIN album ON track.albumId = album.id @@ -101,7 +101,7 @@ class Model_music extends CI_Model { return $query->result(); } - + // vérifier que la playlist spécifié appartient à l'utilisateur connecté actuellement public function playlistOfUser($id){ $user_id = $this->session->userdata('user_id'); $this->db->select('id'); @@ -153,19 +153,21 @@ class Model_music extends CI_Model { 'name' => $name, 'userId' => $userId ); - $this->db->insert('playlist', $data); - return $this->db->insert_id(); + $this->db->insert('playlist', $data); // Insère les données dans la table 'playlist' + return $this->db->insert_id(); // Renvoie l'ID de la dernière insertion } public function deletePlaylist($playlistId) { $this->db->delete('playlist', array('id' => $playlistId)); $this->db->delete('playlistsong', array('playlistId' => $playlistId)); } + // récupère playlist d'un utilisateur avec userid public function getPlaylistsByUser($userId) { $query = $this->db->get_where('playlist', array('userId' => $userId)); return $query->result(); } + // récupère playlist par id de playlist public function getPlaylistById($playlistId) { $query = $this->db->get_where('playlist', array('id' => $playlistId), 1); return $query->row(); // Renvoie la première ligne trouvée (la playlist correspondant à l'ID) @@ -210,21 +212,14 @@ class Model_music extends CI_Model { $this->db->limit($numSongs); $query = $this->db->get(); - - + // Récupère les chansons sélectionnées aléatoirement $songs = $query->result(); - + // Crée une nouvelle playlist avec le nom spécifié $playlistId = $this->createPlaylist($playlistName, $userId); - + // Ajoute chaque chanson à la playlist créée foreach ($songs as $song) { $this->addSongToPlaylist($playlistId, $song->id); } - redirect('playlist/view/'.$playlistId); - - } - - - - - + redirect('playlist/view/'.$playlistId); + } } \ No newline at end of file