Membuat Aplikasi Klinik #19 - Mengatur Hak Akses Module
Setelah sebelumnya kita selesai membuat halaman login dan logout untuk aplikasi klinik yang telah kita buat maka selanjutnya disini kita akan belajar bagaimana mengatur hak akses module untuk setiap rolenya. Maksud dari mengatur hak akses module disini berarti kita akan membedakan akses module untuk setiap rolenya secara berbeda
Peratama kita modifikasi variabel $module pada file Splautoload.php menjadi seperti berikut :
$module = new Moduleload($app, $obj, $obj2, $themes,$crud);
Kemudian setelahnya kita modifikasi file Moduleload.php menjadi seperti berikut :
<?php
/**
* Bagian ini digunakan untuk meregister atau meload modul - modul
* pada setiap parameter url yang diakses, Anda bisa memiliah dan memilih
* modul mana saja yang akan digunakan untuk diakses pada suatu halaman,
* setiap modul akan diakses pada setiap request seperti $this->app->get('page')
* lalu kemudian Anda bisa memanggil nama module atau fungsi yang dibutuhkan
* yang sudah anda tambahkan midal pada folder core, load atau public.
*
**/
class Moduleload extends Moduleparsing
{
protected $app;
protected $obj;
protected $obj2;
protected $themes;
protected $crud;
public function __construct($app, $obj, $obj2, $themes, $crud)
{
$this->app = $app;
$this->obj = $obj;
$this->obj2 = $obj2;
$this->themes = $themes;
$this->crud = $crud;
}
}
Selanjutnya buka file Appscostum.php kemudian tambahkan fungsi seperti berikut :
public function leftjoin_rolecek($user)
{
try
{
$sql = "SELECT *, role_module FROM users
LEFT JOIN users_role ON users_role.role_id=users.role_id
WHERE user_id=:user_id";
$stmt=$this->link->prepare($sql);
$stmt->bindParam(":user_id", $user);
$stmt->execute();
$this->row = $stmt->fetch(PDO::FETCH_ASSOC);
return $this->row;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
Lalu buat file baru pada folder core dengan nama Moduleparsing.php 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':
echo '<h1>INI ADMIN PENDAFTARAN</h1>';
break;
default:
echo "ROLE NOT SELECTED !";
break;
}
}
}
}
Terkahir buka file index.php yang terdapat pada folder user, kemudian modifikasi atu rubah menjadi seperti berikut :
Selanjutnya : Membuat Aplikasi Klinik #20 - Menyiapkan module untuk admin pendaftaran<?php require "../database/Settings.php"; require "../app/core/Splautoload.php"; session_set_save_handler($handler,true); session_start(); if(empty($handler->read(session_id()))) { header("location:../"); } else { $_SESSION['created']=time(); $module->Runuser('../',$_SESSION['user_id']); } ?>
0 Response to "Membuat Aplikasi Klinik #19 - Mengatur Hak Akses Module"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin