288 lines
8.9 KiB
PHP
288 lines
8.9 KiB
PHP
<?php
|
|
namespace App\Controllers\Admin;
|
|
|
|
use CodeIgniter\Controller;
|
|
use App\Models\Menu_model;
|
|
use App\Models\Sub_menu_model;
|
|
use App\Models\Konfigurasi_model;
|
|
|
|
class Menu extends BaseController
|
|
{
|
|
|
|
// mainpage
|
|
public function index()
|
|
{
|
|
|
|
$m_menu = new Menu_model();
|
|
$m_sub_menu = new Sub_menu_model();
|
|
$m_konfigurasi = new Konfigurasi_model();
|
|
$menu = $m_menu->listing();
|
|
$total = $m_menu->total();
|
|
$konfigurasi = $m_konfigurasi->listing();
|
|
$id_konfigurasi = $konfigurasi->id_konfigurasi;
|
|
$menu = $m_menu->listing();
|
|
$total = $m_menu->total();
|
|
$menu_akhir = $m_menu->akhir();
|
|
if($menu_akhir) {
|
|
$urutan = $menu_akhir->urutan+1;
|
|
}else{
|
|
$urutan = 1;
|
|
}
|
|
|
|
// update menu
|
|
if(isset($_POST['updateMenu'])) {
|
|
$data = [ 'id_konfigurasi' => $konfigurasi->id_konfigurasi,
|
|
'id_user' => $this->session->get('id_user'),
|
|
'menu_home' => $this->request->getPost('menu_home'),
|
|
'menu_berita' => $this->request->getPost('menu_berita'),
|
|
'menu_profil' => $this->request->getPost('menu_profil'),
|
|
'menu_prestasi' => $this->request->getPost('menu_prestasi'),
|
|
'menu_galeri' => $this->request->getPost('menu_galeri'),
|
|
'menu_unduhan' => $this->request->getPost('menu_unduhan'),
|
|
'menu_tautan' => $this->request->getPost('menu_tautan'),
|
|
'menu_kontak' => $this->request->getPost('menu_kontak')
|
|
];
|
|
$m_konfigurasi->edit($data);
|
|
// masuk database
|
|
$this->session->setFlashdata('sukses','Data menu telah diupdate');
|
|
return redirect()->to(base_url('admin/menu'));
|
|
}
|
|
|
|
// update menu
|
|
if(isset($_POST['posisiMenu'])) {
|
|
$data = [ 'id_konfigurasi' => $konfigurasi->id_konfigurasi,
|
|
'id_user' => $this->session->get('id_user'),
|
|
'letak_menu' => $this->request->getPost('letak_menu')
|
|
];
|
|
$m_konfigurasi->edit($data);
|
|
// masuk database
|
|
$this->session->setFlashdata('sukses','Letak menu tambahan telah diupdate');
|
|
return redirect()->to(base_url('admin/menu'));
|
|
}
|
|
// end update menu
|
|
// Start validasi
|
|
if($this->request->getMethod() === 'post' && $this->validate(
|
|
[
|
|
'nama_menu' => 'required|min_length[3]',
|
|
])) {
|
|
// masuk database
|
|
if($this->request->getPost('jenis')=='menu') {
|
|
$data = [ 'id_user' => $this->session->get('id_user'),
|
|
'nama_menu' => $this->request->getPost('nama_menu'),
|
|
'icon' => $this->request->getPost('icon'),
|
|
'link' => $this->request->getPost('link'),
|
|
'urutan' => $this->request->getPost('urutan'),
|
|
'keterangan' => $this->request->getPost('keterangan'),
|
|
'status_menu' => $this->request->getPost('status_menu')
|
|
];
|
|
$m_menu->tambah($data);
|
|
}else{
|
|
$data = [ 'id_user' => $this->session->get('id_user'),
|
|
'id_menu' => $this->request->getPost('id_menu'),
|
|
'nama_sub_menu' => $this->request->getPost('nama_menu'),
|
|
'urutan' => $this->request->getPost('urutan'),
|
|
'link' => $this->request->getPost('link'),
|
|
'icon' => $this->request->getPost('icon'),
|
|
'keterangan' => $this->request->getPost('keterangan'),
|
|
'status_sub_menu' => $this->request->getPost('status_sub_menu')
|
|
];
|
|
$m_sub_menu->tambah($data);
|
|
}
|
|
// masuk database
|
|
$this->session->setFlashdata('sukses','Data telah ditambah');
|
|
return redirect()->to(base_url('admin/menu'));
|
|
}else{
|
|
$data = [ 'title' => 'Master Menu: '.$total->total,
|
|
'menu' => $menu,
|
|
'menu2' => $menu,
|
|
'm_sub_menu' => $m_sub_menu,
|
|
'urutan' => $urutan,
|
|
'konfigurasi' => $konfigurasi,
|
|
'content' => 'admin/menu/index'
|
|
];
|
|
echo view('admin/layout/wrapper',$data);
|
|
}
|
|
}
|
|
|
|
// urutkan
|
|
public function urutkan()
|
|
{
|
|
$m_menu = new Menu_model();
|
|
$m_sub_menu = new Sub_menu_model();
|
|
$menu = $m_menu->listing();
|
|
$total = $m_menu->total();
|
|
|
|
if(isset($_POST['page_id_array']))
|
|
{
|
|
for($i=0; $i<count($_POST["page_id_array"]); $i++)
|
|
{
|
|
$data = [ 'id_menu' => $_POST["page_id_array"][$i],
|
|
'id_user' => $this->session->get('id_user'),
|
|
'urutan' => $i
|
|
];
|
|
$m_menu->edit($data);
|
|
}
|
|
$this->session->setFlashdata('sukses','Data telah diurutkan');
|
|
return redirect()->to(base_url('admin/menu/urutkan'));
|
|
}else{
|
|
$data = [ 'title' => 'Urutkan Menu Aplikasi',
|
|
'menu' => $menu,
|
|
'menu2' => $menu,
|
|
'm_sub_menu' => $m_sub_menu,
|
|
'content' => 'admin/menu/urutkan'
|
|
];
|
|
return view('admin/layout/wrapper',$data);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
// urutkan
|
|
public function urutkan_sub($id_menu)
|
|
{
|
|
$m_menu = new Menu_model();
|
|
$m_sub_menu = new Sub_menu_model();
|
|
$menu = $m_menu->detail($id_menu);
|
|
$sub_menu = $m_sub_menu->menu($id_menu);
|
|
|
|
if(isset($_POST['page_id_array']))
|
|
{
|
|
for($i=0; $i<count($_POST["page_id_array"]); $i++)
|
|
{
|
|
$data = [ 'id_sub_menu' => $_POST["page_id_array"][$i],
|
|
'id_user' => $this->session->get('id_user'),
|
|
'urutan' => $i
|
|
];
|
|
$m_sub_menu->edit($data);
|
|
}
|
|
$this->session->setFlashdata('sukses','Data telah diurutkan');
|
|
return redirect()->to(base_url('admin/menu/urutkan_sub/'.$id_menu));
|
|
}else{
|
|
$data = [ 'title' => 'Urutkan Sub Menu Aplikasi: '.$menu->nama_menu,
|
|
'menu' => $menu,
|
|
'sub_menu' => $sub_menu,
|
|
'm_sub_menu' => $m_sub_menu,
|
|
'content' => 'admin/menu/urutkan_sub'
|
|
];
|
|
return view('admin/layout/wrapper',$data);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
// edit
|
|
public function edit($id_menu)
|
|
{
|
|
$m_menu = new Menu_model();
|
|
$menu = $m_menu->detail($id_menu);
|
|
|
|
// Start validasi
|
|
if($this->request->getMethod() === 'post' && $this->validate(
|
|
[
|
|
'nama_menu' => 'required|min_length[3]',
|
|
])) {
|
|
// masuk database
|
|
$data = [ 'id_menu' => $id_menu,
|
|
'id_user' => $this->session->get('id_user'),
|
|
'nama_menu' => $this->request->getPost('nama_menu'),
|
|
'icon' => $this->request->getPost('icon'),
|
|
'link' => $this->request->getPost('link'),
|
|
'urutan' => $this->request->getPost('urutan'),
|
|
'keterangan' => $this->request->getPost('keterangan'),
|
|
'status_menu' => $this->request->getPost('status_menu')
|
|
];
|
|
$m_menu->edit($data);
|
|
// masuk database
|
|
$this->session->setFlashdata('sukses','Data telah diedit');
|
|
return redirect()->to(base_url('admin/menu'));
|
|
}else{
|
|
$data = [ 'title' => 'Edit menu: '.$menu->nama_menu,
|
|
'menu' => $menu,
|
|
'content' => 'admin/menu/edit'
|
|
];
|
|
echo view('admin/layout/wrapper',$data);
|
|
}
|
|
}
|
|
|
|
// edit
|
|
public function sub()
|
|
{
|
|
$id_menu = $_GET['q'];
|
|
$m_menu = new Menu_model();
|
|
$m_sub_menu = new Sub_menu_model();
|
|
$menu = $m_menu->detail($id_menu);
|
|
$sub_menu = $m_sub_menu->akhir_menu($id_menu);
|
|
if($sub_menu) {
|
|
$urutan = $sub_menu->urutan+1;
|
|
}else{
|
|
$urutan = 1;
|
|
}
|
|
echo '<input type="number" name="urutan" class="form-control" placeholder="Nomor urut" value="'.$urutan.'">';
|
|
}
|
|
|
|
// edit
|
|
public function edit_sub($id_sub_menu)
|
|
{
|
|
$m_menu = new Menu_model();
|
|
$m_sub_menu = new Sub_menu_model();
|
|
$menu = $m_menu->listing();
|
|
$sub_menu = $m_sub_menu->detail($id_sub_menu);
|
|
|
|
// Start validasi
|
|
if($this->request->getMethod() === 'post' && $this->validate(
|
|
[
|
|
'nama_menu' => 'required|min_length[3]',
|
|
])) {
|
|
// masuk database
|
|
$data = [ 'id_sub_menu' => $id_sub_menu,
|
|
'id_user' => $this->session->get('id_user'),
|
|
'id_menu' => $this->request->getPost('id_menu'),
|
|
'nama_sub_menu' => $this->request->getPost('nama_menu'),
|
|
'urutan' => $this->request->getPost('urutan'),
|
|
'link' => $this->request->getPost('link'),
|
|
'icon' => $this->request->getPost('icon'),
|
|
'keterangan' => $this->request->getPost('keterangan'),
|
|
'status_sub_menu' => $this->request->getPost('status_sub_menu')
|
|
];
|
|
$m_sub_menu->edit($data);
|
|
// masuk database
|
|
$this->session->setFlashdata('sukses','Data telah diedit');
|
|
return redirect()->to(base_url('admin/menu'));
|
|
}else{
|
|
$data = [ 'title' => 'Edit sub menu: '.$sub_menu->nama_sub_menu,
|
|
'menu2' => $menu,
|
|
'sub_menu' => $sub_menu,
|
|
'content' => 'admin/menu/edit-sub'
|
|
];
|
|
echo view('admin/layout/wrapper',$data);
|
|
}
|
|
}
|
|
|
|
// delete
|
|
public function delete($id_menu)
|
|
{
|
|
// $this->simple_login->checklogin();
|
|
// $this->simple_login->checkadmin();
|
|
$m_menu = new Menu_model();
|
|
$m_sub_menu = new Sub_menu_model();
|
|
$data = ['id_menu' => $id_menu];
|
|
$m_menu->delete($data);
|
|
$m_sub_menu->hapus($data);
|
|
// masuk database
|
|
$this->session->setFlashdata('sukses','Data telah dihapus');
|
|
return redirect()->to(base_url('admin/menu'));
|
|
}
|
|
|
|
// delete
|
|
public function delete_sub($id_sub_menu)
|
|
{
|
|
// $this->simple_login->checklogin();
|
|
// $this->simple_login->checkadmin();
|
|
$m_sub_menu = new Sub_menu_model();
|
|
$data = ['id_sub_menu' => $id_sub_menu];
|
|
$m_sub_menu->delete($data);
|
|
// masuk database
|
|
$this->session->setFlashdata('sukses','Data telah dihapus');
|
|
return redirect()->to(base_url('admin/menu'));
|
|
}
|
|
} |