<?php /** * Created by PhpStorm. * User: Administrator * Date: 25/12/2015 * Time: 2:22 CH */ if (!defined('BASEPATH')) exit('No direct script access allowed'); class CmsTrack extends CI_Controller { public function __construct() { parent::__construct(); date_default_timezone_set("Asia/Ho_Chi_Minh"); // $this->load->model('track_model'); $this->load->model('user_model'); $this->load->model('actionlog_model'); } public function listTrack() { $this->_data['functionName'] = 'Track'; $this->_data['action'] = 'listTrack'; $this->_data['titlePage'] = 'Track'; $this->_data['loadPage'] = 'backend/cms_track/list_track_view'; $this->load->view('backend/admin_template_view', $this->_data); } public function listTrackAjax() { $data = array(); $fByName = $this->input->post('fByName'); $fBySinger = $this->input->post('fBySinger'); $fByComposer = $this->input->post('fByComposer'); $pageId = $this->input->post('pageId'); // $pageId = ($pageId == 0) ? 1 : $pageId; // $limit = 100; $offset = ($pageId - 1) * $limit; $data['offset'] = ($pageId - 1) * $limit; $totalRecord = $this->track_model->cmsCountAll($fByName, $fBySinger, $fByComposer); $data['pagination'] = MyHelper::genPaginationLink($totalRecord, $limit, $pageId); $data['listData'] = $this->track_model->cmsGetPagination($limit, $offset, $fByName, $fBySinger, $fByComposer); // $this->load->view('backend/ajax/cms_track/list_track_view', $data); } public function editTrack($track_id, $id_user = '', $id_artist = '') { $this->_data['contest'] = $track = $this->track_model->getById($track_id); $track_user = ''; $this->_data['track_artists'] = $track_artists = ''; if ($id_user != 0) { $track_user = $this->track_model->getByIdUser('track_user', $id_user); $this->_data['track_user'] = $track_user; } if ($id_artist != 0) { $track_artists = $this->track_model->getByIdUser('track_artists', $id_artist); $this->_data['track_artists'] = $track_artists; } $this->_data['list_user'] = $list_user = $this->track_model->getListUsers(); // print_r($id_user.'Nhạc sĩ'.$id_artist); // 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( 'title', 'Tên bài hát', 'trim|required|xss_clean' ); $this->form_validation->set_message('required', '<li>Bắt buộc nhập, chọn.</li>'); $this->form_validation->set_message('is_unique', '<li>Đã tồn tại.</li>'); // Xử lý form đăng nhập if($this->form_validation->run($this) == false) { // $this->_data['date_limit'] = $this->input->post('name'); $this->_data['title'] = $this->input->post('title'); $this->_data['update_singer'] = $this->input->post('update_singer'); $this->_data['singer'] = $this->input->post('singer'); $this->_data['artist'] = $this->input->post('artist'); $this->_data['update_artist'] = $this->input->post('update_artist'); $this->_data['functionName'] = 'Cập nhật thông tin'; $this->_data['action'] = 'editTrack'; $this->_data['titlePage'] = 'Cập nhật thông tin'; $this->_data['loadPage'] = 'backend/cms_track/edit_track_view'; $this->load->view('backend/admin_template_view', $this->_data); } else { $title = $this->input->post('title'); $update_singer = $this->input->post('update_singer'); $singer = ($track_user != '') ? $track_user[0]['user_id']: ''; $artist = ($track_artists != '') ? $track_artists[0]['user_id']: ''; $update_artist = $this->input->post('update_artist'); $file = $_FILES['avatar']['name']; $id_singer = ($update_singer > 0) ? $update_singer: $singer; $id_artists = ($update_artist > 0) ? $update_artist: $artist; ($singer || $id_user) ? $active_singer = 'update': $active_singer = 'insert'; ($artist || $id_artist) ? $active_artist = 'update': $active_artist = 'insert'; // die($active_artist.$active_singer.'ca sĩ'.$id_singer.'/'.$singer.'nhạc sĩ'.$id_artists.'/'.$artist); // Xử lý upload: avatar if($file != ''){ // MyHelper::echoPreDie('1230'); $db_art_path = ''; $upload_path = 'uploads/tracks/arts'; $upload_full_path = '/home/aseanvn/public_html/vmusicchart.dcv.vn/' . $upload_path; $config['upload_path'] = $upload_full_path; $config['file_name'] = md5($track_id.time()); $config['allowed_types'] = 'gif|jpg|png|jpeg'; $config['max_size'] = 20480; $config['max_width'] = 1024; $config['max_height'] = 768; $this->load->library('upload', $config); // if() if ($this->upload->do_upload('avatar')) { $upload_data = $this->upload->data(); // MyHelper::echoPreDie('ac: '.$$upload_data); $db_art_path = $upload_path . '/' . $upload_data['file_name']; } $this->track_model->update($track_id, $title, $db_art_path); } else { $art = $track[0]['art']; $this->track_model->update($track_id, $title, $art); } // MyHelper::echoPreDie($config); $this->track_model->update_track_artists($track_id, $id_artists, $id_artist, $active_artist); $this->track_model->update_track_user($track_id, $id_singer, $id_user, $active_singer); $this->session->set_flashdata('success', 'Tạo bài hát thành công'); redirect(base_url().'backend/cmsTrack/showTrack/'.$track_id); } } //Thêm bài hát mới public function addTrack() { $this->_data['list_user'] = $list_user = $this->track_model->getListUsers(); // Thiết lập validate $this->form_validation->set_rules( 'id', 'ID', 'trim' ); $this->form_validation->set_rules( 'title', 'Tên bài hát', 'trim|required|callback_check_title|xss_clean' ); $this->form_validation->set_rules( 'singer', 'Ca sĩ', 'trim|required|callback_check_default|xss_clean' ); $this->form_validation->set_rules( 'artist', 'Sáng tác', 'trim|required|callback_check_default|xss_clean' ); $this->form_validation->set_rules( 'nct_id', 'ID bài hát trên nhạc của tui', 'callback_check_nct_id|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['title'] = $this->input->post('title'); $this->_data['singer'] = $this->input->post('singer'); $this->_data['artist'] = $this->input->post('artist'); $this->_data['avatar'] = $this->input->post('avatar'); $this->_data['source'] = $this->input->post('source'); $this->_data['src_option'] = $this->input->post('src_option'); $this->_data['link'] = $this->input->post('link'); $this->_data['nct_id'] = $this->input->post('nct_id'); $this->_data['functionName'] = 'Tạo mới Bài hát'; $this->_data['action'] = 'addTrack'; $this->_data['titlePage'] = 'Tạo mới Bài hát'; $this->_data['loadPage'] = 'backend/cms_track/add_track_view'; $this->load->view('backend/admin_template_view', $this->_data); }else{ // $username = $this->input->post('username'); $title = $this->input->post('title'); $singer = $this->input->post('singer'); $artist = $this->input->post('artist'); $link = $this->input->post('link'); $source = $this->input->post('source'); $nct_id = $this->input->post('nct_id'); if($title){ $slug = MyHelper::genSlug($title); $dataUpdate = array( 'title' => $title, 'userid' => $artist, 'link' => ($source == 'zing')? $link : '', 'link_nct' => ($source == 'nct')? $link : '', 'link_keeng' => ($source == 'keeng')? $link : '', 'id_nct' => $nct_id, 'slug' => $slug, 'tag' => 'vmusic', 'genre' => 1, 'time' => time() ); $insert_id = $this->track_model->add($dataUpdate); if ($insert_id) { // Xử lý upload: avatar $db_art_path = ''; $upload_path = 'uploads/tracks/arts'; $upload_full_path = '/home/aseanvn/public_html/vmusicchart.dcv.vn/' . $upload_path; $config['upload_path'] = $upload_full_path; $config['file_name'] = md5($insert_id.time()); $config['allowed_types'] = 'gif|jpg|png|jpeg'; $config['max_size'] = 20480; $config['max_width'] = 1024; $config['max_height'] = 768; $this->load->library('upload', $config); if ($this->upload->do_upload('avatar')) { $upload_data = $this->upload->data(); $db_art_path = $upload_path . '/' . $upload_data['file_name']; } $this->track_model->update($insert_id, $title, $db_art_path); $this->track_model->add_singer($singer,$insert_id); $this->track_model->add_artist($artist, $insert_id); } // 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', 'Tạo Bài hát thành công'); }else{ $this->session->set_flashdata('error', 'Tạo Bài hát không thành công'); } redirect(base_url().'backend/cmsTrack/listTrack'); } } public function addSinger($track_id) { $this->_data['track'] = $contest = $this->track_model->getById($track_id); $this->_data['list_user'] = $list_user = $this->track_model->getListUsers(); $this->form_validation->set_rules( 'singer', 'Ca sĩ', 'trim|required|callback_check_default|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['singer'] = $this->input->post('singer'); $this->_data['functionName'] = 'Thêm Người thể hiện vào bài hát'; $this->_data['action'] = 'addSinger'; $this->_data['titlePage'] = 'Thêm Người thể hiện vào bài hát'; $this->_data['loadPage'] = 'backend/cms_track/add_singer_view'; $this->load->view('backend/admin_template_view', $this->_data); } else { $singer = $this->input->post('singer'); $this->track_model->add_singer($singer,$track_id); $this->session->set_flashdata('success', 'Thêm ca sĩ vào bài hát thành công'); } } public function showTrack($track_id) { $this->_data['track']= $this->track_model->getById($track_id); // $this->_data['functionName'] = 'Thông tin Bài Hát'; $this->_data['action'] = 'showTrack'; $this->_data['titlePage'] = 'Thông tin Bài Hát'; $this->_data['loadPage'] = 'backend/cms_track/show_track_view'; $this->load->view('backend/admin_template_view', $this->_data); } // Tên bài hát tồn tại hay chưa public function check_title($title) { if ($this->input->post('id')) { $id = $this->input->post('id'); } else { $id = ''; } $result = $this->track_model->getByTitle($title, $id); if($result) { $this->form_validation->set_message('check_title', '<li class="list-unstyled">Bài hát đã tồn tại.</li>'); return false; }else{ return TRUE; } } // kiểm tra đã chọn ca sĩ/nhạc sĩ public function check_default($value) { if ($value == '0') { $this->form_validation->set_message('check_default', '<li class="list-unstyled">Vui lòng chọn ca sĩ hoặc sáng tác.</li>'); return false; } else return TRUE; } // kiểm tra id_nct khác null public function check_nct_id($nct_id) { $source = $this->input->post('source'); if($nct_id == '' && $source == 'nct') { $this->form_validation->set_message('check_nct_id', '<li class="list-unstyled">Vui lòng nhập ID bài hát trên NCT.</li>'); return false; } else return TRUE; } }