76 lines
2.5 KiB
PHP
Raw Normal View History

2024-05-25 00:33:32 +02:00
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Albums extends CI_Controller {
2024-06-19 16:40:06 +02:00
private $sort = 'Tri'; // Variable privée pour définir l'ordre de tri par défaut
public function __construct(){
parent::__construct();
$this->load->model('model_music');
$this->load->helper('html');
$this->load->helper('url');
$this->load->helper('form');
}
2024-06-09 04:13:50 +02:00
2024-06-19 16:40:06 +02:00
// on affiche tous les albums
public function index(){
2024-06-17 13:37:47 +02:00
$albums = $this->model_music->getAlbums();
$genres = $this->model_music->getGenres();
2024-06-19 16:40:06 +02:00
$num_results = count($albums); // nombre total d'alubm recup
2024-06-17 13:37:47 +02:00
$this->load->view('layout/header');
$this->load->view('albums_list', [
'albums' => $albums,
'sort' => $this->sort,
'num_results' => $num_results,
'is_search' => false,
'genres' => $genres
]);
2024-06-17 13:37:47 +02:00
$this->load->view('layout/footer');
}
2024-05-25 00:33:32 +02:00
2024-06-19 16:40:06 +02:00
// 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
2024-06-14 14:56:16 +02:00
$this->load->view('layout/header');
$this->load->view('album_info', ['tracks' => $tracks]);
$this->load->view('layout/footer');
}
2024-06-19 16:40:06 +02:00
// trié en fonction d'un critère
public function tri(){
2024-06-19 16:40:06 +02:00
$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();
2024-06-17 13:37:47 +02:00
$num_results = count($trie);
$this->load->view('layout/header');
$this->load->view('albums_list', [
'albums' => $trie,
'sort' => $this->sort,
'num_results' => $num_results,
'is_search' => false,
'genres' => $genres
]);
2024-06-17 13:37:47 +02:00
$this->load->view('layout/footer');
}
public function search(){
2024-06-17 13:37:47 +02:00
$query = $this->input->get('query');
$genre = $this->input->get('genre');
$albums = $this->model_music->searchAlbums($query, $genre);
$genres = $this->model_music->getGenres();
2024-06-17 13:37:47 +02:00
$num_results = count($albums);
$this->load->view('layout/header');
$this->load->view('albums_list', [
'albums' => $albums,
'sort' => $this->sort,
'num_results' => $num_results,
'is_search' => true,
'genres' => $genres
]);
2024-06-17 13:37:47 +02:00
$this->load->view('layout/footer');
}
2024-05-25 00:33:32 +02:00
}