<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 25/12/2015
 * Time: 2:22 CH
 */
if (!defined('BASEPATH')) exit('No direct script access allowed');

class CmsArtist extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        date_default_timezone_set("Asia/Ho_Chi_Minh");
        //
        $this->load->model('user_model');
        $this->load->model('actionlog_model');
    }

    public function listArtist()
    {
        $this->_data['functionName'] = 'Nghệ sĩ';
        $this->_data['action'] = 'listArtist';
        $this->_data['titlePage'] = 'Nghệ sĩ';
        $this->_data['loadPage'] = 'backend/cms_artist/list_artist_view';
        $this->load->view('backend/admin_template_view', $this->_data);
    }

    public function listArtistAjax()
    {
        $data = array();
        $fByName = $this->input->post('fByName');
        $pageId = $this->input->post('pageId');
        //
        $pageId = ($pageId == 0) ? 1 : $pageId;
        //
        $limit = 25;
        $offset = ($pageId - 1) * $limit;
        $data['offset'] = ($pageId - 1) * $limit;
        $totalRecord = $this->user_model->cmsCountAll($fByName);
        $data['pagination'] = MyHelper::genPaginationLink($totalRecord, $limit, $pageId);
        $data['listData'] = $this->user_model->cmsGetPagination($limit, $offset, $fByName);
        //
        $this->load->view('backend/ajax/cms_artist/list_artist_view', $data);
    }

    public function editArtist($user_id)
    {
        $this->_data['contest'] = $contest = $this->user_model->getById($user_id);
        // Kiểm tra trùng giá trị nếu thay đổi ở form

        // Thiết lập validate
        $this->form_validation->set_rules(
            'id',
            'ID',
            'trim'
        );

        $this->form_validation->set_rules(
            'full_name',
            'text',
            'trim|callback_check_full_name|required|xss_clean'
        );

        $this->form_validation->set_message('required', '<li class="list-unstyled">Bắt buộc nhập, chọn.</li>');
        $this->form_validation->set_message('is_unique', '<li class="list-unstyled">Đã tồn tại.</li>');
        // Xử lý form đăng nhập
        if($this->form_validation->run($this) == false) {
            $this->_data['full_name'] = $this->input->post('full_name');
            $this->_data['link_zing'] = $this->input->post('link_zing');
            $this->_data['link_nct'] = $this->input->post('link_nct');
            $this->_data['link_keeng'] = $this->input->post('link_keeng');
            //
            $this->_data['functionName'] = 'Cập nhật thông tin Ca sĩ/Nghệ sĩ';
            $this->_data['action'] = 'editArtist';
            $this->_data['titlePage'] = 'Cập nhật thông tin Ca sĩ/Nghệ sĩ';
            $this->_data['loadPage'] = 'backend/cms_artist/edit_artist_view';
            $this->load->view('backend/admin_template_view', $this->_data);
        }else{
            $full_name = $this->input->post('full_name');
            $link_zing = $this->input->post('link_zing');
            $link_nct = $this->input->post('link_nct');
            $link_keeng = $this->input->post('link_keeng');
            if( $full_name){
                $dataUpdate = array(
                    'user_type' => 2,
                    'full_name' => $full_name,
                    'link' => $link_zing,
                    'link_nct' => $link_nct,
                    'link_keeng' => $link_keeng
                );
                $this->user_model->update($user_id, $dataUpdate);
                // Ghi log
                // $this->mactionlog->add('UPDATED', 'Cập nhật Cuộc đua thành công!', 'Mactionlog', 'action_log', $contest_id);
                //
                $this->session->set_flashdata('success', 'Cập nhật Nghệ sĩ thành công');
            }else{
                $this->session->set_flashdata('error', 'Cập nhật Nghệ sĩ không thành công');
            }
            redirect(base_url().'backend/cmsArtist/listArtist');
        }
    }

    public function addArtistAjax()
    {
        // Kiểm tra trùng giá trị nếu thay đổi ở form
        $full_name = $this->input->post('full_name');
        $link_zing = $this->input->post('link_zing');
        $link_nct = $this->input->post('link_nct');
        $link_keeng = $this->input->post('link_keeng');
        // MyHelper::echoPreDie($result);
        $check_full_name = $this->user_model->getByFullName($full_name, 2, '');
        if($full_name == '') {
            $data['required'] = 'Vui lòng điền Vào chỗ trống!';
        } else if($check_full_name) {
            $data['check_full_name'] = 'Tên nghệ sĩ đã tồn tại!';
        } else {
            $dataUpdate = array(
                'user_type' => 2,
                'full_name' => $full_name,
                'link' => ($link_zing == '') ? null: $link_zing,
                'link_nct' => ($link_nct == '') ? null: $link_nct,
                'link_keeng' => ($link_keeng == '') ? null: $link_keeng,
                'date_created' => time()
            );
            $insert_id = $this->user_model->add($dataUpdate);
            if($insert_id) {
                $this->session->set_flashdata('success', 'Tạo nghệ sĩ thành công!');
                $data['success'] = 'Thành công!';
            } else{
                $this->session->set_flashdata('error', 'Tạo nghệ sĩ không thành công!');
                $data['error'] = 'Xảy ra lỗi! Vui lòng thử lại.';
            }
        }
        echo json_encode($data);
    }

    public function addArtist()
    {
        // Thiết lập validate
        $this->form_validation->set_rules(
            'id',
            'ID',
            'trim'
        );

        $this->form_validation->set_rules(
            'full_name',
            'text',
            'trim|callback_check_full_name|required|xss_clean'
        );

        $this->form_validation->set_message('required', '<li class="list-unstyled">Bắt buộc nhập, chọn.</li>');
        $this->form_validation->set_message('is_unique', '<li class="list-unstyled">Đã tồn tại.</li>');
        // Xử lý form đăng nhập
        if($this->form_validation->run($this) == false) {
            $this->_data['full_name'] = $this->input->post('full_name');
            $this->_data['link_zing'] = $this->input->post('link_zing');
            $this->_data['link_nct'] = $this->input->post('link_nct');
            $this->_data['link_keeng'] = $this->input->post('link_keeng');
            //
            $this->_data['functionName'] = 'Tạo mới Ca sĩ/Nghệ sĩ';
            $this->_data['action'] = 'addArtist';
            $this->_data['titlePage'] = 'Tạo mới Ca sĩ/Nghệ sĩ';
            $this->_data['loadPage'] = 'backend/cms_artist/add_artist_view';
            $this->load->view('backend/admin_template_view', $this->_data);
        }else{
            // $username = $this->input->post('username');
            $full_name = $this->input->post('full_name');
            $link_zing = $this->input->post('link_zing');
            $link_nct = $this->input->post('link_nct');
            $link_keeng = $this->input->post('link_keeng');
            if($full_name){
                $dataUpdate = array(
                    'user_type' => 2,
                    'full_name' => $full_name,
                    'link' => ($link_zing == '') ? null: $link_zing,
                    'link_nct' => ($link_nct == '') ? null: $link_nct,
                    'link_keeng' => ($link_keeng == '') ? null: $link_keeng,
                    'date_created' => time()
                );
                $this->user_model->add($dataUpdate);
                // Ghi log
                // $this->mactionlog->add('UPDATED', 'Cập nhật Cuộc đua thành công!', 'Mactionlog', 'action_log', $contest_id);
                //
                $this->session->set_flashdata('success', 'Thêm nghệ sĩ thành công');
            }else{
                $this->session->set_flashdata('error', 'Thêm nghệ sĩ đua không thành công');
            }
            redirect(base_url().'backend/cmsArtist/listArtist');
        }
    }

    public function showUser($user_id)
    {
        $this->_data['user'] = $this->user_model->getById($user_id);
        //
        $this->_data['functionName'] = 'Thông tin Người chơi';
        $this->_data['action'] = 'showUser';
        $this->_data['titlePage'] = 'Thông tin Người chơi';
        $this->_data['loadPage'] = 'backend/cms_artist/show_artist_view';
        $this->load->view('backend/admin_template_view', $this->_data);
    }

    public function check_full_name($full_name)
    {
        if ($this->input->post('id')) {
            $id = $this->input->post('id');
        }
        else {
            $id = '';
        }
        $result = $this->user_model->getByFullName($full_name, 2, $id);
        if($result) {
            //die('2335');
            $this->form_validation->set_message('check_full_name', '<li class="list-unstyled">Tên ca sĩ đã tồn tại.</li>');
           return false;
        }else{
            return TRUE;
        }
    }

} 