86 lines
3.1 KiB
PHP
86 lines
3.1 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
class Music extends CI_Controller {
|
|
|
|
public function __construct(){
|
|
parent::__construct();
|
|
$this->load->model('Model_music');
|
|
$this->load->library('pagination');
|
|
$this->load->library('session');
|
|
}
|
|
|
|
public function index() {
|
|
$genre = $this->input->get('genre');
|
|
$order = $this->input->get('order');
|
|
$artist = $this->input->get('artist');
|
|
$query = $this->input->get('query');
|
|
|
|
// Configuration de la pagination
|
|
$config = array();
|
|
$config['base_url'] = site_url('music/index');
|
|
$config['total_rows'] = $this->Model_music->countAllMusics($genre, $artist, $query);
|
|
$config['per_page'] = 16;
|
|
$config['page_query_string'] = TRUE;
|
|
$config['reuse_query_string'] = TRUE;
|
|
$config['query_string_segment'] = 'page';
|
|
$config['full_tag_open'] = '<nav aria-label="Page navigation"><ul class="pagination">';
|
|
$config['full_tag_close'] = '</ul></nav>';
|
|
$config['first_link'] = 'First';
|
|
$config['last_link'] = 'Last';
|
|
$config['first_tag_open'] = '<li class="page-item">';
|
|
$config['first_tag_close'] = '</li>';
|
|
$config['prev_link'] = '«';
|
|
$config['prev_tag_open'] = '<li class="page-item">';
|
|
$config['prev_tag_close'] = '</li>';
|
|
$config['next_link'] = '»';
|
|
$config['next_tag_open'] = '<li class="page-item">';
|
|
$config['next_tag_close'] = '</li>';
|
|
$config['last_tag_open'] = '<li class="page-item">';
|
|
$config['last_tag_close'] = '</li>';
|
|
$config['cur_tag_open'] = '<li class="page-item active"><a href="#" class="page-link">';
|
|
$config['cur_tag_close'] = '</a></li>';
|
|
$config['num_tag_open'] = '<li class="page-item">';
|
|
$config['num_tag_close'] = '</li>';
|
|
$config['attributes'] = array('class' => 'page-link');
|
|
|
|
$this->pagination->initialize($config);
|
|
|
|
$page = $this->input->get('page');
|
|
$page = ($page) ? $page : 0;
|
|
|
|
$data = array(
|
|
'musics' => $this->Model_music->getMusics($genre, $order, $artist, $query, $config['per_page'], $page),
|
|
'genres' => $this->Model_music->researchtype(),
|
|
'artists' => $this->Model_music->nameArtist(),
|
|
'is_logged_in' => $this->session->userdata('logged_in'),
|
|
'pagination' => $this->pagination->create_links()
|
|
);
|
|
|
|
$this->load->view('layout/header', $data);
|
|
$this->load->view('layout/getter', $data);
|
|
$this->load->view('musiques_list', $data);
|
|
$this->load->view('layout/footer');
|
|
}
|
|
|
|
public function view($songId) {
|
|
$songData = $this->Model_music->getSongDetails($songId);
|
|
|
|
if (!$songData) {
|
|
show_404();
|
|
}
|
|
|
|
$is_logged_in = $this->session->userdata('logged_in');
|
|
$data = array(
|
|
'song' => $songData,
|
|
'is_logged_in' => $is_logged_in
|
|
);
|
|
|
|
$this->load->view('layout/header', $data);
|
|
$this->load->view('song_details', $data);
|
|
$this->load->view('layout/footer');
|
|
}
|
|
}
|
|
|
|
|