Stabilize legacy Steven API endpoints and add OpenAPI spec
This commit is contained in:
89
steven/API/postBerkasSidangMahasiswaNew.php
Normal file
89
steven/API/postBerkasSidangMahasiswaNew.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
include '../conf/koneksiPDO.php';
|
||||
include '../conf/function.php';
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$loginMhs = requireSessionRole('mhs');
|
||||
$nim = $loginMhs['nim'];
|
||||
|
||||
$idRekapHasil = isset($_GET['idRekapHasil']) ? (int) $_GET['idRekapHasil'] : 0;
|
||||
$jenis = isset($_GET['jenis']) ? trim((string) $_GET['jenis']) : '';
|
||||
|
||||
if ($idRekapHasil <= 0 || $jenis === '' || !isset($_POST['data'])) {
|
||||
jsonResponse(['status' => false, 'msg' => 'Parameter tidak lengkap'], 422);
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM tbrekaphasil WHERE id = :idRekapHasil AND nim = :nim';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
||||
$stmt->bindParam(':nim', $nim);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() === 0) {
|
||||
echo json_encode(['status' => false, 'msg' => 'Forbidden']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// $namaFolder = 'dll';
|
||||
|
||||
// while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
// $jenisSidang = strtolower($row['jenis']);
|
||||
// switch ($jenisSidang) {
|
||||
// case 'outline': $namaFolder = 'Seminar Outline'; break;
|
||||
// case 'sidhas': $namaFolder = 'Seminar Hasil'; break;
|
||||
// case 'sidang': $namaFolder = 'Sidang Akhir'; break;
|
||||
// }
|
||||
// }
|
||||
|
||||
$listData = json_decode($_POST['data'], true);
|
||||
if (!is_array($listData)) {
|
||||
jsonResponse(['status' => false, 'msg' => 'Format data tidak valid'], 422);
|
||||
}
|
||||
|
||||
$banyakSukses = 0;
|
||||
foreach ($listData as $key => $val) {
|
||||
if (!is_array($val) || empty($val['file']) || empty($val['nama'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$fileId = $val['file'];
|
||||
$namaFile = $val['nama'];
|
||||
|
||||
$sql = 'SELECT * FROM tb_berkas_sidang WHERE idRekapHasil = :idRekapHasil AND jenisSidang = :jenisSidang AND nama = :nama';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
||||
$stmt->bindParam(':jenisSidang', $jenis);
|
||||
$stmt->bindParam(':nama', $namaFile);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
$sql = 'INSERT INTO tb_berkas_sidang(idRekapHasil, jenisSidang, nama, driveId) VALUES(:idRekapHasil, :jenisSidang, :nama, :driveId)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
||||
$stmt->bindParam(':jenisSidang', $jenis);
|
||||
$stmt->bindParam(':nama', $namaFile);
|
||||
$stmt->bindParam(':driveId', $fileId);
|
||||
$stmt->execute();
|
||||
} else {
|
||||
$sql = 'UPDATE tb_berkas_sidang SET driveId = :driveId WHERE idRekapHasil = :idRekapHasil AND nama = :nama AND jenisSidang = :jenisSidang';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
||||
$stmt->bindParam(':jenisSidang', $jenis);
|
||||
$stmt->bindParam(':nama', $namaFile);
|
||||
$stmt->bindParam(':driveId', $fileId);
|
||||
$stmt->execute();
|
||||
}
|
||||
++$banyakSukses;
|
||||
}
|
||||
|
||||
echo json_encode([
|
||||
'status' => true,
|
||||
'msg' => $banyakSukses.' file berhasil diupload',
|
||||
]);
|
||||
Reference in New Issue
Block a user