Gestions playlist ++

This commit is contained in:
2024-06-18 18:58:04 +02:00
parent ea4ced0442
commit 9357b68c5d
8 changed files with 96 additions and 32 deletions

View File

@@ -12,7 +12,6 @@ class Playlist extends CI_Controller {
}
public function index(){
$userId = $this->session->userdata('user_id');
$playlists = $this->model_music->getPlaylistsByUser($userId);
$this->load->view('layout/header');
@@ -32,15 +31,29 @@ class Playlist extends CI_Controller {
redirect('playlist');
}
public function duplicate($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) {
$this->model_music->addSongToPlaylist($newPlaylistId, $song->id);
}
redirect('playlist/view/' . $newPlaylistId);
} else {
echo "Playlist non trouvée.";
}
}
public function view($id) {
$songs = $this->model_music->getSongsByPlaylist($id);
$playlist = $this->model_music->getPlaylistById($id);
if ($playlist) {
$data['playlistName'] = $playlist->name; // Passez le nom de la playlist à la vue
$data['songs'] = $songs;
$data['playlistId'] = $id;
$this->load->view('layout/header');
$this->load->view('playlist_view', $data);
$this->load->view('layout/footer');
@@ -67,16 +80,46 @@ class Playlist extends CI_Controller {
public function search_song(){
$playlistId = $this->input->post('playlistId');
$songName = $this->input->post('songName');
// Recherche la chanson par son nom
$song = $this->model_music->findSongByName($songName);
if ($song) {
// Si la chanson est trouvée, ajoutez-la à la playlist
$this->model_music->addSongToPlaylist($playlistId, $song->id);
}
// Redirige l'utilisateur vers la vue de la playlist mise à jour
redirect('playlist/view/' . $playlistId);
}
public function choose_playlist($songId) {
$playlists = $this->model_music->getPlaylistsByUser($this->session->userdata('user_id'));
$this->load->view('layout/header');
$this->load->view('choose_playlist', ['playlists' => $playlists, 'songId' => $songId]);
$this->load->view('layout/footer');
}
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');
}
public function add_track() {
$songId = $this->input->post('songId');
$playlistId = $this->input->post('playlistId');
if (!empty($songId) && !empty($playlistId)) {
$this->model_music->addSongToPlaylist($playlistId, $songId);
redirect('playlist/view/' . $playlistId);
} else {
echo "Erreur : Veuillez sélectionner une playlist.";
}
}
public function add_album_to_playlist() {
$albumId = $this->input->post('albumId');
$playlistId = $this->input->post('playlistId');
$songs = $this->model_music->getMusicsByAlbum($albumId);
foreach ($songs as $song) {
$this->model_music->addSongToPlaylist($playlistId, $song->songId);
}
redirect('playlist/view/' . $playlistId);
}
}