Advertisement
Wahid_TV

Users.php

May 19th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.70 KB | None | 0 0
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3.  
  4. // Deklarasi pembuatan class Users
  5. class Users extends CI_Controller {
  6.     // Konstruktor
  7.     function __construct() {
  8.         parent::__construct();
  9.         // Memanggil Users_model yang ada di models
  10.         //$this->load->model('Users_model');
  11.         // Memanggil form_validation & datatables yang ada di Library
  12.         //$this->load->library('datatables');
  13.     }
  14.  
  15.     // Fungsi untuk menampilkan halaman users
  16.     public function index() {
  17.         // Jika session data username tidak ada maka akan dialihkan ke halaman login
  18.         if (!isset($this->session->userdata['username'])) {
  19.             redirect(base_url("login"));
  20.         }
  21.  
  22.         // Menampilkan data berdasarkan id-nya yaitu username
  23.         $rowAdm     = $this->Users_model->get_by_id($this->session->userdata['username']);
  24.         $dataAdm    = ['wa' => 'Web Administrator', 'univ' => 'Universitas Wahid Hasyim Semarang', 'username' => $rowAdm->username, 'email' => $rowAdm->email, 'level' => $rowAdm->level];
  25.  
  26.         // Menampilkan bagian header dan object data users
  27.         $this->load->view('header_list', $dataAdm);
  28.         // Menampilkan halaman users
  29.         $this->load->view('users/users_list');
  30.         // Menampilkan bagian footer
  31.         $this->load->view('footer_list');
  32.     }
  33.  
  34.     // Fungsi jSON
  35.     public function json() {
  36.         header('Content-Type: application/json');
  37.         echo $this->Users_model->json();
  38.     }
  39.  
  40.     // Fungsi menampilkan form Create Users
  41.     public function create() {
  42.         // Jika session data username tidak ada maka akan dialihkan ke halaman login
  43.         if(!isset($this->session->userdata['username'])) {
  44.             redirect('login');
  45.         }
  46.  
  47.         // Menampilkan data berdasarkan id-nya yaitu username
  48.         $rowAdm     = $this->Users_model->get_by_id($this->session->userdata['username']);
  49.         $dataAdm    = array('wa' => 'Web Administrator', 'univ' => 'Universitas Wahid Hasyim Semarang', 'username' => $rowAdm->username, 'email' => $rowAdm->email, 'level' => $rowAdm->level);
  50.  
  51.         // Menampung data yang diinputkan
  52.         $data       = array('button' => 'Create',
  53.                             'back' => site_url('users'),
  54.                             'action' => site_url('users/create_action'),
  55.                             'username' => set_value('username'),
  56.                             'password' => set_value('password'),
  57.                             'email' => set_value('email'),
  58.                             'level' => set_value('level'),
  59.                             'blokir' => set_value('blokir')
  60.                         );
  61.  
  62.         // Menampilkan bagian header dan object data users
  63.         $this->load->view('header', $dataAdm);
  64.         // Menampilkan halaman utama yaitu form users
  65.         $this->load->view('users/users_form', $data);
  66.         // Menampilkan bagian footer
  67.         $this->load->view('footer');
  68.     }
  69.  
  70.     // Fungsi untuk melakukan aksi simpan data
  71.     public function create_action() {
  72.         // Jika session data username tidak ada makan akan dialihkan ke halaman login
  73.         if(!isset($this->session->userdata['username'])) {
  74.             redirect('login');
  75.         }
  76.  
  77.         // Rules atau aturan bahwa setiap form harus diisi
  78.         $this->_rules();
  79.  
  80.         // Jika form users belum diisi dengan benar, maka sistem akan meminta user untuk menginput ulang
  81.         if($this->form_validation->run() == FALSE) {
  82.             $this->create();
  83.         } else {
  84.  
  85.         // Jika form users diisi dengan benar, maka sistem akan menyimpkan kedalam database
  86.             $data = array(
  87.                     'username' => $this->input->post('username', TRUE),
  88.                     'password' => $this->input->post('password', TRUE),
  89.                     'email' => $this->input->post('email', TRUE),
  90.                     'level' => $this->input->post('level', TRUE),
  91.                     'blokir' => $this->input->post('blokir', TRUE),
  92.                     'id_sessions' => md5($this->input->post('password', TRUE))
  93.             );
  94.             $this->Users_model->insert($data);
  95.             $this->session->set_flashdata('message', 'Creare Record Success');
  96.  
  97.             redirect('users');
  98.         }
  99.     }
  100.  
  101.     // Fungsi menampilkan form users
  102.     public function update($id) {
  103.         // Jika session data username tidak ada makan akan dialihkan ke halaman login
  104.         if(!isset($this->session->userdata['username'])) {
  105.             redirect(base_url('login'));
  106.         }
  107.  
  108.         // Menampilkan data berdasarkan id-nya yaitu username
  109.         $rowAdm     = $this->Users_model->get_by_id($this->session->userdata['username']);
  110.         $dataAdm    = array(
  111.                         'wa' => 'Web Administrator',
  112.                         'univ' => 'Universitas Wahid Hasyim Semarang',
  113.                         'username' => $rowAdm->username,
  114.                         'email' => $rowAdm->email,
  115.                         'level' => $rowAdm->level
  116.                     );
  117.  
  118.         // Menampilkan data berdasarkan id-nya yaitu username
  119.         $row = $this->Users_model->get_by_id($id);
  120.  
  121.         // Jika id-nya dipilih maka data tahun akademik semester ditampilkan ke form edit users
  122.         if($row) {
  123.             $data = array(
  124.                 'button' => 'update',
  125.                 'back' => site_url('users'),
  126.                 'action' => site_url('users/update_action'),
  127.                 'username' => set_value('username', $row->username),
  128.                 'email' => set_value('email', $row->email),
  129.                 'level' => set_value('level', $row->level),
  130.                 'blokir' => set_value('blokir', $row->blokir)
  131.                 );
  132.             // Menampilkan bagian header dan object data users
  133.             $this->load->view('header', $dataAdm);
  134.             // Menampilkan form tahun akademik semester
  135.             $this->load->view('users/users_form', $data);
  136.             // Menampilkan bagian footer
  137.             $this->load->view('footer');
  138.         } else {
  139.             // Jika id-nya yang dipilih tidak ada maka akan menampilkan pesan 'Record Not Found'
  140.             $this->session->set_flashdata('message', 'Record Not Found');
  141.             redirect(site_url('users'));
  142.         }
  143.     }
  144.  
  145.     // Fungsi untuk melakukan aksi update data
  146.     public function update_action() {
  147.         // Jika session data username tidak ada maka akan dialihkan ke halaman login
  148.         if(!isset($this->session->userdata['username'])) {
  149.             redirect(base_url('login'));
  150.         }
  151.  
  152.         // Rules atau aturan bahwa setiap form harus diisi
  153.         $this->_rules();
  154.  
  155.         // Jika form users belum diisi dengan benar
  156.         // maka sistem akan meminta user untuk menginput ulang
  157.         if($this->form_validation->run() == FALSE) {
  158.             $this->update($this->input->post('username', TRUE));
  159.         } else {
  160.             // Jika form users telah diisi dengan benar
  161.             // maka sistem akan melakukan update data tahun akademik semester ke dalam database
  162.             $data = array(
  163.                     'username' => $this->input->post('username', TRUE),
  164.                     'password' => md5($this->input->post('password', TRUE)),
  165.                     'email' => $this->input->post('email', TRUE),
  166.                     'level' => $this->input->post('level', TRUE),
  167.                     'blokir' => $this->input->post('blokir', TRUE),
  168.                     'id_sessions' => md5($this->input->post('password', TRUE))
  169.                     );
  170.             $this->Users_model->update($this->input->post('username', TRUE), $data);
  171.             $this->session->set_flashdata('message', 'Update Record Success');
  172.  
  173.             redirect('users');
  174.         }
  175.     }
  176.  
  177.     // Fungsi untuk melakukan aksi delete data berdasarkan id yang dipilih
  178.     public function delete($id) {
  179.         // Jika session data username tidak ada maka akan dialihkan ke halaman login
  180.         if(!isset($this->session->userdata['username'])) {
  181.             redirect('login');
  182.         }
  183.  
  184.         $row = $this->Users_model->get_by_id($id);
  185.         // Jika id users yang dipilih tersedia maka akan dihapus
  186.         if($row) {
  187.             $this->Users_model->delete($id);
  188.             $this->session->set_flashdata('message', 'Delete Record Success');
  189.  
  190.             redirect(site_url('users'));
  191.         } else {
  192.             // Jika id users yang dipilih tidak tersedia maka akan muncul pesan 'Record Not Found'
  193.             $this->session->set_flashdata('message', 'Record Not Found');
  194.  
  195.             redirect(site_url('users'));
  196.         }
  197.     }
  198.  
  199.     // Fungsi rules atau aturan untuk pengisian pada form (create/input dan update)
  200.     public function _rules() {
  201.         $this->form_validation->set_rules('username', 'username', 'trim|required');
  202.         $this->form_validation->set_rules('email', 'email', 'trim|required');
  203.         $this->form_validation->set_rules('level', 'level', 'trim|required');
  204.         $this->form_validation->set_rules('blokir', 'blokir', 'trim|required');
  205.         $this->form_validation->set_rules('username', 'username', 'trim');
  206.         $this->form_validation->set_error_delimiters('<span class="text-danger">', '</span>');
  207.     }
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement