Commit de Louay : Grosse mise à jour

This commit is contained in:
stiti
2024-06-01 17:49:36 +02:00
parent 5096daeda0
commit 684ef237f4
8 changed files with 219 additions and 53 deletions

View File

@@ -7,8 +7,10 @@ class Artiste extends CI_Controller {
parent::__construct();
$this->load->model('Model_artist');
$this->load->model('Model_music');
$this->load->model('Model_playlist');
$this->load->helper('url');
$this->load->helper('html');
$this->load->library('session');
}
public function index($artiste_id){
@@ -23,6 +25,7 @@ class Artiste extends CI_Controller {
// Charger la vue avec les détails de l'artiste et ses albums
$data['artiste'] = $artiste;
$data['albums'] = $albums;
$data['mostUsedGenre'] = $mostUsedGenre; // Passer $mostUsedGenre à la vue
$data['title']="Détails de l'artiste - Onzeur ".$artiste->name;
$data['css'] = 'assets/css/artiste_details';
@@ -51,6 +54,11 @@ class Artiste extends CI_Controller {
$data['title']="Détails de l'artiste - Onzeur ";
$data['css'] = 'assets/css/artists_list.css';
if ($this->session->userdata('user_id')) {
$user_id = $this->session->userdata('user_id');
$data['user_playlists'] = $this->Model_playlist->get_user_playlists($user_id);
}
$this->load->view('layout/header_dark',$data);
$this->load->view('artists_list', $data);
$this->load->view('layout/footer_dark');

View File

@@ -316,19 +316,17 @@ class Playlists extends CI_Controller {
}
public function add_music_to_playlist($music_id, $playlist_id) {
// Vérifiez si l'utilisateur est connecté
// Vérifier si l'utilisateur est connecté
if (!$this->session->userdata('user_id')) {
redirect('utilisateur/connexion');
}
// Ajoutez la musique à la playlist spécifiée
$data = array(
'playlist_id' => $playlist_id,
'song_id' => $music_id // Utilisez 'song_id' au lieu de 'music_id'
'song_id' => $music_id
);
$this->Model_playlist->add_song_to_playlist($data);
// Redirigez l'utilisateur vers la vue de la playlist
redirect('playlists/view/' . $playlist_id);
}
@@ -375,6 +373,56 @@ class Playlists extends CI_Controller {
$data['title']="Ajouter les musiques d'un Artiste à la Playlist";
$data['css']="assets/css/playlist_add_song";
$this->load->view('layout/header_dark', $data);
$this->load->view('playlist_add_artist',$data);
$this->load->view('layout/footer_dark');
}
}
public function add_artist_in_playlist_from_list($artist_id,$playlist_id = NULL) {
if($playlist_id === NULL){
$playlist_id = $this->input->post('playlist_id');
}
$this->verify_playlist_ownership($playlist_id);
if ($this->input->post() || $playlist_id) {
// Récupérer l'ID de l'artiste à partir du formulaire
$songs = $this->Model_music->get_songs_by_artist($artist_id);
$all_songs_exist = true; // Variable pour vérifier si toutes les chansons existent déjà dans la playlist
// Vérifier si toutes les chansons de l'artiste existent déjà dans la playlist
foreach ($songs as $song) {
if (!$this->Model_playlist->song_exists_in_playlist($playlist_id, $song->id)) {
$all_songs_exist = false;
break;
}
}
if ($all_songs_exist) {
$this->session->set_flashdata('error', 'Toutes les chansons de cet artiste existent déjà dans la playlist.');
} else {
foreach ($songs as $song) {
if (!$this->Model_playlist->song_exists_in_playlist($playlist_id, $song->id)) {
$data = array(
'playlist_id' => $playlist_id,
'song_id' => $song->id
);
$this->Model_playlist->add_song_to_playlist($data);
}
}
$this->session->set_flashdata('success', 'Les chansons de l\'artiste ont été ajoutées avec succès à la playlist.');
}
redirect('playlists/view/' . $playlist_id);
} else {
// Récupérer tous les artistes disponibles
$data['artists'] = $this->Model_music->get_all_artists();
$data['playlist_id'] = $playlist_id;
$data['title']="Ajouter les musiques d'un Artiste à la Playlist";
$data['css']="assets/css/playlist_add_song";
$this->load->view('layout/header_dark', $data);
$this->load->view('playlist_add_artist',$data);
$this->load->view('layout/footer_dark');

View File

@@ -6,7 +6,9 @@ class Search extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->model('Search_model');
$this->load->model('Model_playlist');
$this->load->helper(['url', 'html']);
$this->load->library('session');
}
public function index(){
@@ -39,6 +41,11 @@ class Search extends CI_Controller {
$data['albums'] = $albums;
$data['genres'] = $genres;
$data['artistes'] = $artistes;
if ($this->session->userdata('user_id')) {
$user_id = $this->session->userdata('user_id');
$data['user_playlists'] = $this->Model_playlist->get_user_playlists($user_id);
}
$data['title'] = "Résultats de la recherche";
$data['css'] = "assets/css/search_results";