Commit de louay

This commit is contained in:
stiti 2024-06-10 17:14:38 +02:00
parent 9e6ac4de1b
commit c38d1a0ed4
3 changed files with 73 additions and 36 deletions

View File

@ -342,6 +342,24 @@ class Playlists extends CI_Controller {
redirect('playlists/view/' . $playlist_id); redirect('playlists/view/' . $playlist_id);
} }
public function add_track_to_playlist($track_id, $playlist_id) {
// Vérifier si l'utilisateur est connecté
if (!$this->session->userdata('user_id')) {
redirect('utilisateur/connexion');
}
// Récupérer le song_id à partir du track_id
$song_id = $this->Model_playlist->get_song_id_by_track_id($track_id);
$data = array(
'playlist_id' => $playlist_id,
'song_id' => $song_id
);
$this->Model_playlist->add_song_to_playlist($data);
redirect('playlists/view/' . $playlist_id);
}
public function add_artist($playlist_id) { public function add_artist($playlist_id) {
$this->verify_playlist_ownership($playlist_id); $this->verify_playlist_ownership($playlist_id);

View File

@ -121,6 +121,15 @@ class Model_playlist extends CI_Model {
return $this->db->get()->result(); return $this->db->get()->result();
} }
public function get_song_id_by_track_id($track_id) {
$this->db->select('songId');
$this->db->from('track');
$this->db->where('id', $track_id);
$query = $this->db->get();
$result = $query->row_array();
return $result['songId'];
}
public function add_album_to_playlist($data) { public function add_album_to_playlist($data) {
return $this->db->insert('playlist_album', $data); return $this->db->insert('playlist_album', $data);
} }

View File

@ -1,4 +1,4 @@
<div class="artist-details"> <div class="artist-details">
<h1>Détails de l'artiste <?php echo $artiste->name; ?></h1> <h1>Détails de l'artiste <?php echo $artiste->name; ?></h1>
<p><strong>Genre le plus utilisé par l'artiste :</strong> <?php echo $mostUsedGenre->genreName; ?></p> <p><strong>Genre le plus utilisé par l'artiste :</strong> <?php echo $mostUsedGenre->genreName; ?></p>
<h2>Albums de <?php echo $artiste->name; ?></h2> <h2>Albums de <?php echo $artiste->name; ?></h2>
@ -6,7 +6,6 @@
<?php foreach($albums as $album): ?> <?php foreach($albums as $album): ?>
<li> <li>
<div class="album-details"> <div class="album-details">
<h2><a href="<?php echo site_url('albums/view/' . $album->id); ?>"><?php echo $album->name; ?></a></h2> <h2><a href="<?php echo site_url('albums/view/' . $album->id); ?>"><?php echo $album->name; ?></a></h2>
<p><strong>Année :</strong> <?php echo $album->year; ?></p> <p><strong>Année :</strong> <?php echo $album->year; ?></p>
<p><strong>Genre :</strong> <?php echo $album->genreName; ?></p> <p><strong>Genre :</strong> <?php echo $album->genreName; ?></p>
@ -25,33 +24,44 @@
<option value="<?php echo $playlist->id; ?>"><?php echo $playlist->name; ?></option> <option value="<?php echo $playlist->id; ?>"><?php echo $playlist->name; ?></option>
<?php endforeach; ?> <?php endforeach; ?>
</select> </select>
<button onclick="addToPlaylist(<?php echo $album->id; ?>)" class="btn-add-to-playlist">Ajouter l'album à la playlist</button> <button onclick="addAllAlbumToPlaylist(<?php echo $album->id; ?>)" class="btn-add-to-playlist">Ajouter tout l'album à la playlist</button>
<?php else: ?>
<p class="no-playlist">Vous n'avez pas encore de playlist. Créez-en une pour ajouter cet album !</p>
<?php endif; ?>
<?php endif; ?>
<br> <br>
<!-- Boutons pour chaque chanson de l'album -->
<h3>Ajouter une chanson à la playlist :</h3>
<ul class="songs-list"> <ul class="songs-list">
<?php foreach($album->tracks as $track): ?> <?php foreach($album->tracks as $track): ?>
<li> <li>
<span><strong><?php echo $track->number . '.' . $track->diskNumber; ?></strong></span> <span><strong><?php echo $track->number . '.' . $track->diskNumber; ?></strong></span>
<span><?php echo $track->songName; ?></span> <span><?php echo $track->songName; ?></span>
<span><strong><?php echo gmdate("i:s", $track->duration); ?></strong></span> <span><strong><?php echo gmdate("i:s", $track->duration); ?></strong></span>
<button onclick="addSongToPlaylist(<?php echo $track->id; ?>, <?php echo $album->id; ?>)" class="btn-add-to-playlist">Ajouter à la playlist</button>
</li> </li>
<?php endforeach; ?> <?php endforeach; ?>
</ul> </ul>
<?php else: ?>
<p class="no-playlist">Vous n'avez pas encore de playlist. Créez-en une pour ajouter cet album !</p>
<?php endif; ?>
<?php endif; ?>
</div> </div>
</li> </li>
<?php endforeach; ?> <?php endforeach; ?>
</ul> </ul>
</div>
</div>
<script> <script>
function addToPlaylist(albumId) { function addAllAlbumToPlaylist(albumId) {
// Récupérer l'ID de la playlist sélectionnée // Récupérer l'ID de la playlist sélectionnée
var playlistId = document.getElementById('playlist_' + albumId).value; var playlistId = document.getElementById('playlist_' + albumId).value;
// Redirection vers la méthode du contrôleur Playlists pour ajouter la chanson à la playlist spécifiée // Redirection vers la méthode du contrôleur Playlists pour ajouter la chanson à la playlist spécifiée
window.location.href = "<?php echo base_url('index.php/playlists/add_album_to_playlist/'); ?>" + albumId + "/" + playlistId; window.location.href = "<?php echo base_url('index.php/playlists/add_album_to_playlist/'); ?>" + albumId + "/" + playlistId;
} }
function addSongToPlaylist(trackId, albumId) {
// Récupérer l'ID de la playlist sélectionnée pour cet album
var playlistId = document.getElementById('playlist_' + albumId).value;
// Redirection vers la méthode du contrôleur Playlists pour ajouter la chanson à la playlist spécifiée
window.location.href = "<?php echo base_url('index.php/playlists/add_track_to_playlist/'); ?>" + trackId + "/" + playlistId;
}
</script> </script>