94 lines
3.3 KiB
PHP
94 lines
3.3 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
class Playlist extends CI_Controller {
|
|
|
|
public function __construct(){
|
|
parent::__construct();
|
|
$this->load->model('model_music');
|
|
$this->load->library('session');
|
|
}
|
|
|
|
public function index(){
|
|
$mail = $this->session->userdata('mail');
|
|
$playlists = $this->model_music->getPlaylist($mail);
|
|
$this->load->view('layout/header');
|
|
$this->load->view('playlist_list', ['playlists' => $playlists]);
|
|
$this->load->view('layout/footer');
|
|
}
|
|
|
|
public function view(){
|
|
$playlists = $this->model_music->deletePlaylist();
|
|
$this->load->view('layout/header');
|
|
$this->load->view('playlist_list', ['playlists' => $playlists]);
|
|
$this->load->view('layout/footer');
|
|
}
|
|
|
|
public function SongPlaylist($playlist_id){
|
|
$songPlaylists = $this->model_music->getSongOfPlaylist($playlist_id);
|
|
$songs = $this->model_music->getSongOfAlbum($playlist_id);
|
|
$mail = $this->session->userdata('mail');
|
|
$playlists = $this->model_music->getPlaylist($mail); // Récupère toutes les playlists
|
|
$id_playlist = null; // Initialise $id_playlist à null
|
|
foreach ($playlists as $playlist_item) {
|
|
if ($playlist_item->id == $playlist_id) {
|
|
$id_playlist = $playlist_item;
|
|
break;
|
|
}
|
|
}
|
|
$this->load->view('song_playlist', ['songPlaylists' => $songPlaylists, 'id_playlist' => $id_playlist, 'songs'=>$songs]);
|
|
}
|
|
|
|
public function delete($playlist_id) {
|
|
$mail = $this->session->userdata('mail');
|
|
$delete = $this->model_music->deletePlaylist($playlist_id, $mail);
|
|
redirect('playlist');
|
|
}
|
|
|
|
public function deleteSong($id_playlist, $Song_name){
|
|
$deleteSong = $this->model_music->delete_Song($id_playlist, $Song_name);
|
|
redirect("playlist/SongPlaylist/$id_playlist");
|
|
}
|
|
|
|
|
|
public function createPlaylistController() {
|
|
$mail = $this->session->userdata('mail');
|
|
$name_playlist = $this->input->post('name_playlist');
|
|
$create = $this->model_music->createPlaylist($name_playlist, $mail);
|
|
redirect('playlist');
|
|
}
|
|
|
|
public function createRandomPlaylist() {
|
|
$mail = $this->session->userdata('mail');
|
|
$name_playlist = $this->input->post('name_playlist_random');
|
|
$num_songs = (int) $this->input->post('num_songs');
|
|
if ($num_songs < 1 || $num_songs > 2000) {
|
|
return;
|
|
}
|
|
$this->model_music->createPlaylistRandom($name_playlist, $num_songs, $mail);
|
|
redirect('playlist');
|
|
}
|
|
|
|
public function addSongToPlaylist(){
|
|
$songName = $this->input->post('song');
|
|
$playlistId = $this->input->post('playlist');
|
|
$this->model_music->addSongToPlaylist($songName, $playlistId);
|
|
redirect('playlist');
|
|
}
|
|
|
|
public function duplicate($playlist_id){
|
|
$mail = $this->session->userdata('mail');
|
|
// Charger le modèle si ce n'est pas déjà fait
|
|
$this->load->model('model_music');
|
|
|
|
// Dupliquer la playlist avec l'ID spécifié
|
|
$this->model_music->duplicatePlaylist($playlist_id, $mail);
|
|
|
|
// Rediriger l'utilisateur vers la page des playlists
|
|
redirect('playlist');
|
|
}
|
|
}
|
|
|
|
|
|
|