<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Albums extends CI_Controller {

    private $sort = 'Tri';

    public function __construct(){
        parent::__construct();
        $this->load->model('model_music');
        $this->load->helper('html');
        $this->load->helper('url');
        $this->load->helper('form');
    }

    public function index(){
        $albums = $this->model_music->getAlbums();
        $genres = $this->model_music->getGenres();
        $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' => false,
            'genres' => $genres
        ]);
        $this->load->view('layout/footer');
    }

    public function view($id){
        $tracks = $this->model_music->getTracksByAlbumId($id);
        $this->load->view('layout/header');
        $this->load->view('album_info', ['tracks' => $tracks]);
        $this->load->view('layout/footer');
    }

    public function tri(){
        $Ctri = $this->input->get('Ctri');
        $trie = $this->model_music->get_tri_Albums($Ctri);
        $genres = $this->model_music->getGenres();
        $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
        ]);
        $this->load->view('layout/footer');
    }

    public function search(){
        $query = $this->input->get('query');
        $genre = $this->input->get('genre');
        $albums = $this->model_music->searchAlbums($query, $genre);
        $genres = $this->model_music->getGenres();
        $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
        ]);
        $this->load->view('layout/footer');
    }
}