Membuat Aplikasi Klinik #20 - Menyiapkan module untuk admin pendaftaran
Setelah hak akses ke module dibagi - bagi berdasarkan module seperti yang sudah dijelaskan pada artikel sebelumnya tentang Membuat Aplikasi Klinik #19 - Mengatur Hak Akses Module maka selanjutnya disini kita akan terlebih dahulu menyiapkan module untuk role Admin Pendaftaran atau lebih tepatnya bagian Administrasi
Pertama - tama pada folder Anda perlu membuat folder dengan administrasi kemudian selanjutnya buat sebuah file didalamnya dengan nama Navadministrasi.php seperti berikut :
<?php
class Navadministrasi
{
public function administrasi_sidebar($path='')
{
?>
<!-- Main Sidebar Container -->
<aside class="main-sidebar sidebar-dark-primary elevation-4">
<!-- Brand Logo -->
<a href="?page=home" class="brand-link">
<img src="<?=$path?>content/web/<?=$this->info['klinik_logo']?>" alt="AdminLTE Logo" class="brand-image img-circle elevation-3" style="opacity: .8">
<span class="brand-text font-weight-light"><?=$this->info['klinik_name']?></span>
</a>
<!-- Sidebar -->
<div class="sidebar">
<!-- Sidebar user panel (optional) -->
<div class="user-panel mt-3 pb-3 mb-3 d-flex">
<div class="image">
<img src="<?=$path?>themes/adminlte/dist/img/user2-160x160.jpg" class="img-circle elevation-2" alt="User Image">
</div>
<div class="info">
<a href="#" class="d-block">Alexander Pierce</a>
</div>
</div>
<!-- SidebarSearch Form -->
<div class="form-inline">
<div class="input-group" data-widget="sidebar-search">
<input class="form-control form-control-sidebar" type="search" placeholder="Search" aria-label="Search">
<div class="input-group-append">
<button class="btn btn-sidebar">
<i class="fas fa-search fa-fw"></i>
</button>
</div>
</div>
</div>
<!-- Sidebar Menu -->
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<li class="nav-item">
<a href="?page=home" class="nav-link active">
<i class="nav-icon fas fa-tachometer-alt"></i>
<p>
Dashboard
</p>
</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link">
<i class="nav-icon fas fa-chart-pie"></i>
<p>
Pasien
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="?page=semua_pasien" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Semua pasien</p>
</a>
</li>
<li class="nav-item">
<a href="?page=pasien_tambah" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>Tambah pasien</p>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="?page=antrian" class="nav-link">
<i class="nav-icon fas fa-copy"></i>
<p>
Antrian
</p>
</a>
</li>
</ul>
</nav>
<!-- /.sidebar-menu -->
</div>
<!-- /.sidebar -->
</aside>
<?php
}
}
Kemudian setelahnya Anda perlu memodifikasi file Splautoload.php untuk menmbahkan path administrasi sehingga filenya nanti akan terlihat seperti berikut
spl_autoload_register(function($className)
{
$list_direktori = array
(
'/',
'/../../database/',
'/../load/',
'/../auth/',
'/../load/admin/',
'/../load/administrasi/',
'/../auth/',
);
foreach($list_direktori as $list)
{
if(is_readable(__DIR__.$list.$className.'.php')) {
require_once(__DIR__.$list.$className.'.php');
}
}
});
Kemudian pada folder core juga buat sebuah file baru dengan nama Runadministrasi.php
<?php
class Runadministrasi
{
public function ModuleAdministrasi($path, $user)
{
$this->app->getEmpty('page');
$this->themes->head($path, $this->app->get('page'));
$this->themes->css($path);
$this->themes->admin_nav_header($path);
$this->themes->administrasi_sidebar($path);
switch ($this->app->get('page'))
{
case 'home':
$this->crud->pasien_table_index();
break;
case 'semua_pasien':
$this->crud->pasien_table_index();
break;
case 'pasien_tambah':
$this->crud->pasien_index();
break;
case 'pasien_edit':
$this->crud->pasien_edit_index($this->app->get('pasien_id'));
break;
case 'pasien_delete':
$this->crud->pasien_delete($this->app->get('pasien_id'));
break;
case 'pasien_riwayat':
$this->crud->pasien_riwayat_table_index($this->app->get('pasien_id'));
$this->crud->pasien_riwayat_modal();
break;
case 'pasien_riwayat_tambah':
$this->crud->pasien_riwayat_index($this->app->get('pasien_id'));
break;
case 'pasien_riwayat_delete':
$this->crud->pasien_riwayat_delete($this->app->get('riwayat_id'));
break;
//antrian
case 'antrian':
$this->crud->pasien_antrian_index();
break;
case 'antrian_menunggu':
$this->crud->pasien_table_antrian_menunggu();
break;
case 'antrian_selesai':
$this->crud->pasien_table_antrian_selesai();
break;
case 'antrian_delete':
$this->crud->pasien_antrian_delete($this->app->get('antrian_id'));
break;
default:
$this->crud->pasien_table_index();
break;
}
$this->crud->modal_logout();
$this->themes->footer($path);
$this->crud->pasien_riwayat_ajax('app/load/ajax/Detailriwayat.php');
}
}
Kemudian buka file Moduleparsing.php kemudian tambahkan module yang sudah dibuat pada statement untuk role administrasi seperti berikut :
<?php
class Moduleparsing extends Runadmin
{
private $user;
protected function getuser_data($user)
{
$this->user = $this->obj2->leftjoin_rolecek($user);
return $this->user;
}
public function Runuser($path=null, $user)
{
if(!empty($this->getuser_data($user)))
{
switch ($this->user['role_module']){
case 'admin':
Moduleparsing::Moduleadmin($path, $this->user);
break;
case 'dokter':
echo '<h1>INI DOKTER</h1>';
break;
case 'administrasi':
Moduleparsing::ModuleAdministrasi($path, $this->user);
break;
default:
echo "ROLE NOT SELECTED !";
break;
}
}
}
}
Terakhir tambahkan beberapa extends ke file - file yang sebelumnya tersedia diantaranya Runadmin.php
<?php
class Navadmin extends Navadministrasi
{
<?php
class Runadmin extends Runadministrasi
{
0 Response to "Membuat Aplikasi Klinik #20 - Menyiapkan module untuk admin pendaftaran"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin