daily pastebin goal
8%
SHARE
TWEET

Untitled

a guest Dec 18th, 2017 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. if (!defined('BASEPATH'))
  4.     exit('No direct script access allowed');
  5.  
  6. class Apartemen extends CI_Controller
  7. {
  8.    
  9.        
  10.     function __construct()
  11.     {
  12.         parent::__construct();     
  13.         date_default_timezone_set('Asia/Jakarta');
  14.         $this->load->model('apartemen_model');
  15.          $this->load->model('files');
  16.         $this->load->helper(array('url','file'));
  17.         $this->load->library(array('form_validation','ion_auth','cart','session','upload'));
  18.         if (!$this->ion_auth->logged_in()) {//cek login ga?
  19.             redirect('auth/login','refresh');
  20.         }else{
  21.             if (!$this->ion_auth->in_group('admin')) {//cek admin ga?
  22.                 redirect('auth/login','refresh');
  23.             }
  24.         }
  25.     }
  26.    
  27.     public function index()
  28.     {
  29.         $this->page();
  30.     }
  31.        
  32.     public function page($offset=0)
  33.     {
  34.         $kat    = urldecode($this->input->get('q', TRUE));
  35.         $q      = urldecode($this->input->get('q', TRUE));
  36.         $start  = intval($this->input->get('start'));
  37.        
  38.         if ($q <> '') {
  39.             $config['base_url'] = base_url() . 'apartemen/page?q=' . urlencode($q);
  40.             $config['first_url'] = base_url() . 'apartemen/page?q=' . urlencode($q);
  41.         } else {
  42.             $config['base_url'] = base_url() . 'apartemen/page';
  43.             $config['first_url'] = base_url() . 'apartemen/page';
  44.         }
  45.  
  46.         $config['per_page']             = 2;
  47.         $config['page_query_string']    = TRUE;
  48.         $config['total_rows']           = $this->apartemen_model->total_rows($q);
  49.         $datane                         = $this->apartemen_model->get_limit_data($config['per_page'], $start, $q);
  50.  
  51.         $this->load->library('pagination');
  52.         $this->pagination->initialize($config);
  53.  
  54.         $data = array(
  55.             'data'          => $datane,
  56.             'q'             => $q,
  57.             'pagination'    => $this->pagination->create_links(),
  58.             'total_rows'    => $config['total_rows'],
  59.             'start'         => $start,
  60.         );
  61.  
  62.         $this->template->load('template','apartemen_list', $data);
  63.     }
  64.  
  65.     public function read($id)
  66.     {
  67.         $row = $this->apartemen_model->get_by_id($id);
  68.         if ($row) {
  69.             $data = array(
  70.             'apartemen_id' => $row->apartemen_id,
  71.             'developer_nama' => $row->developer_nama,
  72.             'user_id' => $row->user_id,
  73.             'apartemen_judul' => $row->apartemen_judul,
  74.             'apartemen_slug' => $row->apartemen_slug,
  75.             'apartemen_meta_keyword' => $row->apartemen_meta_keyword,
  76.             'apartemen_meta_description' => $row->apartemen_meta_description,
  77.             'apartemen_tag' => $row->apartemen_tag,
  78.             'apartemen_alamat' => $row->apartemen_alamat,
  79.             'apartemen_deskripsi' => $row->apartemen_deskripsi,
  80.             'apartemen_luas_tanah' => $row->apartemen_luas_tanah,
  81.             'apartemen_luas_bangunan' => $row->apartemen_luas_bangunan,
  82.             'apartemen_lantai' => $row->apartemen_lantai,
  83.             'apartemen_jml_kamar_tidur' => $row->apartemen_jml_kamar_tidur,
  84.             'apartemen_jml_kamar_mandi' => $row->apartemen_jml_kamar_mandi,
  85.             'apartemen_view' => $row->apartemen_view,
  86.             'apartemen_power_listrik' => $row->apartemen_power_listrik,
  87.             'apartemen_sertifikasi' => $row->apartemen_sertifikasi,
  88.             'apartemen_harga' => $row->apartemen_harga,
  89.             'apartemen_image' => $row->apartemen_image,
  90.             'apartemen_headline' => $row->apartemen_headline,
  91.             'apartemen_status' => $row->apartemen_status,
  92.             'apartemen_created' => $row->apartemen_created,
  93.             'apartemen_edited' => $row->apartemen_edited,
  94.             'apartemen_read' => $row->apartemen_read,
  95.         );
  96.             $this->template->load('template','apartemen_read', $data);
  97.         } else {
  98.             $this->session->set_flashdata('message', 'Record Not Found');
  99.             redirect(site_url('apartemen'));
  100.         }
  101.     }
  102.  
  103.     public function create()
  104.     {
  105.         $data = array(
  106.             'button'                    => 'Create',
  107.             'action'                    => site_url('apartemen/create_action'),
  108.             'apartemen_id'              => set_value('apartemen_id'),
  109.             'developer_id'              => set_value('developer_id'),
  110.             'user_id'                   => get_name_by_id(),
  111.             'apartemen_judul'           => set_value('apartemen_judul'),
  112.             'apartemen_meta_keyword'    => set_value('apartemen_meta_keyword'),
  113.             'apartemen_meta_description'=> set_value('apartemen_meta_description'),
  114.             'apartemen_tag'             => set_value('apartemen_tag'),
  115.             'apartemen_alamat'          => set_value('apartemen_alamat'),
  116.             'apartemen_deskripsi'       => set_value('apartemen_deskripsi'),
  117.             'apartemen_luas_tanah'      => set_value('apartemen_luas_tanah'),
  118.             'apartemen_luas_bangunan'   => set_value('apartemen_luas_bangunan'),
  119.             'apartemen_lantai'          => set_value('apartemen_lantai'),
  120.             'apartemen_jml_kamar_tidur' => set_value('apartemen_jml_kamar_tidur'),
  121.             'apartemen_jml_kamar_mandi' => set_value('apartemen_jml_kamar_mandi'),
  122.             'apartemen_view'            => set_value('apartemen_view'),        
  123.             'apartemen_power_listrik'   => set_value('apartemen_power_listrik'),
  124.             'sertifikasi'               => set_value('apartemen_sertifikasi'),
  125.             'apartemen_sertifikasi'     => $this->db->anggota_enum('apartemen','apartemen_sertifikasi'),
  126.             'apartemen_harga'           => set_value('apartemen_harga'),
  127.             'apartemen_image'           => set_value('apartemen_image'),
  128.             'apartemen_headline'        => set_value('apartemen_headline'),
  129.             'apartemen_status'          => set_value('apartemen_status'),
  130.             'apartemen_created'         => set_value('apartemen_created'),
  131.             'apartemen_edited'          => set_value('apartemen_edited'),
  132.             'apartemen_read'            => set_value('apartemen_read'),
  133.         );
  134.         $this->template->load('template','apartemen_form', $data);
  135.     }
  136.    
  137.     public function create_action()
  138.     {
  139.         $row    = $this->apartemen_model->get_last_id();       
  140.         foreach ($row as $apartemen_data){
  141.             $last_id = $apartemen_data->apartemen_id;
  142.         }      
  143.         $id_apartemen = $last_id + 1;
  144.        
  145.         $this->_rules();
  146.         if ($this->form_validation->run() == FALSE) {
  147.             $this->create();
  148.         } else {
  149.             if (!empty($_POST['tag'])){
  150.                 $tag_pilihan    = $_POST['tag'];
  151.                 $tag            = implode(',',$tag_pilihan);
  152.             }else{
  153.                 $tag            = '';
  154.             }
  155.            
  156.             $data = array(
  157.                 'apartemen_id'                  => $id_apartemen,
  158.                 'developer_id'                  => $this->input->post('developer_id',TRUE),
  159.                 'user_id'                       => get_name_by_id(),
  160.                 'apartemen_judul'               => $this->input->post('apartemen_judul',TRUE),
  161.                 'apartemen_slug'                => slug($this->input->post('apartemen_judul',TRUE)),
  162.                 'apartemen_meta_keyword'        => $this->input->post('apartemen_meta_keyword',TRUE),
  163.                 'apartemen_meta_description'    => $this->input->post('apartemen_meta_description',TRUE),
  164.                 'apartemen_tag'                 => $tag,
  165.                 'apartemen_alamat'              => $this->input->post('apartemen_alamat',TRUE),
  166.                 'apartemen_deskripsi'           => $this->input->post('apartemen_deskripsi',TRUE),
  167.                 'apartemen_luas_tanah'          => $this->input->post('apartemen_luas_tanah',TRUE),
  168.                 'apartemen_luas_bangunan'       => $this->input->post('apartemen_luas_bangunan',TRUE),
  169.                 'apartemen_lantai'              => $this->input->post('apartemen_lantai',TRUE),
  170.                 'apartemen_jml_kamar_tidur'     => $this->input->post('apartemen_jml_kamar_tidur',TRUE),
  171.                 'apartemen_jml_kamar_mandi'     => $this->input->post('apartemen_jml_kamar_mandi',TRUE),
  172.                 'apartemen_view'                => $this->input->post('apartemen_view',TRUE),
  173.                 'apartemen_power_listrik'       => $this->input->post('apartemen_power_listrik',TRUE),
  174.                 'apartemen_sertifikasi'         => $this->input->post('apartemen_sertifikasi',TRUE),
  175.                 'apartemen_harga'               => $this->input->post('apartemen_harga',TRUE),
  176.                 'apartemen_headline'            => 'Y',
  177.                 'apartemen_status'              => $this->input->post('apartemen_status',TRUE),
  178.                 'apartemen_created'             => date('Y-m-d H:i:s'),
  179.                 'apartemen_edited'              => '0000-00-00 00:00:00',
  180.                 'apartemen_read'                => '0',
  181.             );
  182.            
  183.            
  184.            
  185.             if(!empty($_FILES['apartemen_image']['name'])){
  186.                 $filesCount = count($_FILES['apartemen_image']['name']);
  187.                 for($i = 0; $i < $filesCount; $i++){
  188.                    
  189.                     $slug                                   = $data['apartemen_slug'];                 
  190.                     $config['file_name']                    = $slug; //nama yang terupload nantinya
  191.                     $_FILES['apartemen_images']['name']     = $_FILES['apartemen_image']['name'][$i];
  192.                     $_FILES['apartemen_images']['type']     = $_FILES['apartemen_image']['type'][$i];
  193.                     $_FILES['apartemen_images']['tmp_name'] = $_FILES['apartemen_image']['tmp_name'][$i];
  194.                     $_FILES['apartemen_images']['error']    = $_FILES['apartemen_image']['error'][$i];
  195.                     $_FILES['apartemen_images']['size']     = $_FILES['apartemen_image']['size'][$i];
  196.                     $uploadPath                             = '../assets/images/apartemen/';
  197.                     $config['upload_path']                  = $uploadPath;
  198.                     $config['allowed_types']                = 'gif|jpg|png';                
  199.                     $this->load->library('upload', $config);
  200.                     $this->upload->initialize($config);
  201.                     if($this->upload->do_upload('apartemen_images')){
  202.                         $fileData                           = $this->upload->data();
  203.                         //Compress Image
  204.                         $configi['image_library']   ='gd2';
  205.                         $configi['source_image']    ='../assets/images/apartemen/'.$fileData['file_name'];
  206.                         $configi['create_thumb']    = FALSE;
  207.                         $configi['maintain_ratio']  = FALSE;
  208.                         $configi['quality']         = '100%';
  209.                         $configi['width']           = 700;
  210.                         $configi['height']          = 400;
  211.                         $configi['new_image']       = '../assets/images/apartemen/'.$fileData['file_name'];
  212.                         $this->load->library('image_lib', $configi);
  213.                         if (!$this->image_lib->resize()) {
  214.                             echo $this->image_lib->display_errors();
  215.                         }
  216.                        
  217.                         $uploadData[$i]['kategori_id']      = '1';
  218.                         $uploadData[$i]['post_id']          = $id_apartemen;
  219.                         $uploadData[$i]['foto_nama']        = $fileData['file_name'];
  220.                        
  221.                     }
  222.                 }            
  223.                 if(!empty($uploadData)){
  224.                     //Insert file information into the database
  225.                     $insert = $this->files->insert($uploadData);
  226.                     $this->apartemen_model->insert($data);
  227.                     $this->session->set_flashdata('message', 'Create Record Success');
  228.                     redirect(site_url('apartemen'));   
  229.                 }
  230.             }else{
  231.                 echo "Tidak ada foto yang dipilih";
  232.             }
  233.         }
  234.     }
  235.     public function _rules()
  236.     {      
  237.         $this->form_validation->set_rules('developer_id', 'kategori id', 'trim');
  238.         $this->form_validation->set_rules('user_id', 'user id', 'trim');
  239.         $this->form_validation->set_rules('apartemen_judul', 'apartemen judul', 'trim|required');
  240.         $this->form_validation->set_rules('apartemen_slug', 'apartemen slug', 'trim');
  241.         $this->form_validation->set_rules('apartemen_meta_keyword', 'apartemen meta keyword', 'trim');
  242.         $this->form_validation->set_rules('apartemen_meta_description', 'apartemen meta description', 'trim');
  243.         $this->form_validation->set_rules('apartemen_tag', 'apartemen tag', 'trim');
  244.         $this->form_validation->set_rules('apartemen_alamat', 'apartemen alamat', 'trim|required');
  245.         $this->form_validation->set_rules('apartemen_deskripsi', 'apartemen isi', 'trim|required');
  246.         $this->form_validation->set_rules('apartemen_luas_tanah', 'apartemen luas tanah', 'trim');
  247.         $this->form_validation->set_rules('apartemen_luas_bangunan', 'apartemen luas bangunan', 'trim');
  248.         $this->form_validation->set_rules('apartemen_lantai', 'apartemen jml lantai', 'trim');
  249.         $this->form_validation->set_rules('apartemen_jml_kamar_tidur', 'apartemen jml kamar tidur', 'trim');
  250.         $this->form_validation->set_rules('apartemen_jml_kamar_mandi', 'apartemen jml kamar mandi', 'trim');
  251.         $this->form_validation->set_rules('apartemen_view', 'apartemen view', 'trim');
  252.         $this->form_validation->set_rules('apartemen_power_listrik', 'apartemen power listrik', 'trim');
  253.         $this->form_validation->set_rules('apartemen_sertifikasi', 'apartemen harga njop', 'trim');
  254.         $this->form_validation->set_rules('apartemen_harga', 'apartemen harga', 'trim');
  255.         $this->form_validation->set_rules('apartemen_image', 'apartemen image', 'trim');
  256.         $this->form_validation->set_rules('apartemen_headline', 'apartemen headline', 'trim');
  257.         $this->form_validation->set_rules('apartemen_status', 'apartemen status', 'trim|required');
  258.         $this->form_validation->set_rules('apartemen_id', 'apartemen_id', 'trim');
  259.         $this->form_validation->set_error_delimiters('<span class="text-danger">', '</span>');
  260.     }
  261.  
  262. }
RAW Paste Data
Top