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 :


<?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']);
}
?>



Selanjutnya : Membuat Aplikasi Klinik #20 - Menyiapkan module untuk admin pendaftaran

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