73 lines
2.6 KiB
PHP
73 lines
2.6 KiB
PHP
<?php
|
|
|
|
session_start();
|
|
|
|
include '../conf/koneksiPDO.php';
|
|
include '../conf/function.php';
|
|
|
|
$conn = new createCon();
|
|
$dbh = $conn->connect();
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
$loginDosen = requireSessionRole('dosen');
|
|
|
|
$idRekapHasil = isset($_POST['idRekap']) ? (int) $_POST['idRekap'] : 0;
|
|
$jenis = isset($_POST['jenis']) ? trim((string) $_POST['jenis']) : '';
|
|
$verif = isset($_POST['verif']) ? (int) $_POST['verif'] : 0;
|
|
$sebagai = isset($_POST['sebagai']) ? trim((string) $_POST['sebagai']) : '';
|
|
|
|
if ($idRekapHasil <= 0 || $jenis === '' || $sebagai === '') {
|
|
jsonResponse(['status' => false, 'msg' => 'Parameter tidak lengkap'], 422);
|
|
}
|
|
|
|
$sql = 'SELECT pemb1, pemb2, peng1, peng2 FROM tbrekaphasil WHERE id = :idRekapHasil';
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
|
$stmt->execute();
|
|
$rekap = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if (!$rekap) {
|
|
jsonResponse(['status' => false, 'msg' => 'Data Not Found'], 404);
|
|
}
|
|
|
|
$dosenNip = isset($loginDosen['nip']) ? (string) $loginDosen['nip'] : '';
|
|
|
|
switch ($sebagai) {
|
|
case 'pemb1': $fieldName = 'verifPemb1'; $expectedNip = (string) $rekap['pemb1']; break;
|
|
case 'pemb2': $fieldName = 'verifPemb2'; $expectedNip = (string) $rekap['pemb2']; break;
|
|
case 'peng1': $fieldName = 'verifPeng1'; $expectedNip = (string) $rekap['peng1']; break;
|
|
case 'peng2': $fieldName = 'verifPeng2'; $expectedNip = (string) $rekap['peng2']; break;
|
|
default: jsonResponse(['status' => false, 'msg' => 'Status Dosen Tidak Dikenali'], 422);
|
|
}
|
|
|
|
if ($expectedNip === '' || $expectedNip !== $dosenNip) {
|
|
jsonResponse(['status' => false, 'msg' => 'Forbidden'], 403);
|
|
}
|
|
|
|
$sql = 'SELECT id FROM tb_verif_berkas WHERE idRekapHasil = :idRekapHasil AND jenisSidang = :jenis';
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
|
$stmt->bindParam(':jenis', $jenis);
|
|
$stmt->execute();
|
|
|
|
if ($stmt->rowCount() === 0) {
|
|
$sql = 'INSERT INTO tb_verif_berkas(idRekapHasil, jenisSidang, catatanDariAdmin, verifPemb1, verifPemb2, verifPeng1, verifPeng2) VALUES(:idRekapHasil, :jenis, "", 0, 0, 0, 0)';
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
|
$stmt->bindParam(':jenis', $jenis);
|
|
$stmt->execute();
|
|
}
|
|
|
|
$sql = "UPDATE tb_verif_berkas SET {$fieldName} = :verif WHERE idRekapHasil = :idRekapHasil AND jenisSidang = :jenis";
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':verif', $verif);
|
|
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
|
$stmt->bindParam(':jenis', $jenis);
|
|
$stmt->execute();
|
|
|
|
echo json_encode([
|
|
'status' => true,
|
|
'msg' => 'Verifikasi berhasil',
|
|
]);
|