159 lines
3.5 KiB
PHP
159 lines
3.5 KiB
PHP
<?php
|
|
|
|
session_start();
|
|
include '../../conf/koneksiPDO.php';
|
|
include '../../conf/function.php';
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
$conn = new createCon();
|
|
$dbh = $conn->connect();
|
|
|
|
checkKey('POST', 'token');
|
|
checkKey('POST', 'id');
|
|
checkKey('POST', 'tipe');
|
|
|
|
$token = trim($_POST['token']);
|
|
$tipe = strtolower(trim($_POST['tipe']));
|
|
$idTugasAkhir = intval($_POST['id']);
|
|
|
|
$mahasiswa = false;
|
|
$dosen = false;
|
|
switch ($tipe) {
|
|
case 'mahasiswa': $tabel = 'mahasiswa'; $mahasiswa = true; break;
|
|
case 'dosen': $tabel = 'dosen'; $dosen = true; break;
|
|
default: echo getUnknownTypeMessage(); exit();
|
|
}
|
|
|
|
$sql = "SELECT * FROM $tabel WHERE token = :token";
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':token', $token);
|
|
$stmt->execute();
|
|
|
|
$nim = '';
|
|
$nip = '';
|
|
|
|
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
if ($mahasiswa) {
|
|
$nim = $row['nim'];
|
|
}
|
|
|
|
if ($dosen) {
|
|
$nip = $row['nip'];
|
|
}
|
|
}
|
|
|
|
$authorized = false;
|
|
|
|
$sql = 'SELECT * FROM tugas_akhir WHERE idTugasAkhir = :id';
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':id', $idTugasAkhir);
|
|
$stmt->execute();
|
|
|
|
if ($stmt->rowCount() == 0) {
|
|
echo getKonsultasiNotFoundMessage();
|
|
exit();
|
|
}
|
|
|
|
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
if ($mahasiswa) {
|
|
$nimTA = $row['nim'];
|
|
if ($nim == $nimTA) {
|
|
$authorized = true;
|
|
}
|
|
}
|
|
|
|
if ($dosen) {
|
|
$pemb1 = $row['pemb1'];
|
|
$pemb2 = $row['pemb2'];
|
|
|
|
if (($pemb1 == $nip) || ($pemb2 == $nip)) {
|
|
$authorized = true;
|
|
}
|
|
}
|
|
|
|
$judul = $row['judul'];
|
|
$nimDb = $row['nim'];
|
|
$pemb1 = $row['pemb1'];
|
|
$pemb2 = $row['pemb2'];
|
|
$peng1 = $row['peng1'];
|
|
$peng2 = $row['peng2'];
|
|
$semester = $row['semester'];
|
|
$tahunAjaran = $row['tahunAjaran'];
|
|
$tanggalKeputusan = $row['tanggalKeputusan'];
|
|
$waktuKeputusan = $row['waktuKeputusan'];
|
|
$selesai = $row['selesai'];
|
|
}
|
|
|
|
if (!$authorized) {
|
|
echo getUnauthorizedMessage();
|
|
exit();
|
|
}
|
|
|
|
$sql = 'SELECT * FROM dosen WHERE nip IN (:pemb1, :pemb2, :peng1, :peng2)';
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':pemb1', $pemb1);
|
|
$stmt->bindParam(':pemb2', $pemb2);
|
|
$stmt->bindParam(':peng1', $peng1);
|
|
$stmt->bindParam(':peng2', $peng2);
|
|
$stmt->execute();
|
|
|
|
$namaPemb1 = '-';
|
|
$namaPemb2 = '-';
|
|
$namaPeng1 = '-';
|
|
$namaPeng2 = '-';
|
|
|
|
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
$nipDosenDb = $row['nip'];
|
|
$namaDosenDb = $row['namaDosen'];
|
|
if ($pemb1 == $nipDosenDb) {
|
|
$namaPemb1 = $namaDosenDb;
|
|
}
|
|
|
|
if ($pemb2 == $nipDosenDb) {
|
|
$namaPemb2 = $namaDosenDb;
|
|
}
|
|
|
|
if ($peng1 == $nipDosenDb) {
|
|
$namaPeng1 = $namaDosenDb;
|
|
}
|
|
|
|
if ($peng2 == $nipDosenDb) {
|
|
$namaPeng2 = $namaDosenDb;
|
|
}
|
|
}
|
|
|
|
$sql = 'SELECT * FROM mahasiswa WHERE nim = :nim';
|
|
$stmt = $dbh->prepare($sql);
|
|
$stmt->bindParam(':nim', $nimDb);
|
|
$stmt->execute();
|
|
|
|
$namaMahasiswaDb = '-';
|
|
$hp = '';
|
|
$email = '';
|
|
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
|
$namaMahasiswaDb = $row['nama'];
|
|
$hp = $row['hp'];
|
|
$email = $row['email'];
|
|
}
|
|
|
|
$tanggalKeputusanText = convertToDmy($tanggalKeputusan);
|
|
|
|
echo json_encode(utf8ize(array(
|
|
'status' => 1,
|
|
'tugasAkhir' => array(
|
|
'judul' => $judul,
|
|
'mahasiswa' => $namaMahasiswaDb,
|
|
'nim' => $nimDb,
|
|
'hp' => $hp,
|
|
'email' => $email,
|
|
'pembimbing1' => $namaPemb1,
|
|
'pembimbing2' => $namaPemb2,
|
|
'penguji1' => $namaPeng1,
|
|
'penguji2' => $namaPeng2,
|
|
'semester' => $semester,
|
|
'tahun' => $tahunAjaran,
|
|
'tanggalKeputusan' => $tanggalKeputusanText,
|
|
),
|
|
)));
|