138 lines
5.4 KiB
PHP
138 lines
5.4 KiB
PHP
<?php
|
|
|
|
session_start();
|
|
|
|
include '../conf/koneksiPDO.php';
|
|
include '../conf/function.php';
|
|
|
|
$conn = new createCon();
|
|
$dbh = $conn->connect();
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
if (!isset($_GET['bypassSaya'])) {
|
|
$loginMhs = requireSessionRole('mhs');
|
|
$nim = $loginMhs['nim'];
|
|
} else {
|
|
$loginDosen = isset($_SESSION['login-dosen']) ? $_SESSION['login-dosen'] : null;
|
|
$loginAdmin = isset($_SESSION['login-admin']) ? $_SESSION['login-admin'] : null;
|
|
if (!is_array($loginDosen) && !is_array($loginAdmin)) {
|
|
jsonResponse(['status' => 403, 'msg' => 'Forbidden'], 403);
|
|
}
|
|
}
|
|
|
|
$idRekapHasil = isset($_GET['idRekapHasil']) ? (int) $_GET['idRekapHasil'] : 0;
|
|
$jenis = isset($_GET['jenis']) ? trim((string) $_GET['jenis']) : '';
|
|
|
|
if ($idRekapHasil <= 0 || $jenis === '') {
|
|
jsonResponse(['status' => 0, 'msg' => 'Parameter tidak lengkap'], 422);
|
|
}
|
|
|
|
$sql = 'SELECT * 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' => 0, 'msg' => 'Data Not Found'], 404);
|
|
}
|
|
|
|
if (!isset($_GET['bypassSaya'])) {
|
|
if ($rekap['nim'] !== $nim) {
|
|
jsonResponse(['status' => 403, 'msg' => 'Forbidden'], 403);
|
|
}
|
|
} elseif (!is_array($loginAdmin)) {
|
|
$dosenNip = isset($loginDosen['nip']) ? (string) $loginDosen['nip'] : '';
|
|
$allowedNips = [
|
|
(string) $rekap['pemb1'],
|
|
(string) $rekap['pemb2'],
|
|
(string) $rekap['peng1'],
|
|
(string) $rekap['peng2'],
|
|
];
|
|
|
|
if ($dosenNip === '' || !in_array($dosenNip, $allowedNips, true)) {
|
|
jsonResponse(['status' => 403, 'msg' => 'Forbidden'], 403);
|
|
}
|
|
}
|
|
|
|
$sql = 'SELECT * FROM tb_verif_berkas WHERE idRekapHasil = :idRekapHasil AND jenisSidang = :jenisSidang';
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
|
$stmt->bindParam(':jenisSidang', $jenis);
|
|
$stmt->execute();
|
|
|
|
$catatanAdmin = '';
|
|
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
$catatanAdmin = $row['catatanDariAdmin'];
|
|
}
|
|
|
|
$sql = 'SELECT * FROM tb_berkas_sidang WHERE idRekapHasil = :idRekapHasil AND jenisSidang = :jenisSidang';
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':idRekapHasil', $idRekapHasil);
|
|
$stmt->bindParam(':jenisSidang', $jenis);
|
|
$stmt->execute();
|
|
|
|
$listBerkas = [];
|
|
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
$namaBerkas = $row['nama'];
|
|
$idBerkas = $row['idBerkas'];
|
|
$driveId = $row['driveId'];
|
|
$status = $row['status'];
|
|
|
|
if ($driveId != null && $driveId != '') {
|
|
$driveId = 'https://drive.google.com/open?id='.$driveId;
|
|
}
|
|
|
|
array_push($listBerkas, [
|
|
'id' => $idBerkas,
|
|
'nama' => $namaBerkas,
|
|
'file' => $driveId,
|
|
'status' => $status,
|
|
]);
|
|
}
|
|
|
|
$berkasSidang = [];
|
|
switch ($jenis) {
|
|
case 'Sidang':
|
|
$berkasSidang = [
|
|
'ktm' => ['judul' => 'Kartu Tanda Mahasiswa (KTM) terakhir', 'data' => null],
|
|
'spp' => ['judul' => 'Tanda Bukti Pembayaran SPP terakhir', 'data' => null],
|
|
'foto' => ['judul' => 'Pas Photo ukuran 3x4 = 3 lembar (Warna Latar Belakang Biru)', 'data' => null],
|
|
'lirs' => ['judul' => 'Lembaran Isian Rencana Studi (LIRS) terakhir', 'data' => null],
|
|
'transkrip' => ['judul' => 'Rekapitulasi Nilai Terakhir (Transkrip)', 'data' => null],
|
|
'buktiAbsen' => ['judul' => 'Bukti Absen Seminar Outline Skripsi', 'data' => null],
|
|
'beritaAcaraSeminarOutline' => ['judul' => 'Berita Acara Seminar Outline Skripsi', 'data' => null],
|
|
'suratRekomendasiSidang' => ['judul' => 'Surat Rekomendasi Pelaksanaan Sidang Akhir Skripsi Secara Daring dari Jurusan/Program Studi', 'data' => null],
|
|
'bebasReferensiTeknik' => ['judul' => 'Bebas Referensi Fakultas Teknik', 'data' => null],
|
|
'bebasReferensiUntan' => ['judul' => 'Bebas Referensi UNTAN', 'data' => null],
|
|
'bebasReferensiPerpusDaerah' => ['judul' => 'Bebas Referensi Perpustakaan Daerah', 'data' => null],
|
|
'TI08' => ['judul' => 'Siap Sidang TI. 08', 'data' => null],
|
|
'buktiUploadJurnal' => ['judul' => 'Bukti Upload Jurnal ( Teknik Informatika)', 'data' => null],
|
|
'ifTA07' => ['judul' => 'Format IF-TA-07', 'data' => null],
|
|
'b4' => ['judul' => 'Kartu Konsultasi Skripsi (B4)', 'data' => null],
|
|
'b1' => ['judul' => 'Format B.1', 'data' => null],
|
|
'b5' => ['judul' => 'Format B.5', 'data' => null],
|
|
'suratWisuda' => ['judul' => 'Surat Pernyataan Wisuda', 'data' => null],
|
|
'biodataSarjana' => ['judul' => 'Biodata Sarjana Baru', 'data' => null],
|
|
'ijazahSMA' => ['judul' => 'Ijazah SMA', 'data' => null],
|
|
'toefl' => ['judul' => 'Sertifikat TOEFL (nilai min. 425)', 'data' => null],
|
|
'kartuKeluarga' => ['judul' => 'Kartu Keluarga', 'data' => null],
|
|
'ktp' => ['judul' => 'KTP', 'data' => null],
|
|
'skripsi' => ['judul' => 'Skripsi/Tugas Akhir', 'data' => null],
|
|
];
|
|
|
|
break;
|
|
default: echo json_encode(['status' => 0, 'msg' => 'Jenis tidak dikenali']); exit;
|
|
}
|
|
|
|
foreach ($berkasSidang as $key => $val) {
|
|
foreach ($listBerkas as $key2 => $val2) {
|
|
if ($key == $val2['nama']) {
|
|
$berkasSidang[$key]['data'] = $val2;
|
|
}
|
|
}
|
|
}
|
|
|
|
echo json_encode(utf8ize(['status' => 1, 'data' => $berkasSidang, 'catatanAdmin' => $catatanAdmin]));
|