⚝
One Hat Cyber Team
⚝
Your IP:
192.168.31.6
Server IP:
192.168.1.11
Server:
Linux pams 6.1.0-29-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
PHP Version:
8.2.28
Buat File
|
Buat Folder
Upload File
Eksekusi
Dir :
~
/
var
/
www
/
lppm
/
Modules
/
Users
/
Controllers
/
Viewing : Users.php
<?php namespace Modules\Users\Controllers; use App\Controllers\BaseController; use Ramsey\Uuid\Uuid; class Users extends BaseController { public function index() { $data['title'] = 'User'; return view('backend', $data); /*$data['title'] = 'User'; $data['li_1'] = 'Daftar User'; $data['body'] = 'Modules\Users\Views\list'; $db = $this->db->table('user'); //$level = ['', 'Super Admin', 'Operator', 'Keuangan', 'Wali/Siswa']; if(session('level') != '1'){ $db->where('id', session('id')); } $data['users'] = $db->get()->getResult(); return view('template', $data); */ } public function add(){ $p = $this->request->getPost(); $rules = [ 'nama' => [ 'label' => 'Nama Lengkap', 'rules' => 'required|regex_match[/^[\p{Latin}\p{Arabic}\s]+$/u]|min_length[3]|max_length[100]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'regex_match' => '{field} hanya boleh berisi huruf (Latin & Arab) dan spasi.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'username' => [ 'label' => 'Username', 'rules' => 'required|alpha_numeric|min_length[5]|max_length[30]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'alpha_numeric' => '{field} hanya boleh berisi huruf dan angka.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'password' => [ 'label' => 'Password', 'rules' => 'required|min_length[8]|max_length[255]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'konfirmasi_password' => [ 'label' => 'Konfirmasi Password', 'rules' => 'required|matches[password]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'matches' => '{field} tidak cocok dengan password.', ], ], 'level' => [ 'label' => 'Level Akun', 'rules' => 'required|in_list[1,2,3,4]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'in_list' => '{field} harus salah satu dari: admin atau user.', ], ], ]; if (! $this->validateData($p,$rules)) { session()->setFlashData(gagal(form_error($this->validator->getErrors()))); return redirect()->to(base_url('admin/user')); } $p['password'] = password_hash($p['password'], PASSWORD_DEFAULT); $id = Uuid::uuid4()->toString(); $d = [ 'id' => $id, 'nama' => $p['nama'], 'un' => $p['username'], 'pass' => $p['password'], 'level' => $p['level'] ]; if($this->db->table('user')->insert($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect('admin/user'); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect('admin/user'); } } public function reset(){ $p = $this->request->getPost(); $rules = [ 'password' => [ 'label' => 'Password', 'rules' => 'required|min_length[8]|max_length[255]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'konfirmasi_password' => [ 'label' => 'Konfirmasi Password', 'rules' => 'required|matches[password]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'matches' => '{field} tidak cocok dengan password.', ], ] ]; if (! $this->validateData($p,$rules)) { session()->setFlashData(gagal(form_error($this->validator->getErrors()))); return redirect()->to(base_url('admin/user')); } $p['password'] = password_hash($p['password'], PASSWORD_DEFAULT); $d = [ 'pass' => $p['password'] ]; if($this->db->table('user')->where('id', $p['data_id'])->update($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect()->to(base_url('admin/user')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('admin/user')); } } public function delete($id = null){ if($this->db->table('user')->where('id', $id)->delete()){ session()->setFlashData(success('Berhasil Mengapus Data')); return redirect()->to(base_url('admin/user')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('admin/user')); } } public function get($id = null){ $d = $this->db->table('user')->where('id', $id)->get()->getRow(); return json_encode($d); } public function edit(){ $p = $this->request->getPost(); $rules = [ 'nama' => [ 'label' => 'Nama Lengkap', 'rules' => 'required|alpha_space|min_length[3]|max_length[100]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'alpha_space' => '{field} hanya boleh berisi huruf dan spasi.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'username' => [ 'label' => 'Username', 'rules' => 'required|alpha_numeric|min_length[5]|max_length[30]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'alpha_numeric' => '{field} hanya boleh berisi huruf dan angka.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'level' => [ 'label' => 'Level Akun', 'rules' => 'required|in_list[1,2,3,4]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'in_list' => '{field} harus salah satu dari: admin atau user.', ], ], ]; if (! $this->validateData($p,$rules)) { session()->setFlashData(gagal(form_error($this->validator->getErrors()))); return redirect()->to(base_url('user')); } $d = [ 'nama' => $p['nama'], 'un' => $p['username'], 'level' => $p['level'] ]; if($this->db->table('user')->where('id', $p['data_id'])->update($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect()->to(base_url('admin/user')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('admin/user')); } } public function login() { return view('Modules\Users\Views\login'); } public function act(){ $p = $this->request->getPost(); $rules = [ 'username' => [ 'label' => 'Username', 'rules' => 'required|min_length[3]|max_length[100]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'password' => [ 'label' => 'Password', 'rules' => 'required|min_length[8]|max_length[255]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], ]; if (! $this->validateData($p,$rules)) { session()->setFlashData(gagal(form_error($this->validator->getErrors()))); return redirect()->to(base_url('login')); } $builder = $this->db->table('user'); $user = $builder->where(['un' => $p['username']])->get()->getRow(); if (!$user) { session()->setFlashData(gagal('User tidak ditemukan')); return redirect()->to(base_url('login')); } $pass = $p['password']; if (!password_verify($pass, $user->pass)) { // Password salah session()->setFlashData(gagal('Password Salah')); return redirect()->to(base_url('login')); } $tahun = $this->db->table('tahun')->where('status', 1)->get()->getRow(); $userData = [ 'id' => $user->id, 'nama' => $user->nama, 'tahun' => $tahun->kode, 'logged_in' => TRUE ]; session()->set($userData); session()->setFlashData(success('Login Berhasil, Mengarahkan ke Dashboard')); return redirect()->to(base_url('admin/dashboard')); } public function logout(){ session()->destroy(); session()->setFlashData(success('Logout Berhasil, Mengarahkan ke Login')); return redirect()->to(base_url('login')); } }