⚝
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
/
miu
/
modules
/
Transaksi
/
Controllers
/
Edit File: Transaksi.php
<?php namespace Modules\Transaksi\Controllers; use App\Controllers\BaseController; use Ramsey\Uuid\Uuid; class Transaksi extends BaseController { public function index() { $data['title'] = 'Transaksi'; $data['li_1'] = 'Daftar Transaksi'; $data['body'] = 'Modules\Transaksi\Views\list'; $data['pd'] = $this->db->table('pd') ->select('pd.nis, pd.id, pd.nama, k.kelas, k.rombel') ->join('isi i', 'pd.id = i.id_pd') ->join('kelas k', 'k.id = i.id_kelas') ->where(['pd.id_sp' => session('id_sp'), 'k.id_tp' => session('id_tp')]) ->get()->getResult(); if(!isset($data['pd'][0]->id)){ session()->setFlashData(gagal('Tambah Data Siswa dan Kelas Terlebih Dahulu')); return redirect()->to(base_url('pd')); } return view('template', $data); } public function get_tagihan_pd(){ $p = $this->request->getPost(); //$p['id_sp'] = '5678e5f7-a82f-4f78-9127-3735e4302a93'; //$p['id_pd'] = '36eb29bd-a877-4854-9086-5019ea428b1b'; $ts = $p['tahun']; $ts1 = $ts+1; $t = $this->db->table('tagihan')->where(['tagihan.id_sp' => $p['id_sp'], 'id_pd' => $p['id_pd']]); $t->select('tagihan.*, pemasukan.nama'); $t->join('pemasukan', 'tagihan.id_pemasukan = pemasukan.id', 'inner'); $tagihan = $t->get()->getResultArray(); $bayar = $this->db->query("SELECT id_tagihan, sum(jumlah) as jumlah FROM transaksi WHERE id_pd='".$p['id_pd']."' AND id_sp='".$p['id_sp']."' AND jenis='1' GROUP BY id_tagihan")->getResult(); foreach ($bayar as $b) { $byr[$b->id_tagihan] = $b->jumlah; } foreach ($tagihan as $v) { $id_t[$v['id_pemasukan']] = $v['id_pemasukan']; $nama[$v['id_pemasukan']] = $v['nama']; $inv[$v['id_pemasukan']][$v['tahun']][$v['bulan']] = $v['jumlah']; $inv_no[$v['id_pemasukan']][$v['tahun']][$v['bulan']] = $v['id']; } $t = ''; foreach ($id_t as $item) { $t .= '<tr><td>'.$nama[$item].'</td>'; for($i=7; $i<13; $i++){ if(isset($inv[$item][$ts][$i])){ if(isset($byr[$inv_no[$item][$ts][$i]])){ $jml = $inv[$item][$ts][$i] - $byr[$inv_no[$item][$ts][$i]]; if($jml <=0){ $t .= '<td class="bg-success">Lunas</td>'; }else{ $t .= '<td class="bg-warning"><a onclick="pilih(`'.$inv_no[$item][$ts][$i].'`)">'.$jml.'</a></td>'; } }else{ if($inv[$item][$ts][$i] == '0' || $inv[$item][$ts][$i] == 0){ $t .= '<td class="bg-success"><a onclick="pilih(`'.$inv_no[$item][$ts][$i].'`)">'.$inv[$item][$ts][$i].'</a></td>'; }else{ $t .= '<td class="bg-danger"><a onclick="pilih(`'.$inv_no[$item][$ts][$i].'`)">'.$inv[$item][$ts][$i].'</a></td>'; } } }else{ $t .= '<td>-</td>'; } } for($i=1; $i<7; $i++){ if(isset($inv[$item][$ts1][$i])){ if(isset($byr[$inv_no[$item][$ts1][$i]])){ $jml = $inv[$item][$ts1][$i] - $byr[$inv_no[$item][$ts1][$i]]; if($jml <=0){ $t .= '<td class="bg-success">Lunas</td>'; }else{ $t .= '<td class="bg-warning"><a onclick="pilih(`'.$inv_no[$item][$ts1][$i].'`)">'.$jml.'</a></td>'; } }else{ if($inv[$item][$ts1][$i] == '0' || $inv[$item][$ts1][$i] == 0){ $t .= '<td class="bg-success"><a onclick="pilih(`'.$inv_no[$item][$ts1][$i].'`)">'.$inv[$item][$ts1][$i].'</a></td>'; }else{ $t .= '<td class="bg-danger"><a onclick="pilih(`'.$inv_no[$item][$ts1][$i].'`)">'.$inv[$item][$ts1][$i].'</a></td>'; } } }else{ $t .= '<td>-</td>'; } } $t .='</tr>'; } $o['csrf_token_hash'] = csrf_hash(); $o['html'] = $t; return $this->response->setJSON($o); } public function get_tagihan_detail($id){ $d = $this->db->table('tagihan') ->select('pemasukan.nama, pemasukan.frekuensi, tagihan.*') ->join('pemasukan', 'tagihan.id_pemasukan = pemasukan.id') ->where(['tagihan.id' => $id])->get()->getRow(); if($d->bulan < 7){ $ts = 'Tahun '.($d->tahun-1).'/'.$d->tahun.' Genap'; }else{ $ts = 'Tahun '.$d->tahun.'/'.($d->tahun+1).' Ganjil'; } $frek = ['', $ts, '', nama_bulan($d->bulan).' '.$d->tahun, $ts]; $t = '<tr data-harga="'.$d->jumlah.'"><td>'.$d->nama.' '.$frek[$d->frekuensi].'</td><td><input style="width:5em;" class="harga-cicil" data-harga-awal="'.$d->jumlah.'" name="jumlah[]" value="'.$d->jumlah.'"></td><td><a class="remove-item"><i class="fa fa-trash"></i></a></td>'; $t .= '<td class="d-none"> <input name="id_pd[]" value="'.$d->id_pd.'"> <input name="id_tagihan[]" value="'.$d->id.'"> <input name="id_sp[]" value="'.$d->id_sp.'"> <input name="id_pemasukan[]" value="'.$d->id_pemasukan.'"></td></tr>'; $o['html'] = $t; $o['dt'] = $d; return $this->response->setJSON($o); } public function add(){ $p = $this->request->getPost(); $batch_id = Uuid::uuid4()->toString(); for($i=0; $i < count($p['id_pd']); $i++){ $id = Uuid::uuid4()->toString(); $d[] = [ 'id' => $id, 'id_pd' => $p['id_pd'][$i], 'id_sp' => $p['id_sp'][$i], 'id_tagihan' => $p['id_tagihan'][$i], 'id_pemasukan' => $p['id_pemasukan'][$i], 'jumlah' => $p['jumlah'][$i], 'jenis' => '1', 'tgl' => date('Y-m-d H:i:s'), 'batch_id' => $batch_id, ]; } if($this->db->table('transaksi')->insertBatch($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect()->to(base_url('keuangan')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('transaksi')); } } public function delete($id = null){ if($this->db->table('transaksi')->where('id', $id)->delete()){ session()->setFlashData(success('Berhasil Mengapus Data')); return redirect()->to(base_url('transaksi')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('transaksi')); } } public function get($id = null){ $d = $this->db->table('transaksi')->where('id', $id)->get()->getRow(); return json_encode($d); } public function edit(){ $p = $this->request->getPost(); $rules = [ 'kode' => [ 'label' => 'Kode Tahun Pelajaran', '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.', ], ], 'nama' => [ 'label' => 'Nama Tahun Pelajaran', '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.', ], ], 'tahun' => [ 'label' => 'Tahun Pelajaran', 'rules' => 'required|numeric|min_length[4]|max_length[4]', 'errors' => [ 'required' => '{field} tidak boleh kosong.', 'min_length' => '{field} minimal {param} karakter.', 'max_length' => '{field} maksimal {param} karakter.', ], ], 'id_lembaga' => [ 'label' => 'lembaga', 'rules' => 'required', 'errors' => [ 'required' => '{field} tidak boleh kosong.', ], ] ]; if (! $this->validateData($p,$rules)) { session()->setFlashData(gagal(form_error($this->validator->getErrors()))); return redirect()->to(base_url('transaksi')); } $d = [ 'kode' => $p['kode'], 'nama' => $p['nama'], 'tahun' => $p['tahun'], 'id_sp' => $p['id_lembaga'], ]; if($this->db->table('transaksi')->where('id', $p['data_id'])->update($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect()->to(base_url('transaksi')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('transaksi')); } } public function get_all($id = null){ $db = $this->db->table('transaksi'); if($id != '0'){ $db->where('id_sp', $id); } $d = $db->get()->getResult(); return json_encode($d); } public function pengeluaran(){ $data['title'] = 'Pengeluaran'; $data['li_1'] = 'Daftar Pengeluaran'; $data['body'] = 'Modules\Transaksi\Views\pengeluaran'; $data['pemasukan'] = $this->db->table('pemasukan')->where(['id_sp' => session('id_sp'), ])->get()->getResult(); $data['pengeluaran'] = $this->db->table('transaksi') ->select('transaksi.*, pemasukan.nama as pos_pemasukan') ->join('pemasukan', 'transaksi.id_pemasukan = pemasukan.id', 'inner') ->where(['transaksi.id_sp' => session('id_sp'), "jenis"=> '0']) ->get()->getResult(); return view('template', $data); } public function add_pengeluaran(){ $p = $this->request->getPost(); $id = Uuid::uuid4()->toString(); $d = [ "id" => $id, "id_sp" => $p['id_sp'], "id_pemasukan" => $p['pos_pemasukan'], "jumlah" => $p['jumlah'], "tgl" => date('Y-m-d H:i:s'), "nama" => $p['nama'], "jenis" => 0, ]; if($this->db->table('transaksi')->insert($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect()->to(base_url('pengeluaran')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('pengeluaran')); } } public function edit_pengeluaran(){ $p = $this->request->getPost(); $id = Uuid::uuid4()->toString(); $d = [ "id_sp" => $p['id_sp'], "id_pemasukan" => $p['pos_pemasukan'], "jumlah" => $p['jumlah'], "tgl" => date('Y-m-d H:i:s'), "nama" => $p['nama'], "jenis" => 0, ]; if($this->db->table('transaksi')->where(["id" => $p['data_id']])->update($d)){ session()->setFlashData(success('Berhasil Menyimpan Data')); return redirect()->to(base_url('pengeluaran')); }else{ session()->setFlashData(gagal('Masalah Koneksi Database')); return redirect()->to(base_url('pengeluaran')); } } }
Simpan