MIF_E31211958/app/Controllers/Surat.php

183 lines
6.4 KiB
PHP

<?php
namespace App\Controllers;
use App\Models\ModelSurat;
class Surat extends BaseController
{
protected $SuratModel;
function __construct()
{
$this->SuratModel = new ModelSurat();
}
public function index()
{
if (session()->has('nip') && session()->has('username')) {
$nip = session('nip');
$data = array(
'body' => 'surat/list',
'surat' => $this->SuratModel->getSurat($nip),
'username' => session('username'),
'nama' => session('nama'),
'hak_akses' => session('hak_akses'),
);
return view('index', $data);
} else {
// Jika pengguna belum login, arahkan ke halaman login
return redirect()->to(base_url() . 'login');
}
}
public function index2()
{
if (session()->has('nip') && session()->has('username')) {
$nip = session('nip');
$data = array(
'body' => 'Surat/listAll',
'surat' => $this->SuratModel->getSuratAll(),
'username' => session('username'),
'nama' => session('nama'),
'hak_akses' => session('hak_akses'),
);
return view('index', $data);
} else {
// Jika pengguna belum login, arahkan ke halaman login
return redirect()->to(base_url() . 'login');
}
}
public function input()
{
if (session()->has('nip') && session()->has('username')) {
$data = array(
'body' => 'Surat/input',
'username' => session('username'),
'nama' => session('nama'),
'hak_akses' => session('hak_akses'),
);
return view('index', $data);
} else {
// Jika pengguna belum login, arahkan ke halaman login
return redirect()->to(base_url() . 'login');
}
}
public function input2()
{
if (session()->has('nip') && session()->has('username')) {
$data = array(
'body' => 'Surat/input2',
'username' => session('username'),
'nama' => session('nama'),
'hak_akses' => session('hak_akses'),
);
return view('index', $data);
} else {
// Jika pengguna belum login, arahkan ke halaman login
return redirect()->to(base_url() . 'login');
}
}
public function insert()
{
$lampiran = $this->request->getFile('lampiran');
$newName = '';
if ($lampiran->isValid() && !$lampiran->hasMoved()) {
$newName = $lampiran->getName();
$lampiran->move(ROOTPATH . 'public/assets/dokumen/surat/'); // Move the image to the desired directory
}
$data = array(
'tanggal' => $this->request->getPost('tanggal'),
'jenis_surat' => $this->request->getPost('jenis_surat'),
'keterangan_surat' => $this->request->getPost('keterangan_surat'),
'jabatan' => $this->request->getPost('jabatan'),
'nip' => session('nip'),
'lampiran' => $newName,
);
if ($this->SuratModel->insert_surat($data)) {
session()->setFlashdata('success', 'Berhasil Menambahkan Surat Tugas!');
return redirect()->to(base_url() . 'surat/list');
} else {
session()->setFlashdata('error', 'Gagal Menambahkan Surat Tugas!');
return redirect()->to(base_url() . 'surat/input');
}
}
public function edit($id)
{
if (session()->has('nip') && session()->has('username')) {
$data_surat = new ModelSurat();
$data = array(
'body' => 'Surat/edit',
'data' => $data_surat->getById($id)->getRow(),
'username' => session('username'),
'nama' => session('nama'),
'hak_akses' => session('hak_akses'),
);
return view('index', $data);
} else {
// Jika pengguna belum login, arahkan ke halaman login
return redirect()->to(base_url() . 'login');
}
}
public function update($id)
{
$lampiran = $this->request->getFile('lampiran'); // Get the uploaded image file
// Get the current data from database
$currentData = $this->SuratModel->getById($id)->getRow();
// Initialize newName with the current file name
$newName = $currentData->lampiran;
// Check if there is a new file uploaded
if ($lampiran->isValid() && !$lampiran->hasMoved()) {
// Get the new file name
$newName = $lampiran->getName();
$lampiran->move(ROOTPATH . 'public/assets/dokumen/surat/'); // Move the image to the desired directory
// Delete old file if there was a previous file
if (!empty($currentData->lampiran)) {
$oldFilePath = ROOTPATH . 'public/assets/dokumen/surat/' . $currentData->lampiran;
if (file_exists($oldFilePath)) {
unlink($oldFilePath); // Delete the old file
}
}
}
// Update the database record
$data = $this->SuratModel->update($id, [
'tanggal' => $this->request->getVar('tanggal'),
'jenis_surat' => $this->request->getVar('jenis_surat'),
'keterangan_surat' => $this->request->getVar('keterangan_surat'),
'jabatan' => $this->request->getVar('jabatan'),
'lampiran' => $newName
]);
// Check if update was successful and redirect accordingly
if ($data) {
return redirect()->to(base_url() . 'surat/list')->with('success', 'Data Berhasil Diubah!');
} else {
return redirect()->to(base_url() . 'surat/edit/' . $id)->with('error', 'Data Gagal Diubah!');
}
}
public function delete($id)
{
$currentData = $this->SuratModel->getById($id)->getRow();
if (!empty($currentData->lampiran)) {
$oldFilePath = ROOTPATH . 'public/assets/dokumen/surat/' . $currentData->lampiran;
if (file_exists($oldFilePath)) {
unlink($oldFilePath); // Delete the old file
}
}
$this->SuratModel->delete($id);
return redirect()->to(base_url() . 'surat/list')->with('success', 'Data Berhasil Dihapus!');
}
}