Advertisement
Affan99

Code

May 27th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 31.63 KB | None | 0 0
  1. v_artikel.php
  2. <div class="content-wrapper">
  3.     <section class="content-header">
  4.         <h1>
  5.             Artikel
  6.             <small>Manajemen Artikel</small>
  7.         </h1>
  8.     </section>
  9.  
  10.     <section class="content">
  11.  
  12.         <div class="row">
  13.             <div class="col-lg-12">
  14.                
  15.                 <a href="<?php echo base_url().'dashboard/artikel_tambah'; ?>" class="btn btn-sm btn-primary">Buat artikel baru</a>
  16.  
  17.                 <br/>
  18.                 <br/>
  19.  
  20.                 <div class="box box-primary">
  21.                     <div class="box-header">
  22.                         <h3 class="box-title">Artikel</h3>
  23.                     </div>
  24.                     <div class="box-body">
  25.  
  26.                         <div class="table-responsive">
  27.                             <table class="table table-bordered">
  28.                                 <thead>
  29.                                     <tr>
  30.                                         <th width="1%">NO</th>
  31.                                         <th>Tanggal</th>
  32.                                         <th>Artikel</th>
  33.                                         <th>Author</th>
  34.                                         <th>Kategori</th>
  35.                                         <th width="10%">Gambar</th>
  36.                                         <th>Status</th>
  37.                                         <th width="15%">OPSI</th>
  38.                                     </tr>
  39.                                 </thead>
  40.                                 <tbody>
  41.                                     <?php
  42.                                     $no = 1;
  43.                                     foreach($artikel as $a){
  44.                                         ?>
  45.                                         <tr>
  46.                                             <td><?php echo $no++; ?></td>
  47.                                             <td><?php echo date('d/m/Y H:i', strtotime($a->artikel_tanggal)); ?></td>
  48.                                             <td>
  49.                                                 <?php echo $a->artikel_judul; ?>
  50.                                                 <br/>
  51.                                                 <small class="text-muted">
  52.                                                     <?php echo base_url()."".$a->artikel_slug; ?>
  53.                                                 </small>
  54.                                             </td>
  55.                                             <td><?php echo $a->pengguna_nama; ?></td>
  56.                                             <td><?php echo $a->kategori_nama; ?></td>
  57.                                             <td><img width="100%" class="img-responsive" src="<?php echo base_url().'/gambar/artikel/'.$a->artikel_sampul; ?>"></td>
  58.                                             <td>
  59.                                                 <?php
  60.                                                 if($a->artikel_status=="publish"){
  61.                                                     echo "<span class='label label-success'>Publish</span>";
  62.                                                 }else{
  63.                                                     echo "<span class='label label-danger'>Draft</span>";
  64.                                                 }
  65.                                                 ?>
  66.  
  67.                                             </td>
  68.                                             <td>
  69.                                                 <a target="_blank" href="<?php echo base_url().$a->artikel_slug; ?>" class="btn btn-success btn-sm"> <i class="fa fa-eye"></i> </a>
  70.                                                 <?php
  71.                                             // cek apakah penggun yang login adalah penulis
  72.                                                 if($this->session->userdata('level') == "penulis"){
  73.                                                 // jika penulis, maka cek apakah penulis artikel ini adalah si pengguna atau bukan
  74.                                                     if($this->session->userdata('id') == $a->artikel_author){
  75.                                                         ?>
  76.                                                         <a href="<?php echo base_url().'dashboard/artikel_edit/'.$a->artikel_id; ?>" class="btn btn-warning btn-sm"> <i class="fa fa-pencil"></i> </a>
  77.                                                         <a href="<?php echo base_url().'dashboard/artikel_hapus/'.$a->artikel_id; ?>" class="btn btn-danger btn-sm"> <i class="fa fa-trash"></i> </a>
  78.                                                         <?php
  79.                                                     }
  80.                                                 }else{
  81.                                                 // jika yang login adalah admin
  82.                                                     ?>
  83.                                                     <a href="<?php echo base_url().'dashboard/artikel_edit/'.$a->artikel_id; ?>" class="btn btn-warning btn-sm"> <i class="fa fa-pencil"></i> </a>
  84.                                                     <a href="<?php echo base_url().'dashboard/artikel_hapus/'.$a->artikel_id; ?>" class="btn btn-danger btn-sm"> <i class="fa fa-trash"></i> </a>
  85.                                                     <?php
  86.                                                 }
  87.                                                 ?>
  88.                                             </td>
  89.                                         </tr>
  90.                                     <?php } ?>
  91.                                 </tbody>
  92.                             </table>
  93.                         </div>
  94.  
  95.                     </div>
  96.                 </div>
  97.  
  98.             </div>
  99.         </div>
  100.  
  101.     </section>
  102.  
  103. </div>
  104.  
  105. v_Artikel_edit.php
  106. <div class="content-wrapper">
  107.     <section class="content-header">
  108.         <h1>
  109.             Artikel
  110.             <small>Edit Artikel Baru</small>
  111.         </h1>
  112.     </section>
  113.  
  114.     <section class="content">
  115.  
  116.         <a href="<?php echo base_url().'dashboard/artikel'; ?>" class="btn btn-sm btn-primary">Kembali</a>
  117.  
  118.         <br/>
  119.         <br/>
  120.  
  121.         <?php foreach($artikel as $a){ ?>
  122.  
  123.         <form method="post" action="<?php echo base_url('dashboard/artikel_update') ?>" enctype="multipart/form-data">
  124.             <div class="row">
  125.                 <div class="col-lg-9">
  126.  
  127.                     <div class="box box-primary">
  128.                         <div class="box-body">
  129.  
  130.  
  131.                             <div class="box-body">
  132.                                 <div class="form-group">
  133.                                     <label>Judul</label>
  134.                                     <input type="hidden" name="id" value="<?php echo $a->artikel_id; ?>">
  135.                                     <input type="text" name="judul" class="form-control" placeholder="Masukkan judul artikel.." value="<?php echo $a->artikel_judul; ?>">
  136.                                     <br/>
  137.                                     <?php echo form_error('judul'); ?>
  138.                                 </div>
  139.                             </div>
  140.  
  141.                             <div class="box-body">
  142.                                 <div class="form-group">
  143.                                     <label>Konten</label>
  144.                                     <?php echo form_error('konten'); ?>
  145.                                     <br/>
  146.                                     <textarea class="form-control" id="editor" name="konten"> <?php echo $a->artikel_konten; ?> </textarea>
  147.                                 </div>
  148.                             </div>
  149.  
  150.  
  151.                         </div>
  152.                     </div>
  153.  
  154.                 </div>
  155.  
  156.                 <div class="col-lg-3">
  157.                     <div class="box box-primary">
  158.                         <div class="box-body">
  159.                             <div class="form-group">
  160.                                 <label>Kategori</label>
  161.                                 <select class="form-control" name="kategori">
  162.                                     <option value="">- Pilih Kategori</option>
  163.                                     <?php foreach($kategori as $k){ ?>
  164.                                         <option <?php if($a->artikel_kategori == $k->kategori_id){echo "selected='selected'";} ?> value="<?php echo $k->kategori_id ?>"><?php echo $k->kategori_nama; ?></option>
  165.                                     <?php } ?>
  166.                                 </select>
  167.                                 <br/>
  168.                                 <?php echo form_error('kategori'); ?>
  169.                             </div>
  170.  
  171.                             <br/><br/>
  172.  
  173.                             <div class="form-group">
  174.                                 <label>Gambar Sampul</label>
  175.  
  176.                                 <input type="file" name="sampul">
  177.  
  178.                                 <br/>
  179.                                 <?php
  180.                                 if(isset($gambar_error)){
  181.                                     echo $gambar_error;
  182.                                 }
  183.                                 ?>
  184.                                 <?php echo form_error('sampul'); ?>
  185.                             </div>
  186.  
  187.                             <br/><br/>
  188.  
  189.                             <input type="submit" name="status" value="Draft" class="btn btn-warning btn-block">
  190.                             <input type="submit" name="status" value="Publish" class="btn btn-success btn-block">
  191.  
  192.                         </div>
  193.                     </div>
  194.  
  195.                 </div>
  196.             </div>
  197.         </form>
  198.         <?php } ?>
  199.  
  200.     </section>
  201.  
  202. </div>
  203.  
  204. v_Artikel_tambah.php
  205. <div class="content-wrapper">
  206.     <section class="content-header">
  207.         <h1>
  208.             Artikel
  209.             <small>Tulis Artikel Baru</small>
  210.         </h1>
  211.     </section>
  212.  
  213.     <section class="content">
  214.  
  215.         <a href="<?php echo base_url().'dashboard/artikel'; ?>" class="btn btn-sm btn-primary">Kembali</a>
  216.  
  217.         <br/>
  218.         <br/>
  219.  
  220.         <form method="post" action="<?php echo base_url('dashboard/artikel_aksi') ?>" enctype="multipart/form-data">
  221.             <div class="row">
  222.                 <div class="col-lg-9">
  223.  
  224.                     <div class="box box-primary">
  225.                         <div class="box-body">
  226.  
  227.  
  228.                             <div class="box-body">
  229.                                 <div class="form-group">
  230.                                     <label>Judul</label>
  231.                                     <input type="text" name="judul" class="form-control" placeholder="Masukkan judul artikel.." value="<?php echo set_value('judul'); ?>">
  232.                                     <br/>
  233.                                     <?php echo form_error('judul'); ?>
  234.                                 </div>
  235.                             </div>
  236.  
  237.                             <div class="box-body">
  238.                                 <div class="form-group">
  239.                                     <label>Konten</label>
  240.                                     <?php echo form_error('konten'); ?>
  241.                                     <br/>
  242.                                     <textarea class="form-control" id="editor" name="konten"> <?php echo set_value('konten'); ?> </textarea>
  243.                                 </div>
  244.                             </div>
  245.  
  246.  
  247.                         </div>
  248.                     </div>
  249.  
  250.                 </div>
  251.  
  252.                 <div class="col-lg-3">
  253.                     <div class="box box-primary">
  254.                         <div class="box-body">
  255.                             <div class="form-group">
  256.                                 <label>Kategori</label>
  257.                                 <select class="form-control" name="kategori">
  258.                                     <option value="">- Pilih Kategori</option>
  259.                                     <?php foreach($kategori as $k){ ?>
  260.                                         <option <?php if(set_value('kategori') == $k->kategori_id){echo "selected='selected'";} ?> value="<?php echo $k->kategori_id ?>"><?php echo $k->kategori_nama; ?></option>
  261.                                     <?php } ?>
  262.                                 </select>
  263.                                 <br/>
  264.                                 <?php echo form_error('kategori'); ?>
  265.                             </div>
  266.  
  267.                             <br/><br/>
  268.  
  269.                             <div class="form-group">
  270.                                 <label>Gambar Sampul</label>
  271.  
  272.                                 <input type="file" name="sampul">
  273.  
  274.                                 <br/>
  275.                                 <?php
  276.                                 if(isset($gambar_error)){
  277.                                     echo $gambar_error;
  278.                                 }
  279.                                 ?>
  280.                                 <?php echo form_error('sampul'); ?>
  281.                             </div>
  282.  
  283.                             <br/><br/>
  284.  
  285.                             <input type="submit" name="status" value="Draft" class="btn btn-warning btn-block">
  286.                             <input type="submit" name="status" value="Publish" class="btn btn-success btn-block">
  287.  
  288.                         </div>
  289.                     </div>
  290.  
  291.                 </div>
  292.             </div>
  293.         </form>
  294.  
  295.     </section>
  296.  
  297. </div>
  298.  
  299.  
  300. m_data.php
  301. <?php
  302.  
  303. // WWW.MALASNGODING.COM === Author : Diki Alfarabi Hadi
  304. // Model yang terstruktur. agar bisa digunakan berulang kali untuk membuat CRUD.
  305. // Sehingga proses pembuatan CRUD menjadi lebih cepat dan efisien.
  306.  
  307. class M_data extends CI_Model{
  308.    
  309.     function cek_login($table,$where){
  310.         return $this->db->get_where($table,$where);
  311.     }
  312.    
  313.     // FUNGSI CRUD
  314.     // fungsi untuk mengambil data dari database
  315.     function get_data($table){
  316.         return $this->db->get($table);
  317.     }
  318.  
  319.     // fungsi untuk menginput data ke database
  320.     function insert_data($data,$table){
  321.         $this->db->insert($table,$data);
  322.     }
  323.  
  324.     // fungsi untuk mengedit data
  325.     function edit_data($where,$table){
  326.         return $this->db->get_where($table,$where);
  327.     }
  328.  
  329.     // fungsi untuk mengupdate atau mengubah data di database
  330.     function update_data($where,$data,$table){
  331.         $this->db->where($where);
  332.         $this->db->update($table,$data);
  333.     }
  334.  
  335.     // fungsi untuk menghapus data dari database
  336.     function delete_data($where,$table){
  337.         $this->db->delete($table,$where);
  338.     }
  339.     // AKHIR FUNGSI CRUD
  340.  
  341.    
  342. }
  343.  
  344. ?>
  345.  
  346. application -> controllers -> dashboard.php
  347. <?php
  348. defined('BASEPATH') OR exit('No direct script access allowed');
  349.  
  350. class Dashboard extends CI_Controller {
  351.  
  352.     function __construct()
  353.     {
  354.         parent::__construct();
  355.  
  356.         date_default_timezone_set('Asia/Jakarta');
  357.  
  358.         $this->load->model('m_data');
  359.  
  360.         // cek session yang login,
  361.         // jika session status tidak sama dengan session telah_login, berarti pengguna belum login
  362.         // maka halaman akan di alihkan kembali ke halaman login.
  363.         if($this->session->userdata('status')!="telah_login"){
  364.             redirect(base_url().'login?alert=belum_login');
  365.         }
  366.     }
  367.  
  368.     public function index()
  369.     {
  370.         // hitung jumlah artikel
  371.         $data['jumlah_artikel'] = $this->m_data->get_data('artikel')->num_rows();
  372.         // hitung jumlah kategori
  373.         $data['jumlah_kategori'] = $this->m_data->get_data('kategori')->num_rows();
  374.         // hitung jumlah pengguna
  375.         $data['jumlah_pengguna'] = $this->m_data->get_data('pengguna')->num_rows();
  376.         // hitung jumlah halaman
  377.         $data['jumlah_halaman'] = $this->m_data->get_data('halaman')->num_rows();
  378.         $this->load->view('dashboard/v_header');
  379.         $this->load->view('dashboard/v_index',$data);
  380.         $this->load->view('dashboard/v_footer');
  381.     }
  382.  
  383.     public function keluar()
  384.     {
  385.         $this->session->sess_destroy();
  386.         redirect('login?alert=logout');
  387.     }
  388.  
  389.     public function ganti_password()
  390.     {
  391.         $this->load->view('dashboard/v_header');
  392.         $this->load->view('dashboard/v_ganti_password');
  393.         $this->load->view('dashboard/v_footer');
  394.     }
  395.  
  396.     public function ganti_password_aksi()
  397.     {
  398.  
  399.         // form validasi
  400.         $this->form_validation->set_rules('password_lama','Password Lama','required');
  401.         $this->form_validation->set_rules('password_baru','Password Baru','required|min_length[8]');
  402.         $this->form_validation->set_rules('konfirmasi_password','Konfirmasi Password Baru','required|matches[password_baru]');
  403.  
  404.         // cek validasi
  405.         if($this->form_validation->run() != false){
  406.  
  407.             // menangkap data dari form
  408.             $password_lama = $this->input->post('password_lama');
  409.             $password_baru = $this->input->post('password_baru');
  410.             $konfirmasi_password = $this->input->post('konfirmasi_password');
  411.  
  412.             // cek kesesuaian password lama dengan id pengguna yang sedang login dan password lama
  413.             $where = array(
  414.                 'pengguna_id' => $this->session->userdata('id'),
  415.                 'pengguna_password' => md5($password_lama)
  416.             );
  417.             $cek = $this->m_data->cek_login('pengguna', $where)->num_rows();
  418.  
  419.             // cek kesesuaikan password lama
  420.             if($cek > 0){
  421.  
  422.                 // update data password pengguna
  423.                 $w = array(
  424.                     'pengguna_id' => $this->session->userdata('id')
  425.                 );
  426.                 $data = array(
  427.                     'pengguna_password' => md5($password_baru)
  428.                 );
  429.                 $this->m_data->update_data($where, $data, 'pengguna');
  430.  
  431.                 // alihkan halaman kembali ke halaman ganti password
  432.                 redirect('dashboard/ganti_password?alert=sukses');
  433.             }else{
  434.                 // alihkan halaman kembali ke halaman ganti password
  435.                 redirect('dashboard/ganti_password?alert=gagal');
  436.             }
  437.  
  438.         }else{
  439.             $this->load->view('dashboard/v_header');
  440.             $this->load->view('dashboard/v_ganti_password');
  441.             $this->load->view('dashboard/v_footer');
  442.         }
  443.  
  444.     }
  445.  
  446.     // CRUD KATEGORI
  447.     public function kategori()
  448.     {
  449.         $data['kategori'] = $this->m_data->get_data('kategori')->result();
  450.         $this->load->view('dashboard/v_header');
  451.         $this->load->view('dashboard/v_kategori',$data);
  452.         $this->load->view('dashboard/v_footer');
  453.     }
  454.  
  455.     public function kategori_tambah()
  456.     {
  457.         $this->load->view('dashboard/v_header');
  458.         $this->load->view('dashboard/v_kategori_tambah');
  459.         $this->load->view('dashboard/v_footer');
  460.     }
  461.  
  462.     public function kategori_aksi()
  463.     {
  464.         $this->form_validation->set_rules('kategori','Kategori','required');
  465.  
  466.         if($this->form_validation->run() != false){
  467.  
  468.             $kategori = $this->input->post('kategori');
  469.  
  470.             $data = array(
  471.                 'kategori_nama' => $kategori,
  472.                 'kategori_slug' => strtolower(url_title($kategori))
  473.             );
  474.  
  475.             $this->m_data->insert_data($data,'kategori');
  476.  
  477.             redirect(base_url().'dashboard/kategori');
  478.            
  479.         }else{
  480.             $this->load->view('dashboard/v_header');
  481.             $this->load->view('dashboard/v_kategori_tambah');
  482.             $this->load->view('dashboard/v_footer');
  483.         }
  484.     }
  485.  
  486.     public function kategori_edit($id)
  487.     {
  488.         $where = array(
  489.             'kategori_id' => $id
  490.         );
  491.         $data['kategori'] = $this->m_data->edit_data($where,'kategori')->result();
  492.         $this->load->view('dashboard/v_header');
  493.         $this->load->view('dashboard/v_kategori_edit',$data);
  494.         $this->load->view('dashboard/v_footer');
  495.     }
  496.  
  497.     public function kategori_update()
  498.     {
  499.         $this->form_validation->set_rules('kategori','Kategori','required');
  500.  
  501.         if($this->form_validation->run() != false){
  502.  
  503.             $id = $this->input->post('id');
  504.             $kategori = $this->input->post('kategori');
  505.  
  506.             $where = array(
  507.                 'kategori_id' => $id
  508.             );
  509.  
  510.             $data = array(
  511.                 'kategori_nama' => $kategori,
  512.                 'kategori_slug' => strtolower(url_title($kategori))
  513.             );
  514.  
  515.             $this->m_data->update_data($where, $data,'kategori');
  516.  
  517.             redirect(base_url().'dashboard/kategori');
  518.            
  519.         }else{
  520.  
  521.             $id = $this->input->post('id');
  522.             $where = array(
  523.                 'kategori_id' => $id
  524.             );
  525.             $data['kategori'] = $this->m_data->edit_data($where,'kategori')->result();
  526.             $this->load->view('dashboard/v_header');
  527.             $this->load->view('dashboard/v_kategori_edit',$data);
  528.             $this->load->view('dashboard/v_footer');
  529.         }
  530.     }
  531.  
  532.  
  533.     public function kategori_hapus($id)
  534.     {
  535.         $where = array(
  536.             'kategori_id' => $id
  537.         );
  538.  
  539.         $this->m_data->delete_data($where,'kategori');
  540.  
  541.         redirect(base_url().'dashboard/kategori');
  542.     }
  543.     // END CRUD KATEGORI
  544.  
  545.     // CRUD ARTIKEL
  546.     public function artikel()
  547.     {
  548.         $data['artikel'] = $this->db->query("SELECT * FROM artikel,kategori,pengguna WHERE artikel_kategori=kategori_id and artikel_author=pengguna_id order by artikel_id desc")->result();   
  549.         $this->load->view('dashboard/v_header');
  550.         $this->load->view('dashboard/v_artikel',$data);
  551.         $this->load->view('dashboard/v_footer');
  552.     }
  553.  
  554.     public function artikel_tambah()
  555.     {
  556.         $data['kategori'] = $this->m_data->get_data('kategori')->result();
  557.         $this->load->view('dashboard/v_header');
  558.         $this->load->view('dashboard/v_artikel_tambah',$data);
  559.         $this->load->view('dashboard/v_footer');
  560.     }
  561.  
  562.     public function artikel_aksi()
  563.     {
  564.         // Wajib isi judul,konten dan kategori
  565.         $this->form_validation->set_rules('judul','Judul','required|is_unique[artikel.artikel_judul]');
  566.         $this->form_validation->set_rules('konten','Konten','required');
  567.         $this->form_validation->set_rules('kategori','Kategori','required');
  568.  
  569.         // Membuat gambar wajib di isi
  570.         if (empty($_FILES['sampul']['name'])){
  571.             $this->form_validation->set_rules('sampul', 'Gambar Sampul', 'required');
  572.         }
  573.  
  574.         if($this->form_validation->run() != false){
  575.  
  576.             $config['upload_path']   = './gambar/artikel/';
  577.             $config['allowed_types'] = 'gif|jpg|png';
  578.  
  579.             $this->load->library('upload', $config);
  580.  
  581.             if ($this->upload->do_upload('sampul')) {
  582.  
  583.                 // mengambil data tentang gambar
  584.                 $gambar = $this->upload->data();
  585.  
  586.                 $tanggal = date('Y-m-d H:i:s');
  587.                 $judul = $this->input->post('judul');
  588.                 $slug = strtolower(url_title($judul));
  589.                 $konten = $this->input->post('konten');
  590.                 $sampul = $gambar['file_name'];
  591.                 $author = $this->session->userdata('id');
  592.                 $kategori = $this->input->post('kategori');
  593.                 $status = $this->input->post('status');
  594.  
  595.                 $data = array(
  596.                     'artikel_tanggal' => $tanggal,
  597.                     'artikel_judul' => $judul,
  598.                     'artikel_slug' => $slug,
  599.                     'artikel_konten' => $konten,
  600.                     'artikel_sampul' => $sampul,
  601.                     'artikel_author' => $author,
  602.                     'artikel_kategori' => $kategori,
  603.                     'artikel_status' => $status,
  604.                 );
  605.  
  606.                 $this->m_data->insert_data($data,'artikel');
  607.  
  608.                 redirect(base_url().'dashboard/artikel');  
  609.                
  610.             } else {
  611.  
  612.                 $this->form_validation->set_message('sampul', $data['gambar_error'] = $this->upload->display_errors());
  613.  
  614.                 $data['kategori'] = $this->m_data->get_data('kategori')->result();
  615.                 $this->load->view('dashboard/v_header');
  616.                 $this->load->view('dashboard/v_artikel_tambah',$data);
  617.                 $this->load->view('dashboard/v_footer');
  618.             }
  619.  
  620.         }else{
  621.             $data['kategori'] = $this->m_data->get_data('kategori')->result();
  622.             $this->load->view('dashboard/v_header');
  623.             $this->load->view('dashboard/v_artikel_tambah',$data);
  624.             $this->load->view('dashboard/v_footer');
  625.         }
  626.     }
  627.  
  628.  
  629.     public function artikel_edit($id)
  630.     {
  631.         $where = array(
  632.             'artikel_id' => $id
  633.         );
  634.         $data['artikel'] = $this->m_data->edit_data($where,'artikel')->result();
  635.         $data['kategori'] = $this->m_data->get_data('kategori')->result();
  636.         $this->load->view('dashboard/v_header');
  637.         $this->load->view('dashboard/v_artikel_edit',$data);
  638.         $this->load->view('dashboard/v_footer');
  639.     }
  640.  
  641.  
  642.     public function artikel_update()
  643.     {
  644.         // Wajib isi judul,konten dan kategori
  645.         $this->form_validation->set_rules('judul','Judul','required');
  646.         $this->form_validation->set_rules('konten','Konten','required');
  647.         $this->form_validation->set_rules('kategori','Kategori','required');
  648.        
  649.         if($this->form_validation->run() != false){
  650.  
  651.             $id = $this->input->post('id');
  652.  
  653.             $judul = $this->input->post('judul');
  654.             $slug = strtolower(url_title($judul));
  655.             $konten = $this->input->post('konten');
  656.             $kategori = $this->input->post('kategori');
  657.             $status = $this->input->post('status');
  658.  
  659.             $where = array(
  660.                 'artikel_id' => $id
  661.             );
  662.  
  663.             $data = array(
  664.                 'artikel_judul' => $judul,
  665.                 'artikel_slug' => $slug,
  666.                 'artikel_konten' => $konten,
  667.                 'artikel_kategori' => $kategori,
  668.                 'artikel_status' => $status,
  669.             );
  670.  
  671.             $this->m_data->update_data($where,$data,'artikel');
  672.  
  673.  
  674.             if (!empty($_FILES['sampul']['name'])){
  675.                 $config['upload_path']   = './gambar/artikel/';
  676.                 $config['allowed_types'] = 'gif|jpg|png';
  677.  
  678.                 $this->load->library('upload', $config);
  679.  
  680.                 if ($this->upload->do_upload('sampul')) {
  681.  
  682.                     // mengambil data tentang gambar
  683.                     $gambar = $this->upload->data();
  684.  
  685.                     $data = array(
  686.                         'artikel_sampul' => $gambar['file_name'],
  687.                     );
  688.  
  689.                     $this->m_data->update_data($where,$data,'artikel');
  690.  
  691.                     redirect(base_url().'dashboard/artikel');  
  692.  
  693.                 } else {
  694.                     $this->form_validation->set_message('sampul', $data['gambar_error'] = $this->upload->display_errors());
  695.                    
  696.                     $where = array(
  697.                         'artikel_id' => $id
  698.                     );
  699.                     $data['artikel'] = $this->m_data->edit_data($where,'artikel')->result();
  700.                     $data['kategori'] = $this->m_data->get_data('kategori')->result();
  701.                     $this->load->view('dashboard/v_header');
  702.                     $this->load->view('dashboard/v_artikel_edit',$data);
  703.                     $this->load->view('dashboard/v_footer');
  704.                 }
  705.             }else{
  706.                 redirect(base_url().'dashboard/artikel');  
  707.             }
  708.  
  709.         }else{
  710.             $id = $this->input->post('id');
  711.             $where = array(
  712.                 'artikel_id' => $id
  713.             );
  714.             $data['artikel'] = $this->m_data->edit_data($where,'artikel')->result();
  715.             $data['kategori'] = $this->m_data->get_data('kategori')->result();
  716.             $this->load->view('dashboard/v_header');
  717.             $this->load->view('dashboard/v_artikel_edit',$data);
  718.             $this->load->view('dashboard/v_footer');
  719.         }
  720.     }
  721.  
  722.     public function artikel_hapus($id)
  723.     {
  724.         $where = array(
  725.             'artikel_id' => $id
  726.         );
  727.  
  728.         $this->m_data->delete_data($where,'artikel');
  729.  
  730.         redirect(base_url().'dashboard/artikel');
  731.     }
  732.     // end crud artikel
  733.  
  734.  
  735.     // CRUD PAGES
  736.     public function pages()
  737.     {
  738.         $data['halaman'] = $this->m_data->get_data('halaman')->result();   
  739.         $this->load->view('dashboard/v_header');
  740.         $this->load->view('dashboard/v_pages',$data);
  741.         $this->load->view('dashboard/v_footer');
  742.     }
  743.  
  744.     public function pages_tambah()
  745.     {
  746.         $this->load->view('dashboard/v_header');
  747.         $this->load->view('dashboard/v_pages_tambah');
  748.         $this->load->view('dashboard/v_footer');
  749.     }
  750.  
  751.     public function pages_aksi()
  752.     {
  753.         // Wajib isi judul,konten
  754.         $this->form_validation->set_rules('judul','Judul','required|is_unique[halaman.halaman_judul]');
  755.         $this->form_validation->set_rules('konten','Konten','required');
  756.  
  757.         if($this->form_validation->run() != false){
  758.  
  759.             $judul = $this->input->post('judul');
  760.             $slug = strtolower(url_title($judul));
  761.             $konten = $this->input->post('konten');
  762.  
  763.             $data = array(
  764.                 'halaman_judul' => $judul,
  765.                 'halaman_slug' => $slug,
  766.                 'halaman_konten' => $konten
  767.             );
  768.  
  769.             $this->m_data->insert_data($data,'halaman');
  770.  
  771.             // alihkan kembali ke method pages
  772.             redirect(base_url().'dashboard/pages');
  773.  
  774.         }else{
  775.             $this->load->view('dashboard/v_header');
  776.             $this->load->view('dashboard/v_pages_tambah');
  777.             $this->load->view('dashboard/v_footer');
  778.         }
  779.     }
  780.  
  781.     public function pages_edit($id)
  782.     {
  783.         $where = array(
  784.             'halaman_id' => $id
  785.         );
  786.         $data['halaman'] = $this->m_data->edit_data($where,'halaman')->result();
  787.         $this->load->view('dashboard/v_header');
  788.         $this->load->view('dashboard/v_pages_edit',$data);
  789.         $this->load->view('dashboard/v_footer');
  790.     }
  791.  
  792.  
  793.     public function pages_update()
  794.     {
  795.         // Wajib isi judul,konten
  796.         $this->form_validation->set_rules('judul','Judul','required');
  797.         $this->form_validation->set_rules('konten','Konten','required');
  798.        
  799.         if($this->form_validation->run() != false){
  800.  
  801.             $id = $this->input->post('id');
  802.  
  803.             $judul = $this->input->post('judul');
  804.             $slug = strtolower(url_title($judul));
  805.             $konten = $this->input->post('konten');
  806.            
  807.             $where = array(
  808.                 'halaman_id' => $id
  809.             );
  810.  
  811.             $data = array(
  812.                 'halaman_judul' => $judul,
  813.                 'halaman_slug' => $slug,
  814.                 'halaman_konten' => $konten
  815.             );
  816.  
  817.             $this->m_data->update_data($where,$data,'halaman');
  818.  
  819.             redirect(base_url().'dashboard/pages');
  820.         }else{
  821.             $id = $this->input->post('id');
  822.             $where = array(
  823.                 'halaman_id' => $id
  824.             );
  825.             $data['halaman'] = $this->m_data->edit_data($where,'halaman')->result();
  826.             $this->load->view('dashboard/v_header');
  827.             $this->load->view('dashboard/v_pages_edit',$data);
  828.             $this->load->view('dashboard/v_footer');
  829.         }
  830.     }
  831.  
  832.     public function pages_hapus($id)
  833.     {
  834.         $where = array(
  835.             'halaman_id' => $id
  836.         );
  837.        
  838.         $this->m_data->delete_data($where,'halaman');
  839.  
  840.         redirect(base_url().'dashboard/pages');
  841.     }
  842.     // end crud pages
  843.  
  844.  
  845.     public function profil()
  846.     {
  847.         // id pengguna yang sedang login
  848.         $id_pengguna = $this->session->userdata('id');
  849.  
  850.         $where = array(
  851.             'pengguna_id' => $id_pengguna
  852.         );
  853.  
  854.         $data['profil'] = $this->m_data->edit_data($where,'pengguna')->result();
  855.  
  856.         $this->load->view('dashboard/v_header');
  857.         $this->load->view('dashboard/v_profil',$data);
  858.         $this->load->view('dashboard/v_footer');
  859.     }
  860.  
  861.     public function profil_update()
  862.     {
  863.         // Wajib isi nama dan email
  864.         $this->form_validation->set_rules('nama','Nama','required');
  865.         $this->form_validation->set_rules('email','Email','required');
  866.        
  867.         if($this->form_validation->run() != false){
  868.  
  869.             $id = $this->session->userdata('id');
  870.  
  871.             $nama = $this->input->post('nama');
  872.             $email = $this->input->post('email');
  873.            
  874.             $where = array(
  875.                 'pengguna_id' => $id
  876.             );
  877.  
  878.             $data = array(
  879.                 'pengguna_nama' => $nama,
  880.                 'pengguna_email' => $email
  881.             );
  882.  
  883.             $this->m_data->update_data($where,$data,'pengguna');
  884.  
  885.             redirect(base_url().'dashboard/profil/?alert=sukses');
  886.         }else{
  887.             // id pengguna yang sedang login
  888.             $id_pengguna = $this->session->userdata('id');
  889.  
  890.             $where = array(
  891.                 'pengguna_id' => $id_pengguna
  892.             );
  893.  
  894.             $data['profil'] = $this->m_data->edit_data($where,'pengguna')->result();
  895.  
  896.             $this->load->view('dashboard/v_header');
  897.             $this->load->view('dashboard/v_profil',$data);
  898.             $this->load->view('dashboard/v_footer');
  899.         }
  900.     }
  901.  
  902.  
  903.     public function pengaturan()
  904.     {
  905.         $data['pengaturan'] = $this->m_data->get_data('pengaturan')->result();
  906.  
  907.         $this->load->view('dashboard/v_header');
  908.         $this->load->view('dashboard/v_pengaturan',$data);
  909.         $this->load->view('dashboard/v_footer');
  910.     }
  911.  
  912.  
  913.     public function pengaturan_update()
  914.     {
  915.         // Wajib isi nama dan deskripsi website
  916.         $this->form_validation->set_rules('nama','Nama Website','required');
  917.         $this->form_validation->set_rules('deskripsi','Deskripsi Website','required');
  918.        
  919.         if($this->form_validation->run() != false){
  920.  
  921.             $nama = $this->input->post('nama');
  922.             $deskripsi = $this->input->post('deskripsi');
  923.             $link_facebook = $this->input->post('link_facebook');
  924.             $link_twitter = $this->input->post('link_twitter');
  925.             $link_instagram = $this->input->post('link_instagram');
  926.             $link_github = $this->input->post('link_github');
  927.  
  928.             $where = array(
  929.  
  930.             );
  931.  
  932.             $data = array(
  933.                 'nama' => $nama,
  934.                 'deskripsi' => $deskripsi,
  935.                 'link_facebook' => $link_facebook,
  936.                 'link_twitter' => $link_twitter,
  937.                 'link_instagram' => $link_instagram,
  938.                 'link_github' => $link_github
  939.             );
  940.  
  941.             // update pengaturan
  942.             $this->m_data->update_data($where,$data,'pengaturan');
  943.  
  944.             // Periksa apakah ada gambar logo yang diupload
  945.             if (!empty($_FILES['logo']['name'])){
  946.                
  947.                 $config['upload_path']   = './gambar/website/';
  948.                 $config['allowed_types'] = 'jpg|png';
  949.  
  950.                 $this->load->library('upload', $config);
  951.  
  952.                 if ($this->upload->do_upload('logo')) {
  953.                     // mengambil data tentang gambar logo yang diupload
  954.                     $gambar = $this->upload->data();
  955.  
  956.                     $logo = $gambar['file_name'];
  957.                    
  958.                     $this->db->query("UPDATE pengaturan SET logo='$logo'");
  959.                 }
  960.             }
  961.  
  962.             redirect(base_url().'dashboard/pengaturan/?alert=sukses');
  963.  
  964.         }else{
  965.             $data['pengaturan'] = $this->m_data->get_data('pengaturan')->result();
  966.  
  967.             $this->load->view('dashboard/v_header');
  968.             $this->load->view('dashboard/v_pengaturan',$data);
  969.             $this->load->view('dashboard/v_footer');
  970.         }
  971.     }
  972.  
  973.     // CRUD PENGGUNA
  974.     public function pengguna()
  975.     {
  976.         $data['pengguna'] = $this->m_data->get_data('pengguna')->result(); 
  977.         $this->load->view('dashboard/v_header');
  978.         $this->load->view('dashboard/v_pengguna',$data);
  979.         $this->load->view('dashboard/v_footer');
  980.     }
  981.  
  982.     public function pengguna_tambah()
  983.     {
  984.         $this->load->view('dashboard/v_header');
  985.         $this->load->view('dashboard/v_pengguna_tambah');
  986.         $this->load->view('dashboard/v_footer');
  987.     }
  988.  
  989.     public function pengguna_aksi()
  990.     {
  991.         // Wajib isi
  992.         $this->form_validation->set_rules('nama','Nama Pengguna','required');
  993.         $this->form_validation->set_rules('email','Email Pengguna','required');
  994.         $this->form_validation->set_rules('username','Username Pengguna','required');
  995.         $this->form_validation->set_rules('password','Password Pengguna','required|min_length[8]');
  996.         $this->form_validation->set_rules('level','Level Pengguna','required');
  997.         $this->form_validation->set_rules('status','Status Pengguna','required');
  998.  
  999.         if($this->form_validation->run() != false){
  1000.  
  1001.             $nama = $this->input->post('nama');
  1002.             $email = $this->input->post('email');
  1003.             $username = $this->input->post('username');
  1004.             $password = md5($this->input->post('password'));
  1005.             $level = $this->input->post('level');
  1006.             $status = $this->input->post('status');
  1007.  
  1008.             $data = array(
  1009.                 'pengguna_nama' => $nama,
  1010.                 'pengguna_email' => $email,
  1011.                 'pengguna_username' => $username,
  1012.                 'pengguna_password' => $password,
  1013.                 'pengguna_level' => $level,
  1014.                 'pengguna_status' => $status
  1015.             );
  1016.  
  1017.  
  1018.             $this->m_data->insert_data($data,'pengguna');
  1019.  
  1020.             redirect(base_url().'dashboard/pengguna'); 
  1021.  
  1022.         }else{
  1023.             $this->load->view('dashboard/v_header');
  1024.             $this->load->view('dashboard/v_pengguna_tambah');
  1025.             $this->load->view('dashboard/v_footer');
  1026.         }
  1027.     }
  1028.  
  1029.     public function pengguna_edit($id)
  1030.     {
  1031.         $where = array(
  1032.             'pengguna_id' => $id
  1033.         );
  1034.         $data['pengguna'] = $this->m_data->edit_data($where,'pengguna')->result();
  1035.         $this->load->view('dashboard/v_header');
  1036.         $this->load->view('dashboard/v_pengguna_edit',$data);
  1037.         $this->load->view('dashboard/v_footer');
  1038.     }
  1039.  
  1040.  
  1041.     public function pengguna_update()
  1042.     {
  1043.         // Wajib isi
  1044.         $this->form_validation->set_rules('nama','Nama Pengguna','required');
  1045.         $this->form_validation->set_rules('email','Email Pengguna','required');
  1046.         $this->form_validation->set_rules('username','Username Pengguna','required');
  1047.         $this->form_validation->set_rules('level','Level Pengguna','required');
  1048.         $this->form_validation->set_rules('status','Status Pengguna','required');
  1049.  
  1050.         if($this->form_validation->run() != false){
  1051.  
  1052.             $id = $this->input->post('id');
  1053.  
  1054.             $nama = $this->input->post('nama');
  1055.             $email = $this->input->post('email');
  1056.             $username = $this->input->post('username');
  1057.             $password = md5($this->input->post('password'));
  1058.             $level = $this->input->post('level');
  1059.             $status = $this->input->post('status');
  1060.  
  1061.             if($this->input->post('password') == ""){
  1062.                 $data = array(
  1063.                     'pengguna_nama' => $nama,
  1064.                     'pengguna_email' => $email,
  1065.                     'pengguna_username' => $username,
  1066.                     'pengguna_level' => $level,
  1067.                     'pengguna_status' => $status
  1068.                 );
  1069.             }else{
  1070.                 $data = array(
  1071.                     'pengguna_nama' => $nama,
  1072.                     'pengguna_email' => $email,
  1073.                     'pengguna_username' => $username,
  1074.                     'pengguna_password' => $password,
  1075.                     'pengguna_level' => $level,
  1076.                     'pengguna_status' => $status
  1077.                 );
  1078.             }
  1079.            
  1080.             $where = array(
  1081.                 'pengguna_id' => $id
  1082.             );
  1083.  
  1084.             $this->m_data->update_data($where,$data,'pengguna');
  1085.  
  1086.             redirect(base_url().'dashboard/pengguna');
  1087.         }else{
  1088.             $id = $this->input->post('id');
  1089.             $where = array(
  1090.                 'pengguna_id' => $id
  1091.             );
  1092.             $data['pengguna'] = $this->m_data->edit_data($where,'pengguna')->result();
  1093.             $this->load->view('dashboard/v_header');
  1094.             $this->load->view('dashboard/v_pengguna_edit',$data);
  1095.             $this->load->view('dashboard/v_footer');
  1096.         }
  1097.     }
  1098.  
  1099.     public function pengguna_hapus($id)
  1100.     {
  1101.         $where = array(
  1102.             'pengguna_id' => $id
  1103.         );
  1104.         $data['pengguna_hapus'] = $this->m_data->edit_data($where,'pengguna')->row();
  1105.         $data['pengguna_lain'] = $this->db->query("SELECT * FROM pengguna WHERE pengguna_id != $id")->result();
  1106.         $this->load->view('dashboard/v_header');
  1107.         $this->load->view('dashboard/v_pengguna_hapus',$data);
  1108.         $this->load->view('dashboard/v_footer');
  1109.     }
  1110.  
  1111.     public function pengguna_hapus_aksi()
  1112.     {
  1113.         $pengguna_hapus = $this->input->post('pengguna_hapus');
  1114.         $pengguna_tujuan = $this->input->post('pengguna_tujuan');
  1115.  
  1116.         // hapus pengguna
  1117.         $where = array(
  1118.             'pengguna_id' => $pengguna_hapus
  1119.         );
  1120.  
  1121.         $this->m_data->delete_data($where,'pengguna');
  1122.  
  1123.         // pindahkan semua artikel pengguna yang dihapus ke pengguna yang dipilih
  1124.         $w = array(
  1125.             'artikel_author' => $pengguna_hapus
  1126.         );
  1127.  
  1128.         $d = array(
  1129.             'artikel_author' => $pengguna_tujuan
  1130.         );
  1131.  
  1132.         $this->m_data->update_data($w,$d,'artikel');
  1133.  
  1134.         redirect(base_url().'dashboard/pengguna');
  1135.     }
  1136.     // end crud pengguna
  1137.    
  1138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement