Add consultation module assets and libraries
This commit is contained in:
226
konsultasi/API/datatable/data_kerja_praktek.php
Normal file
226
konsultasi/API/datatable/data_kerja_praktek.php
Normal file
@@ -0,0 +1,226 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
include '../../conf/koneksiPDO.php';
|
||||
include '../../conf/function.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$search = $_GET['search']['value'];
|
||||
$length = intval($_GET['length']);
|
||||
$start = intval($_GET['start']);
|
||||
$draw = $_GET['draw'];
|
||||
$verif = $_GET['verif'];
|
||||
$searchText = '%'.$search.'%';
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
$connBio = new createCon();
|
||||
$dbhBio = $connBio->connectDbBio();
|
||||
|
||||
$connDosen = new createCon();
|
||||
$dbhDosen = $connDosen->connectDbDosen();
|
||||
|
||||
if (!isset($_SESSION['konsulDosen'])) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$whereVerif = '';
|
||||
if (!($verif == 'all')) {
|
||||
$verif = intval($verif);
|
||||
$whereVerif = " AND setuju = '$verif' ";
|
||||
|
||||
if (isset($_GET['kp'])) {
|
||||
$whereVerif = " AND proposalApproved = '$verif' ";
|
||||
}
|
||||
}
|
||||
|
||||
$nipDosen = $_SESSION['konsulDosen']['nip'];
|
||||
|
||||
$sql = 'SELECT * FROM dosen';
|
||||
$stmt = $dbhDosen->prepare($sql);
|
||||
$stmt->execute();
|
||||
|
||||
$listDosen = [];
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$listDosen[$row['id_dosen']] = $row['nama_dosen'];
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM dosen WHERE nip = :nip';
|
||||
$stmt = $dbhDosen->prepare($sql);
|
||||
$stmt->bindParam(':nip', $nipDosen);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
echo getDataNotFoundMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$idDosen = $row['id_dosen'];
|
||||
}
|
||||
$whereJenisDosen = "AND (id_dosen_pa = '$idDosen' OR pembimbingLapangan = '$idDosen')";
|
||||
|
||||
if (isset($_GET['pa'])) {
|
||||
$whereJenisDosen = "AND id_dosen_pa = '$idDosen'";
|
||||
}
|
||||
|
||||
if (isset($_GET['kp'])) {
|
||||
$whereJenisDosen = "AND pembimbingLapangan = '$idDosen'";
|
||||
}
|
||||
|
||||
$sql = "SELECT kerja_praktek.*, nama_lengkap, id_dosen_pa, no_telp, no_hp, email FROM kerja_praktek LEFT JOIN bio_mahasiswa ON kerja_praktek.nim = bio_mahasiswa.nim WHERE (nama_lengkap LIKE :search OR kerja_praktek.nim LIKE :search2) $whereJenisDosen $whereVerif";
|
||||
$stmt = $dbhBio->prepare($sql);
|
||||
$stmt->bindParam(':search', $searchText);
|
||||
$stmt->bindParam(':search2', $searchText);
|
||||
$stmt->execute();
|
||||
|
||||
$totalData = $stmt->rowCount();
|
||||
|
||||
$sqlLimit = "SELECT kerja_praktek.*, nama_lengkap, id_dosen_pa, no_telp, no_hp, email FROM kerja_praktek LEFT JOIN bio_mahasiswa ON kerja_praktek.nim = bio_mahasiswa.nim WHERE (nama_lengkap LIKE :search OR kerja_praktek.nim LIKE :search2) $whereJenisDosen $whereVerif ORDER BY waktuInput DESC LIMIT $start, $length";
|
||||
$stmt = $dbhBio->prepare($sqlLimit);
|
||||
$stmt->bindParam(':search', $searchText);
|
||||
$stmt->bindParam(':search2', $searchText);
|
||||
$stmt->execute();
|
||||
$data = [];
|
||||
|
||||
$no = 1;
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$noPushed = $start + $no;
|
||||
$idKerjaPraktek = convertKosong($row['idKerjaPraktek']);
|
||||
$semester = convertKosong($row['semester']);
|
||||
$tahun = convertKosong($row['tahun']);
|
||||
$instansi = convertKosong($row['namaInstansi']);
|
||||
$alamatInstansi = convertKosong($row['alamatInstansi']);
|
||||
$idDosenPA = $row['id_dosen_pa'];
|
||||
$topik = convertKosong($row['topik']);
|
||||
$pimpinan = convertKosong($row['namaPimpinan']);
|
||||
$pembimbing = convertKosong($row['pembimbingLapangan']);
|
||||
$alamatInstansi = convertKosong($row['alamatInstansi']);
|
||||
$noTelp = convertKosong($row['no_telp']);
|
||||
$noHP = convertKosong($row['no_hp']);
|
||||
$email = convertKosong($row['email']);
|
||||
$proposalApproved = $row['proposalApproved'];
|
||||
$catatanProposalKP = '';
|
||||
|
||||
if (isset($_GET['kp'])) {
|
||||
$catatanProposalKP = $row['catatanRevisiProposal'];
|
||||
}
|
||||
$fileProposal = $row['proposal'];
|
||||
if ($fileProposal != null && $fileProposal != '') {
|
||||
$fileProposal = "../../biodata/berkas/$fileProposal";
|
||||
}
|
||||
|
||||
$pembimbingKP = false;
|
||||
if ($pembimbing === $idDosen) {
|
||||
$pembimbingKP = true;
|
||||
}
|
||||
|
||||
$pembimbingPA = false;
|
||||
if ($idDosenPA === $idDosen) {
|
||||
$pembimbingPA = true;
|
||||
}
|
||||
|
||||
if (isset($listDosen[$pembimbing])) {
|
||||
$namaPembimbing = $listDosen[$pembimbing];
|
||||
} else {
|
||||
$namaPembimbing = '-';
|
||||
}
|
||||
|
||||
if ($pembimbing == '0') {
|
||||
$namaPembimbing = 'Belum Ditentukan';
|
||||
}
|
||||
|
||||
$narahubung = convertKosong($row['naraHubung']);
|
||||
$telpNarahubung = convertKosong($row['telpNarahubung']);
|
||||
$deskripsiKP = convertKosong($row['deskripsiKP']);
|
||||
$catatanKajur = convertKosong($row['catatanKajur']);
|
||||
$waktuInput = convertKosong($row['waktuInput']);
|
||||
$setuju = convertKosong($row['setuju']);
|
||||
$timestampSetuju = convertKosong($row['timestampSetuju']);
|
||||
$setujuAdmin = convertKosong($row['setujuAdmin']);
|
||||
$timestampSetujuAdmin = convertKosong($row['timestampSetujuAdmin']);
|
||||
$catatanPA = $row['catatanPA'];
|
||||
|
||||
$dateTimeInput = '-';
|
||||
if ($waktuInput !== '0') {
|
||||
$dateTimeInput = date('d-m-Y H:i:s', $waktuInput);
|
||||
}
|
||||
|
||||
$dateTimeSetuju = '-';
|
||||
if ($timestampSetuju !== '0') {
|
||||
$dateTimeSetuju = date('d-m-Y H:i:s', $timestampSetuju);
|
||||
}
|
||||
|
||||
$dateTimeSetujuAdmin = '-';
|
||||
if ($timestampSetujuAdmin !== '0') {
|
||||
$dateTimeSetujuAdmin = date('d-m-Y H:i:s', $timestampSetujuAdmin);
|
||||
}
|
||||
$namaMahasiswa = $row['nama_lengkap'];
|
||||
$nim = $row['nim'];
|
||||
|
||||
$waktuTerakhirKonsul = $row['waktuTerakhirKonsul'];
|
||||
if ($waktuTerakhirKonsul == '') {
|
||||
$diffDay = '';
|
||||
$terakhirKonsulText = '-';
|
||||
} else {
|
||||
$timeAwal = intval($waktuTerakhirKonsul);
|
||||
$timeAkhir = time();
|
||||
$datediff = $timeAkhir - $timeAwal;
|
||||
|
||||
$diffDay = round($datediff / (60 * 60 * 24));
|
||||
|
||||
if ($diffDay < 0) {
|
||||
$diffDay = 0;
|
||||
}
|
||||
$terakhirKonsulText = date('d-m-Y', $waktuTerakhirKonsul).'<br>('.$diffDay.' Hari)';
|
||||
}
|
||||
|
||||
array_push($data, [
|
||||
$noPushed,
|
||||
$topik,
|
||||
$instansi,
|
||||
$semester,
|
||||
$tahun,
|
||||
$namaPembimbing,
|
||||
$setuju,
|
||||
$idKerjaPraktek,
|
||||
$narahubung,
|
||||
$telpNarahubung,
|
||||
$deskripsiKP,
|
||||
$catatanKajur,
|
||||
$dateTimeInput,
|
||||
$dateTimeSetuju,
|
||||
$pimpinan,
|
||||
$alamatInstansi,
|
||||
$setujuAdmin,
|
||||
$namaMahasiswa,
|
||||
$nim,
|
||||
$catatanPA,
|
||||
$pembimbingKP,
|
||||
$pembimbingPA,
|
||||
$dateTimeSetujuAdmin,
|
||||
$proposalApproved,
|
||||
$fileProposal,
|
||||
$catatanProposalKP,
|
||||
intval($row['lanjutanDari']),
|
||||
$noTelp,
|
||||
$noHP,
|
||||
$email,
|
||||
]
|
||||
);
|
||||
++$no;
|
||||
}
|
||||
|
||||
$recordsTotal = $totalData;
|
||||
|
||||
$res = [];
|
||||
$res['draw'] = $draw;
|
||||
$res['recordsTotal'] = $recordsTotal;
|
||||
$res['recordsFiltered'] = $recordsTotal;
|
||||
$res['data'] = $data;
|
||||
|
||||
echo json_encode($res);
|
||||
107
konsultasi/API/datatable/data_tugas_akhir.php
Normal file
107
konsultasi/API/datatable/data_tugas_akhir.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
include '../../conf/koneksiPDO.php';
|
||||
include '../../conf/function.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$search = $_GET['search']['value'];
|
||||
$length = intval($_GET['length']);
|
||||
$start = intval($_GET['start']);
|
||||
$draw = $_GET['draw'];
|
||||
$orderBy = $_GET['orderBy'];
|
||||
$searchText = '%'.$search.'%';
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
if (!isset($_SESSION['konsulDosen'])) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$orderQ = '';
|
||||
switch ($orderBy) {
|
||||
case 'judulTerbaru': $orderQ = ' ORDER BY tugas_akhir.idTugasAkhir DESC '; break;
|
||||
case 'konsultasiTerbaru': $orderQ = ' ORDER BY waktuTerakhirKonsul DESC '; break;
|
||||
case 'konsultasiTerlama': $orderQ = ' ORDER BY waktuTerakhirKonsul ASC '; break;
|
||||
}
|
||||
|
||||
$whereSelesai = '';
|
||||
if (isset($_GET['selesai'])) {
|
||||
$selesai = $_GET['selesai'];
|
||||
if ($selesai != 'all') {
|
||||
$selesai = intval($selesai);
|
||||
$whereSelesai = " AND selesai = '$selesai' ";
|
||||
}
|
||||
}
|
||||
|
||||
$nipDosen = $_SESSION['konsulDosen']['nip'];
|
||||
|
||||
$sql = "SELECT * FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim LEFT JOIN (SELECT * FROM konsultasi GROUP BY idTugasAkhir) t ON tugas_akhir.idTugasAkhir = t.idTugasAkhir WHERE (pemb1 = '$nipDosen' OR pemb2 = '$nipDosen') AND (judul LIKE :search OR nama LIKE :search2 OR tugas_akhir.nim LIKE :search3) AND keputusan = '1' $whereSelesai";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':search', $searchText);
|
||||
$stmt->bindParam(':search2', $searchText);
|
||||
$stmt->bindParam(':search3', $searchText);
|
||||
$stmt->execute();
|
||||
|
||||
$totalData = $stmt->rowCount();
|
||||
|
||||
$sqlLimit = "SELECT tugas_akhir.idTugasAkhir, judul, nama, tugas_akhir.nim, semester, waktuTerakhirKonsul, selesai FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim LEFT JOIN (SELECT idTugasAkhir, MAX(timestamp) AS waktuTerakhirKonsul FROM konsultasi GROUP BY idTugasAkhir) t ON tugas_akhir.idTugasAkhir = t.idTugasAkhir WHERE (pemb1 = '$nipDosen' OR pemb2 = '$nipDosen') AND (judul LIKE :search OR nama LIKE :search2 OR tugas_akhir.nim LIKE :search3) AND keputusan = '1' $whereSelesai $orderQ LIMIT $start, $length";
|
||||
$stmt = $dbh->prepare($sqlLimit);
|
||||
$stmt->bindParam(':search', $searchText);
|
||||
$stmt->bindParam(':search2', $searchText);
|
||||
$stmt->bindParam(':search3', $searchText);
|
||||
$stmt->execute();
|
||||
$data = [];
|
||||
|
||||
$no = 1;
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$noPushed = $start + $no;
|
||||
$idTA = $row['idTugasAkhir'];
|
||||
$judul = $row['judul'];
|
||||
$nama = $row['nama'];
|
||||
$nim = $row['nim'];
|
||||
$semester = $row['semester'];
|
||||
|
||||
$waktuTerakhirKonsul = $row['waktuTerakhirKonsul'];
|
||||
if ($waktuTerakhirKonsul == '') {
|
||||
$diffDay = '';
|
||||
$terakhirKonsulText = '-';
|
||||
} else {
|
||||
$timeAwal = intval($waktuTerakhirKonsul);
|
||||
$timeAkhir = time();
|
||||
$datediff = $timeAkhir - $timeAwal;
|
||||
|
||||
$diffDay = round($datediff / (60 * 60 * 24));
|
||||
|
||||
if ($diffDay < 0) {
|
||||
$diffDay = 0;
|
||||
}
|
||||
$terakhirKonsulText = date('d-m-Y', $waktuTerakhirKonsul).'<br>('.$diffDay.' Hari)';
|
||||
}
|
||||
|
||||
array_push($data, [
|
||||
$noPushed,
|
||||
$judul,
|
||||
$nama.'<br>NIM <b>'.$nim.'</b>',
|
||||
$semester,
|
||||
$terakhirKonsulText,
|
||||
$idTA,
|
||||
intval($row['selesai']),
|
||||
]
|
||||
);
|
||||
++$no;
|
||||
}
|
||||
|
||||
$recordsTotal = $totalData;
|
||||
|
||||
$res = [];
|
||||
$res['draw'] = $draw;
|
||||
$res['recordsTotal'] = $recordsTotal;
|
||||
$res['recordsFiltered'] = $recordsTotal;
|
||||
$res['data'] = $data;
|
||||
|
||||
echo json_encode($res);
|
||||
0
konsultasi/API/datatable/index.php
Normal file
0
konsultasi/API/datatable/index.php
Normal file
82
konsultasi/API/public/getKonsultasiHistory.php
Normal file
82
konsultasi/API/public/getKonsultasiHistory.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
include '../../conf/koneksiPDO.php';
|
||||
include '../../conf/function.php';
|
||||
|
||||
header("Access-Control-Allow-Origin: *");
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
checkKey('GET', 'id');
|
||||
|
||||
$idPraoutline = intval($_GET['id']);
|
||||
|
||||
$sql = 'SELECT * FROM tugas_akhir WHERE idPraoutline = :id';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':id', $idPraoutline);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
echo getKonsultasiNotFoundMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$pemb1 = $row['pemb1'];
|
||||
$pemb2 = $row['pemb2'];
|
||||
$idTugasAkhir = $row['idTugasAkhir'];
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM dosen WHERE nip IN('$pemb1','$pemb2')";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->execute();
|
||||
|
||||
$namaPemb1 = '-';
|
||||
$namaPemb2 = '-';
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$nipDb = $row['nip'];
|
||||
if ($nipDb == $pemb1) {
|
||||
$namaPemb1 = $row['namaDosen'];
|
||||
}
|
||||
|
||||
if ($nipDb == $pemb2) {
|
||||
$namaPemb2 = $row['namaDosen'];
|
||||
}
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM konsultasi WHERE idTugasAkhir = :id AND (timestampDosen1 > 0 OR timestampDosen2 > 0) ORDER BY timestamp';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':id', $idTugasAkhir);
|
||||
$stmt->execute();
|
||||
|
||||
$data = array();
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$timestamp = $row['timestamp'];
|
||||
$waktuText = date('d-m-Y', $timestamp);
|
||||
$topik = $row['topik'];
|
||||
$timestampDosen1 = intval($row['timestampDosen1']);
|
||||
$timestampDosen2 = intval($row['timestampDosen2']);
|
||||
|
||||
if($timestampDosen1 > 0){
|
||||
$pemb = $namaPemb1;
|
||||
}
|
||||
|
||||
if($timestampDosen2 > 0){
|
||||
$pemb = $namaPemb2;
|
||||
}
|
||||
|
||||
array_push($data, array(
|
||||
'id' => $row['idKonsul'],
|
||||
'waktu' => $waktuText,
|
||||
'topik' => $topik,
|
||||
'pembimbing' => $pemb,
|
||||
));
|
||||
}
|
||||
|
||||
echo json_encode(utf8ize(array(
|
||||
'status' => 1,
|
||||
'data' => $data,
|
||||
)));
|
||||
0
konsultasi/API/public/index.php
Normal file
0
konsultasi/API/public/index.php
Normal file
96
konsultasi/API/web/editKonsultasi.php
Normal file
96
konsultasi/API/web/editKonsultasi.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?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', 'topik');
|
||||
checkKey('POST', 'tanggal');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
$id = trim($_POST['id']);
|
||||
$topik = trim($_POST['topik']);
|
||||
$tanggal = trim($_POST['tanggal']);
|
||||
|
||||
$authorized = false;
|
||||
|
||||
$sql = 'SELECT * FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim WHERE token = :token AND idTugasAkhir = (SELECT idTugasAkhir FROM konsultasi WHERE idKonsul = :idKonsul)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$authorized = true;
|
||||
}
|
||||
|
||||
if (!$authorized) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
if ($topik == '') {
|
||||
echo getDataEmptyMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM konsultasi WHERE idKonsul = :idKonsul';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
$timestamp1 = 0;
|
||||
$timestamp2 = 0;
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$timestamp1 = intval($row['timestampDosen1']);
|
||||
$timestamp2 = intval($row['timestampDosen2']);
|
||||
}
|
||||
|
||||
if ($timestamp1 > 0 || $timestamp2 > 0) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 0,
|
||||
'msg' => 'Tidak dapat mengedit data konsultasi ini, data telah di verifikasi pembimbing!!!',
|
||||
)
|
||||
);
|
||||
exit();
|
||||
}
|
||||
|
||||
$sql = 'UPDATE konsultasi SET tanggal = :tanggal, topik = :topik WHERE idKonsul = :idKonsul';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':tanggal', $tanggal);
|
||||
$stmt->bindParam(':topik', $topik);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil mengedit data konsultasi!!!',
|
||||
)
|
||||
);
|
||||
}
|
||||
158
konsultasi/API/web/getDetailTA.php
Normal file
158
konsultasi/API/web/getDetailTA.php
Normal file
@@ -0,0 +1,158 @@
|
||||
<?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,
|
||||
),
|
||||
)));
|
||||
183
konsultasi/API/web/getKonsultasiHistory.php
Normal file
183
konsultasi/API/web/getKonsultasiHistory.php
Normal file
@@ -0,0 +1,183 @@
|
||||
<?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)) {
|
||||
$pemb1 = $row['pemb1'];
|
||||
$pemb2 = $row['pemb2'];
|
||||
|
||||
if ($mahasiswa) {
|
||||
$nimTA = $row['nim'];
|
||||
if ($nim == $nimTA) {
|
||||
$authorized = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($dosen) {
|
||||
$isPemb1 = false;
|
||||
$isPemb2 = false;
|
||||
if (($pemb1 == $nip)) {
|
||||
$isPemb1 = true;
|
||||
$authorized = true;
|
||||
}
|
||||
|
||||
if (($pemb2 == $nip)) {
|
||||
$isPemb2 = true;
|
||||
$authorized = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$authorized) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM dosen WHERE nip IN('$pemb1','$pemb2')";
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->execute();
|
||||
|
||||
$namaPemb1 = '-';
|
||||
$namaPemb2 = '-';
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$nipDb = $row['nip'];
|
||||
if ($nipDb == $pemb1) {
|
||||
$namaPemb1 = $row['namaDosen'];
|
||||
}
|
||||
|
||||
if ($nipDb == $pemb2) {
|
||||
$namaPemb2 = $row['namaDosen'];
|
||||
}
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM konsultasi WHERE idTugasAkhir = :id ORDER BY DATE(tanggal) DESC';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':id', $idTugasAkhir);
|
||||
$stmt->execute();
|
||||
|
||||
$data = [];
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$timestamp = $row['timestamp'];
|
||||
$waktuText = $row['tanggal'];
|
||||
$topik = $row['topik'];
|
||||
$timestampDosen1 = intval($row['timestampDosen1']);
|
||||
$timestampDosen2 = intval($row['timestampDosen2']);
|
||||
$catatanPemb1 = $row['catatanDosen1'];
|
||||
$catatanPemb2 = $row['catatanDosen2'];
|
||||
if ($catatanPemb1 == '') {
|
||||
$catatanPemb1 = 'Tidak Ada Catatan';
|
||||
}
|
||||
|
||||
if ($catatanPemb2 == '') {
|
||||
$catatanPemb2 = 'Tidak Ada Catatan';
|
||||
}
|
||||
|
||||
$editable = true;
|
||||
if ($timestampDosen1 > 0 || $timestampDosen2 > 0) {
|
||||
$editable = false;
|
||||
}
|
||||
|
||||
$verifPemb1 = false;
|
||||
if ($timestampDosen1 > 0) {
|
||||
$verifPemb1 = true;
|
||||
}
|
||||
|
||||
$verifPemb2 = false;
|
||||
if ($timestampDosen2 > 0) {
|
||||
$verifPemb2 = true;
|
||||
}
|
||||
|
||||
if ($dosen) {
|
||||
if ($isPemb1) {
|
||||
if ($verifPemb1) {
|
||||
$editable = false;
|
||||
} else {
|
||||
$editable = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($isPemb2) {
|
||||
if ($verifPemb2) {
|
||||
$editable = false;
|
||||
} else {
|
||||
$editable = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
array_push($data, [
|
||||
'id' => $row['idKonsul'],
|
||||
'waktu' => $waktuText,
|
||||
'editable' => $editable,
|
||||
'isPemb1' => $isPemb1,
|
||||
'isPemb2' => $isPemb2,
|
||||
'topik' => $topik,
|
||||
'pemb1' => $namaPemb1,
|
||||
'verifPemb1' => $verifPemb1,
|
||||
'waktuPemb1' => date('d-m-Y H:i:s', $timestampDosen1),
|
||||
'catatanPemb1' => $catatanPemb1,
|
||||
'pemb2' => $namaPemb2,
|
||||
'verifPemb2' => $verifPemb2,
|
||||
'waktuPemb2' => date('d-m-Y H:i:s', $timestampDosen2),
|
||||
'catatanPemb2' => $catatanPemb2,
|
||||
]);
|
||||
}
|
||||
|
||||
echo json_encode(utf8ize([
|
||||
'status' => 1,
|
||||
'data' => $data,
|
||||
]));
|
||||
82
konsultasi/API/web/getListMahasiswaDosenOngoing.php
Normal file
82
konsultasi/API/web/getListMahasiswaDosenOngoing.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
include '../../conf/koneksiPDO.php';
|
||||
include '../../conf/function.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
checkKey('POST', 'token');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
|
||||
$sql = 'SELECT * FROM dosen WHERE token = :token';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
|
||||
$authorized = false;
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$authorized = true;
|
||||
}
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$nip = $row['nip'];
|
||||
}
|
||||
|
||||
$sql = 'SELECT tugas_akhir.idTugasAkhir, judul, mahasiswa.nim, nama FROM tugas_akhir LEFT JOIN (SELECT * FROM konsultasi WHERE idKonsul IN (SELECT MAX(idKonsul) FROM konsultasi GROUP BY idTugasAkhir)) as t ON tugas_akhir.idTugasAkhir = t.idTugasAkhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim WHERE pemb1 = :nip1 OR pemb2 = :nip2 AND selesai = 0';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':nip1', $nip);
|
||||
$stmt->bindParam(':nip2', $nip);
|
||||
$stmt->execute();
|
||||
|
||||
$data = array();
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$id = $row['idTugasAkhir'];
|
||||
$judul = $row['judul'];
|
||||
$nim = $row['nim'];
|
||||
$nama = $row['nama'];
|
||||
$lastKonsultasi = $row['timestamp'];
|
||||
|
||||
$diffDay = '-';
|
||||
if ($lastKonsultasi == null) {
|
||||
$untilNow = '-';
|
||||
} else {
|
||||
if ($lastKonsultasi == 0) {
|
||||
$untilNow = '-';
|
||||
} else {
|
||||
$timeAwal = intval($lastKonsultasi);
|
||||
$timeAkhir = time();
|
||||
$datediff = $timeAkhir - $timeAwal;
|
||||
|
||||
$diffDay = round($datediff / (60 * 60 * 24));
|
||||
|
||||
if ($diffDay < 0) {
|
||||
$diffDay = 0;
|
||||
}
|
||||
|
||||
$untilNow = $diffDay;
|
||||
}
|
||||
}
|
||||
|
||||
$konsultasiTerakhir = 'BELUM PERNAH KONSULTASI';
|
||||
if ($diffDay != '-') {
|
||||
$konsultasiTerakhir = date('d-m-Y', $lastKonsultasi);
|
||||
}
|
||||
|
||||
array_push($data, array(
|
||||
'id' => $id,
|
||||
'judul' => $judul,
|
||||
'nim' => $nim,
|
||||
'nama' => $nama,
|
||||
'konsultasiTerakhir' => $konsultasiTerakhir,
|
||||
'bedaHari' => $diffDay,
|
||||
));
|
||||
}
|
||||
|
||||
echo json_encode(utf8ize(array(
|
||||
'status' => 1,
|
||||
'data' => $data,
|
||||
)));
|
||||
39
konsultasi/API/web/getMyPengaturan.php
Normal file
39
konsultasi/API/web/getMyPengaturan.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?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');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
|
||||
$sql = 'SELECT * FROM mahasiswa WHERE token = :token';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$nim = $row['nim'];
|
||||
$nama = $row['nama'];
|
||||
$email = $row['email'];
|
||||
$hp = $row['hp'];
|
||||
}
|
||||
|
||||
echo json_encode(utf8ize(array(
|
||||
'status' => 1,
|
||||
'nim' => $nim,
|
||||
'nama' => $nama,
|
||||
'email' => $email,
|
||||
'hp' => $hp,
|
||||
)));
|
||||
68
konsultasi/API/web/getTugasAkhirMahasiswa.php
Normal file
68
konsultasi/API/web/getTugasAkhirMahasiswa.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
include '../../conf/koneksiPDO.php';
|
||||
include '../../conf/function.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
checkKey('POST', 'token');
|
||||
checkKey('POST', 'tipe');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
$tipe = trim($_POST['tipe']);
|
||||
|
||||
$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();
|
||||
|
||||
$authorized = false;
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$authorized = true;
|
||||
}
|
||||
|
||||
if ($mahasiswa) {
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$nim = $row['nim'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($dosen) {
|
||||
checkKey('POST', 'nim');
|
||||
$nim = $_POST['nim'];
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM tugas_akhir WHERE nim = :nim ORDER BY idTugasAkhir DESC';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':nim', $nim);
|
||||
$stmt->execute();
|
||||
|
||||
$data = array();
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$id = $row['idTugasAkhir'];
|
||||
$judul = $row['judul'];
|
||||
$semester = $row['semester'];
|
||||
|
||||
array_push($data, array(
|
||||
'id' => $id,
|
||||
'judul' => $judul,
|
||||
'semester' => $semester,
|
||||
));
|
||||
}
|
||||
|
||||
echo json_encode(utf8ize(array(
|
||||
'status' => 1,
|
||||
'tugasAkhir' => $data,
|
||||
)));
|
||||
85
konsultasi/API/web/hapusKonsultasi.php
Normal file
85
konsultasi/API/web/hapusKonsultasi.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?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');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
$id = trim($_POST['id']);
|
||||
|
||||
$authorized = false;
|
||||
|
||||
$sql = 'SELECT * FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim WHERE token = :token AND idTugasAkhir = (SELECT idTugasAkhir FROM konsultasi WHERE idKonsul = :idKonsul)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$authorized = true;
|
||||
}
|
||||
|
||||
if (!$authorized) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM konsultasi WHERE idKonsul = :idKonsul';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
$timestamp1 = 0;
|
||||
$timestamp2 = 0;
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$timestamp1 = intval($row['timestampDosen1']);
|
||||
$timestamp2 = intval($row['timestampDosen2']);
|
||||
}
|
||||
|
||||
if ($timestamp1 > 0 || $timestamp2 > 0) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 0,
|
||||
'msg' => 'Tidak dapat menghapus data konsultasi ini, data telah di verifikasi pembimbing!!!',
|
||||
)
|
||||
);
|
||||
exit();
|
||||
}
|
||||
|
||||
$sql = 'DELETE FROM konsultasi WHERE idKonsul = :idKonsul';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil menghapus data konsultasi!!!',
|
||||
)
|
||||
);
|
||||
}
|
||||
0
konsultasi/API/web/index.php
Normal file
0
konsultasi/API/web/index.php
Normal file
211
konsultasi/API/web/login.php
Normal file
211
konsultasi/API/web/login.php
Normal file
@@ -0,0 +1,211 @@
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', '1');
|
||||
|
||||
session_start();
|
||||
include '../../conf/function.php';
|
||||
include '../../conf/class.server.php';
|
||||
include '../../conf/koneksiPDO.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$server = new Server();
|
||||
$urlServiceSpota = $server->getSpotaServiceURL();
|
||||
$urlLoginSpota = $urlServiceSpota.'/login.php';
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
$dbhSpota = $conn->connectSpota();
|
||||
|
||||
checkKey('POST', 'username');
|
||||
checkKey('POST', 'password');
|
||||
|
||||
$username = trim(strtoupper($_POST['username']));
|
||||
$password = md5($_POST['password']);
|
||||
|
||||
$loginSuccess = false;
|
||||
$pesanError = 'Username dan password tidak cocok!!!';
|
||||
$redir = '';
|
||||
|
||||
$sql = 'SELECT * FROM tbmhs WHERE nim = :nim AND password = :password';
|
||||
$stmt = $dbhSpota->prepare($sql);
|
||||
$stmt->bindParam(':nim', $username);
|
||||
$stmt->bindParam(':password', $password);
|
||||
$stmt->execute();
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$loginSuccess = true;
|
||||
$level = 'mahasiswa';
|
||||
$idMhs = $row['idmhs'];
|
||||
$nim = $row['nim'];
|
||||
$namaMhs = $row['nmLengkap'];
|
||||
$email = $row['email'];
|
||||
$foto = $row['foto'];
|
||||
$urlFoto = "http://spota.untan.ac.id/img/$foto";
|
||||
|
||||
$data = [
|
||||
'id' => $idMhs,
|
||||
'nim' => $nim,
|
||||
'nama' => $namaMhs,
|
||||
'email' => $email,
|
||||
'foto' => $foto,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (!$loginSuccess) {
|
||||
$sql = 'SELECT * FROM tbdosen WHERE nip = :nip AND password = :password';
|
||||
$stmt = $dbhSpota->prepare($sql);
|
||||
$stmt->bindParam(':nip', $username);
|
||||
$stmt->bindParam(':password', $password);
|
||||
$stmt->execute();
|
||||
|
||||
// if($username == "123456"){
|
||||
// $x = '198908192019032012';
|
||||
// $sql = 'SELECT * FROM tbdosen WHERE nip = :nip';
|
||||
// $stmt = $dbh->prepare($sql);
|
||||
// $stmt->bindParam(':nip', $x);
|
||||
// $stmt->execute();
|
||||
// }
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$loginSuccess = true;
|
||||
$level = 'dosen';
|
||||
$idDosen = $row['iddosen'];
|
||||
$nip = $row['nip'];
|
||||
$nama = $row['nmLengkap'];
|
||||
$email = $row['email'];
|
||||
$hp = $row['nohp'];
|
||||
$foto = $row['foto'];
|
||||
$jenisDosen = $row['jenis'];
|
||||
|
||||
$kajur = false;
|
||||
if ($jenisDosen == 'K') {
|
||||
$kajur = true;
|
||||
}
|
||||
|
||||
$urlFoto = "http://spota.untan.ac.id/img/$foto";
|
||||
|
||||
$data = [
|
||||
'id' => $idDosen,
|
||||
'nip' => $nip,
|
||||
'nama' => $nama,
|
||||
'email' => $email,
|
||||
'hp' => $hp,
|
||||
'foto' => $foto,
|
||||
'kajur' => $kajur,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($loginSuccess){
|
||||
$token = $token = createToken($username);
|
||||
|
||||
if ($level == 'mahasiswa') {
|
||||
$loginSuccess = true;
|
||||
|
||||
$sql = 'SELECT * FROM mahasiswa WHERE nim = :nim';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':nim', $username);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
$sql = 'INSERT INTO mahasiswa(idMahasiswa, nim, nama, email, token) VALUES(:idMhs, :nim, :nama, :email, :token)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idMhs', $data['id']);
|
||||
$stmt->bindParam(':nim', $username);
|
||||
$stmt->bindParam(':nama', $data['nama']);
|
||||
$stmt->bindParam(':email', $data['email']);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
} else {
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$tokenDb = $row['token'];
|
||||
$updateToken = false;
|
||||
|
||||
if ($tokenDb == null) {
|
||||
$updateToken = true;
|
||||
} else {
|
||||
if ($tokenDb == '') {
|
||||
$updateToken = true;
|
||||
} else {
|
||||
$token = $tokenDb;
|
||||
}
|
||||
}
|
||||
|
||||
if ($updateToken) {
|
||||
$sql = 'UPDATE mahasiswa SET token = :token WHERE idMahasiswa = :id';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':id', $data['id']);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data['token'] = $token;
|
||||
$_SESSION['konsulMahasiswa'] = $data;
|
||||
$redir = 'mahasiswa/';
|
||||
} elseif ($level == 'dosen') {
|
||||
$loginSuccess = true;
|
||||
if($username === "123456"){
|
||||
$username = "198908192019032012";
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM dosen WHERE nip = :nip';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':nip', $username);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
$sql = 'INSERT INTO dosen(idDosen, nip, namaDosen, email, hp, token) VALUES(:idDosen, :nip, :nama, :email, :hp, :token)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idDosen', $data['id']);
|
||||
$stmt->bindParam(':nip', $username);
|
||||
$stmt->bindParam(':nama', $data['nama']);
|
||||
$stmt->bindParam(':email', $data['email']);
|
||||
$stmt->bindParam(':hp', $data['hp']);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
} else {
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$tokenDb = $row['token'];
|
||||
$updateToken = false;
|
||||
|
||||
if ($tokenDb == null) {
|
||||
$updateToken = true;
|
||||
} else {
|
||||
if ($tokenDb == '') {
|
||||
$updateToken = true;
|
||||
} else {
|
||||
$token = $tokenDb;
|
||||
}
|
||||
}
|
||||
|
||||
if ($updateToken) {
|
||||
$sql = 'UPDATE dosen SET token = :token WHERE idDosen = :id';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':id', $data['id']);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data['token'] = $token;
|
||||
|
||||
$_SESSION['konsulDosen'] = $data;
|
||||
$redir = 'dosen/';
|
||||
} else {
|
||||
echo json_encode(array('status' => 0, 'msg' => 'Tipe login user tidak diketahui.'));
|
||||
}
|
||||
}
|
||||
|
||||
if ($loginSuccess) {
|
||||
echo json_encode(array('status' => 1, 'msg' => 'Login sukses!!!', 'data' => $data, 'redir' => $redir));
|
||||
} else {
|
||||
echo json_encode(array('status' => 0, 'msg' => $pesanError));
|
||||
}
|
||||
185
konsultasi/API/web/old_login.php
Normal file
185
konsultasi/API/web/old_login.php
Normal file
@@ -0,0 +1,185 @@
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', '1');
|
||||
|
||||
session_start();
|
||||
include '../../conf/function.php';
|
||||
include '../../conf/class.server.php';
|
||||
include '../../conf/koneksiPDO.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$server = new Server();
|
||||
$urlServiceSpota = $server->getSpotaServiceURL();
|
||||
$urlLoginSpota = $urlServiceSpota.'/login.php';
|
||||
echo $urlLoginSpota;
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
checkKey('POST', 'username');
|
||||
checkKey('POST', 'password');
|
||||
|
||||
$username = trim(strtoupper($_POST['username']));
|
||||
$password = $_POST['password'];
|
||||
|
||||
$loginSuccess = false;
|
||||
$pesanError = 'Username dan password tidak cocok!!!';
|
||||
|
||||
|
||||
$postData = array(
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
);
|
||||
|
||||
$postData = http_build_query($postData);
|
||||
|
||||
/**
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
|
||||
curl_setopt($ch, CURLOPT_URL, $urlLoginSpota);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
||||
|
||||
$resultJSON = curl_exec($ch);
|
||||
*/
|
||||
|
||||
$opts = array('http' =>
|
||||
array(
|
||||
'method' => 'POST',
|
||||
'header' => 'Content-Type: application/x-www-form-urlencoded',
|
||||
'content' => $postData
|
||||
)
|
||||
);
|
||||
$context = stream_context_create($opts);
|
||||
$resultJSON = file_get_contents($urlLoginSpota, false, $context);
|
||||
|
||||
$result = json_decode($resultJSON, 1);
|
||||
/**
|
||||
if (curl_errno($ch)) {
|
||||
$error_msg = curl_error($ch);
|
||||
print_r($error_msg);
|
||||
}
|
||||
*/
|
||||
$redir = '';
|
||||
if (isset($result['status'])) {
|
||||
$status = $result['status'];
|
||||
if ($status === 1) {
|
||||
$token = $token = createToken($username);
|
||||
$level = $result['level'];
|
||||
$data = $result['data'];
|
||||
|
||||
if ($level == 'mahasiswa') {
|
||||
$loginSuccess = true;
|
||||
|
||||
$sql = 'SELECT * FROM mahasiswa WHERE nim = :nim';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':nim', $username);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
$sql = 'INSERT INTO mahasiswa(idMahasiswa, nim, nama, email, token) VALUES(:idMhs, :nim, :nama, :email, :token)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idMhs', $data['id']);
|
||||
$stmt->bindParam(':nim', $username);
|
||||
$stmt->bindParam(':nama', $data['nama']);
|
||||
$stmt->bindParam(':email', $data['email']);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
} else {
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$tokenDb = $row['token'];
|
||||
$updateToken = false;
|
||||
|
||||
if ($tokenDb == null) {
|
||||
$updateToken = true;
|
||||
} else {
|
||||
if ($tokenDb == '') {
|
||||
$updateToken = true;
|
||||
} else {
|
||||
$token = $tokenDb;
|
||||
}
|
||||
}
|
||||
|
||||
if ($updateToken) {
|
||||
$sql = 'UPDATE mahasiswa SET token = :token WHERE idMahasiswa = :id';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':id', $data['id']);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data['token'] = $token;
|
||||
$_SESSION['konsulMahasiswa'] = $data;
|
||||
$redir = 'mahasiswa/';
|
||||
} elseif ($level == 'dosen') {
|
||||
$loginSuccess = true;
|
||||
if($username === "123456"){
|
||||
$username = "198908192019032012";
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM dosen WHERE nip = :nip';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':nip', $username);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
$sql = 'INSERT INTO dosen(idDosen, nip, namaDosen, email, hp, token) VALUES(:idDosen, :nip, :nama, :email, :hp, :token)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idDosen', $data['id']);
|
||||
$stmt->bindParam(':nip', $username);
|
||||
$stmt->bindParam(':nama', $data['nama']);
|
||||
$stmt->bindParam(':email', $data['email']);
|
||||
$stmt->bindParam(':hp', $data['hp']);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
} else {
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$tokenDb = $row['token'];
|
||||
$updateToken = false;
|
||||
|
||||
if ($tokenDb == null) {
|
||||
$updateToken = true;
|
||||
} else {
|
||||
if ($tokenDb == '') {
|
||||
$updateToken = true;
|
||||
} else {
|
||||
$token = $tokenDb;
|
||||
}
|
||||
}
|
||||
|
||||
if ($updateToken) {
|
||||
$sql = 'UPDATE dosen SET token = :token WHERE idDosen = :id';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':id', $data['id']);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$data['token'] = $token;
|
||||
|
||||
$_SESSION['konsulDosen'] = $data;
|
||||
$redir = 'dosen/';
|
||||
} else {
|
||||
echo json_encode(array('status' => 0, 'msg' => 'Tipe login user tidak diketahui.'));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$pesanError = 'Tidak dapat terhubung ke server SPOTA.';
|
||||
//spota down here
|
||||
}
|
||||
|
||||
if ($loginSuccess) {
|
||||
echo json_encode(array('status' => 1, 'msg' => 'Login sukses!!!', 'data' => $data, 'redir' => $redir));
|
||||
} else {
|
||||
echo json_encode(array('status' => 0, 'msg' => $pesanError));
|
||||
}
|
||||
48
konsultasi/API/web/postPengaturan.php
Normal file
48
konsultasi/API/web/postPengaturan.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?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', 'email');
|
||||
checkKey('POST', 'hp');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
$email = trim($_POST['email']);
|
||||
$hp = trim($_POST['hp']);
|
||||
|
||||
$sql = 'UPDATE mahasiswa SET email = :email, hp = :hp WHERE token = :token';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->bindParam(':email', $email);
|
||||
$stmt->bindParam(':hp', $hp);
|
||||
$stmt->execute();
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil mengubah data pribadi!!!',
|
||||
)
|
||||
);
|
||||
}
|
||||
77
konsultasi/API/web/tambahKonsultasi.php
Normal file
77
konsultasi/API/web/tambahKonsultasi.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?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', 'topik');
|
||||
checkKey('POST', 'tanggal');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
$id = trim($_POST['id']);
|
||||
$topik = trim($_POST['topik']);
|
||||
$tanggal = trim($_POST['tanggal']);
|
||||
|
||||
$authorized = false;
|
||||
|
||||
$sql = 'SELECT * FROM tugas_akhir LEFT JOIN mahasiswa ON tugas_akhir.nim = mahasiswa.nim WHERE token = :token AND idTugasAkhir = :idTugasAkhir';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->bindParam(':idTugasAkhir', $id);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$authorized = true;
|
||||
}
|
||||
|
||||
if (!$authorized) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
if ($topik == '') {
|
||||
echo getDataEmptyMessage();
|
||||
exit();
|
||||
}
|
||||
$now = time();
|
||||
$dateNow = date('d-m-Y', $now);
|
||||
|
||||
$sql = 'INSERT INTO konsultasi(tanggal, timestamp, idTugasAkhir, topik) VALUES (:tanggal, :timestamp, :idTA, :topik)';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':tanggal', $tanggal);
|
||||
$stmt->bindParam(':timestamp', $now);
|
||||
$stmt->bindParam(':idTA', $id);
|
||||
$stmt->bindParam(':topik', $topik);
|
||||
$stmt->execute();
|
||||
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
'error' => $error,
|
||||
)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil menambah data konsultasi!!!',
|
||||
)
|
||||
);
|
||||
}
|
||||
143
konsultasi/API/web/verifKP.php
Normal file
143
konsultasi/API/web/verifKP.php
Normal file
@@ -0,0 +1,143 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
include '../../conf/koneksiPDO.php';
|
||||
include '../../conf/function.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
checkKey('POST', 'token');
|
||||
checkKey('POST', 'id');
|
||||
checkKey('POST', 'verif');
|
||||
checkKey('POST', 'catatan');
|
||||
|
||||
$token = $_POST['token'];
|
||||
$id = $_POST['id'];
|
||||
$verif = $_POST['verif'];
|
||||
$catatan = $_POST['catatan'];
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
$connBio = new createCon();
|
||||
$dbhBio = $connBio->connectDbBio();
|
||||
|
||||
$connDosen = new createCon();
|
||||
$dbhDosen = $connDosen->connectDbDosen();
|
||||
|
||||
$sql = 'SELECT * FROM dosen WHERE token = :token';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() === 0) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM kerja_praktek WHERE idKerjaPraktek = :idKP';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idKP', $id);
|
||||
$stmt->execute();
|
||||
$lanjutan = false;
|
||||
|
||||
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
$lanjutanDari = intval($row['lanjutanDari']);
|
||||
if($lanjutanDari > 0){
|
||||
$lanjutan = true;
|
||||
}
|
||||
}
|
||||
|
||||
if($lanjutan){
|
||||
$sql = 'SELECT * FROM kerja_praktek WHERE idKerjaPraktek = :idKP';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':idKP', $lanjutanDari);
|
||||
$stmt->execute();
|
||||
|
||||
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
$sql = 'UPDATE kerja_praktek SET setujuAdmin = :setuju, timestampSetujuAdmin = :timestamp, catatanKajur = :catatan WHERE idKerjaPraktek = :id';
|
||||
$stmt1 = $dbhBio->prepare($sql);
|
||||
$stmt1->bindParam(':setuju', $row['setujuAdmin']);
|
||||
$stmt1->bindParam(':timestamp', $row['timestampSetujuAdmin']);
|
||||
$stmt1->bindParam(':catatan', row['catatanKajur']);
|
||||
$stmt1->bindParam(':id', $id);
|
||||
$stmt1->execute();
|
||||
}
|
||||
}
|
||||
|
||||
$time = time();
|
||||
$sql = 'UPDATE kerja_praktek SET setuju = :setuju, timestampSetuju = :timestamp, catatanPA = :catatan WHERE idKerjaPraktek = :id';
|
||||
$stmt = $dbhBio->prepare($sql);
|
||||
$stmt->bindParam(':setuju', $verif);
|
||||
$stmt->bindParam(':timestamp', $time);
|
||||
$stmt->bindParam(':catatan', $catatan);
|
||||
$stmt->bindParam(':id', $id);
|
||||
$stmt->execute();
|
||||
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
[
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
||||
if(!$lanjutan){
|
||||
$sql = 'SELECT kerja_praktek.nim, nama_lengkap, topik, instansi FROM kerja_praktek LEFT JOIN bio_mahasiswa ON kerja_praktek.nim = bio_mahasiswa.nim WHERE idKerjaPraktek = :id';
|
||||
$stmt = $dbhBio->prepare($sql);
|
||||
$stmt->bindParam(':id', $id);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() > 0) {
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$nimMahasiswa = $row['nim'];
|
||||
$namaMahasiswa = $row['nama_lengkap'];
|
||||
$topik = $row['topik'];
|
||||
$namaInstansi = $row['instansi'];
|
||||
}
|
||||
|
||||
$emailTo = [];
|
||||
array_push($emailTo, 'tu@informatika.untan.ac.id');
|
||||
//array_push($emailTo, 'apriefekon92@gmail.com');
|
||||
array_push($emailTo, 'sholvariza@untan.ac.id');
|
||||
$judulEmail = 'Data Kerja Praktek Baru';
|
||||
|
||||
$isiEmail = "Data kerja praktek mahasiswa $namaMahasiswa / $nimMahasiswa mengajukan kerja praktek dengan topik '$topik' di instansi $namaInstansi dan telah di verifikasi oleh dosen PA masing-masing.";
|
||||
|
||||
$ch = curl_init();
|
||||
$emailParams = [];
|
||||
$emailParams['to'] = json_encode($emailTo);
|
||||
$emailParams['judul'] = $judulEmail;
|
||||
$emailParams['content'] = $isiEmail;
|
||||
$emailParams['from'] = 'system@informatika.untan.ac.id';
|
||||
|
||||
$postdata = $emailParams;
|
||||
curl_setopt($ch, CURLOPT_URL, 'https://informatika.untan.ac.id/API/sendMail.php');
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_exec($ch);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
[
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil melakukan verifikasi kerja praktek ini!!!',
|
||||
]
|
||||
);
|
||||
}
|
||||
125
konsultasi/API/web/verifKonsultasi.php
Normal file
125
konsultasi/API/web/verifKonsultasi.php
Normal file
@@ -0,0 +1,125 @@
|
||||
<?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', 'catatan');
|
||||
checkKey('POST', 'tanggal');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
$id = trim($_POST['id']);
|
||||
$catatan = trim($_POST['catatan']);
|
||||
$tanggal = trim($_POST['tanggal']);
|
||||
|
||||
$authorized = false;
|
||||
|
||||
$sql = 'SELECT * FROM dosen WHERE token = :token';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$authorized = true;
|
||||
}
|
||||
|
||||
if (!$authorized) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$nipDosen = $row['nip'];
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM konsultasi LEFT JOIN tugas_akhir on konsultasi.idTugasAkhir = tugas_akhir.idTugasAkhir WHERE (pemb1 = :pemb1 OR pemb2 = :pemb2) AND idKonsul = :idKonsul';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':pemb1', $nipDosen);
|
||||
$stmt->bindParam(':pemb2', $nipDosen);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$pemb1 = false;
|
||||
$pemb2 = false;
|
||||
$timestampDosen = 0;
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$pemb1Db = $row['pemb1'];
|
||||
$pemb2Db = $row['pemb2'];
|
||||
|
||||
if ($pemb1Db == $nipDosen) {
|
||||
$pemb1 = true;
|
||||
$timestampDosen = $row['timestampDosen1'];
|
||||
}
|
||||
|
||||
if ($pemb2Db == $nipDosen) {
|
||||
$pemb2 = true;
|
||||
$timestampDosen = $row['timestampDosen2'];
|
||||
}
|
||||
}
|
||||
/**
|
||||
if ($timestampDosen > 0) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil melakukan verifikasi konsultasi ini!!!',
|
||||
)
|
||||
);
|
||||
exit();
|
||||
}
|
||||
*/
|
||||
$now = time();
|
||||
if ($pemb1) {
|
||||
$sql = 'UPDATE konsultasi SET tanggal = :tanggal, timestampDosen1 = :timestamp, catatanDosen1 = :catatan WHERE idKonsul = :idKonsul';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':tanggal', $tanggal);
|
||||
$stmt->bindParam(':timestamp', $now);
|
||||
$stmt->bindParam(':catatan', $catatan);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
}
|
||||
|
||||
if ($pemb2) {
|
||||
$sql = 'UPDATE konsultasi SET tanggal = :tanggal, timestampDosen2 = :timestamp, catatanDosen2 = :catatan WHERE idKonsul = :idKonsul';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':tanggal', $tanggal);
|
||||
$stmt->bindParam(':timestamp', $now);
|
||||
$stmt->bindParam(':catatan', $catatan);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
}
|
||||
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil melakukan verifikasi konsultasi ini!!!',
|
||||
)
|
||||
);
|
||||
}
|
||||
96
konsultasi/API/web/verifKonsultasiKP.php
Normal file
96
konsultasi/API/web/verifKonsultasiKP.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
include '../../conf/koneksiPDO.php';
|
||||
include '../../conf/function.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
$connBio = new createCon();
|
||||
$dbhBio = $connBio->connectDbBio();
|
||||
|
||||
checkKey('POST', 'token');
|
||||
checkKey('POST', 'id');
|
||||
checkKey('POST', 'catatan');
|
||||
checkKey('POST', 'tanggal');
|
||||
|
||||
$token = trim($_POST['token']);
|
||||
$id = trim($_POST['id']);
|
||||
$catatan = trim($_POST['catatan']);
|
||||
$tanggal = trim($_POST['tanggal']);
|
||||
|
||||
$authorized = false;
|
||||
|
||||
$sql = 'SELECT * FROM dosen WHERE token = :token';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() > 0) {
|
||||
$authorized = true;
|
||||
}
|
||||
|
||||
if (!$authorized) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$sql = 'SELECT * FROM konsultasi_kp WHERE idKonsul = :idKonsul';
|
||||
$stmt = $dbhBio->prepare($sql);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() == 0) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$timestampDosen = $row['timestampVerif'];
|
||||
}
|
||||
|
||||
if ($timestampDosen > 0) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil melakukan verifikasi konsultasi ini!!!',
|
||||
)
|
||||
);
|
||||
exit();
|
||||
}
|
||||
|
||||
$now = time();
|
||||
$sql = 'UPDATE konsultasi_kp SET tanggal = :tanggal, timestampVerif = :timestamp, catatanDosen = :catatan WHERE idKonsul = :idKonsul';
|
||||
$stmt = $dbhBio->prepare($sql);
|
||||
$stmt->bindParam(':tanggal', $tanggal);
|
||||
$stmt->bindParam(':timestamp', $now);
|
||||
$stmt->bindParam(':catatan', $catatan);
|
||||
$stmt->bindParam(':idKonsul', $id);
|
||||
$stmt->execute();
|
||||
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array(
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil melakukan verifikasi konsultasi ini!!!',
|
||||
)
|
||||
);
|
||||
}
|
||||
110
konsultasi/API/web/verifProposalKP.php
Normal file
110
konsultasi/API/web/verifProposalKP.php
Normal file
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
include '../../conf/koneksiPDO.php';
|
||||
include '../../conf/function.php';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
checkKey('POST', 'token');
|
||||
checkKey('POST', 'id');
|
||||
checkKey('POST', 'verif');
|
||||
checkKey('POST', 'catatan');
|
||||
|
||||
$token = $_POST['token'];
|
||||
$id = $_POST['id'];
|
||||
$verif = $_POST['verif'];
|
||||
$catatan = $_POST['catatan'];
|
||||
|
||||
$conn = new createCon();
|
||||
$dbh = $conn->connect();
|
||||
|
||||
$connBio = new createCon();
|
||||
$dbhBio = $connBio->connectDbBio();
|
||||
|
||||
$connDosen = new createCon();
|
||||
$dbhDosen = $connDosen->connectDbDosen();
|
||||
|
||||
$sql = 'SELECT * FROM dosen WHERE token = :token';
|
||||
$stmt = $dbh->prepare($sql);
|
||||
$stmt->bindParam(':token', $token);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() === 0) {
|
||||
echo getUnauthorizedMessage();
|
||||
exit();
|
||||
}
|
||||
|
||||
$time = time();
|
||||
$sql = 'UPDATE kerja_praktek SET proposalApproved = :setuju, timestampApproved = :timestamp, catatanRevisiProposal = :catatan WHERE idKerjaPraktek = :id';
|
||||
$stmt = $dbhBio->prepare($sql);
|
||||
$stmt->bindParam(':setuju', $verif);
|
||||
$stmt->bindParam(':timestamp', $time);
|
||||
$stmt->bindParam(':catatan', $catatan);
|
||||
$stmt->bindParam(':id', $id);
|
||||
$stmt->execute();
|
||||
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$isError = true;
|
||||
|
||||
if ($error[0] == '00000') {
|
||||
$isError = false;
|
||||
}
|
||||
|
||||
if ($isError) {
|
||||
echo json_encode(
|
||||
[
|
||||
'status' => 0,
|
||||
'msg' => 'Terjadi kesalahan teknis!!!',
|
||||
]
|
||||
);
|
||||
} else {
|
||||
$sql = 'SELECT kerja_praktek.nim, nama_lengkap, topik, instansi FROM kerja_praktek LEFT JOIN bio_mahasiswa ON kerja_praktek.nim = bio_mahasiswa.nim WHERE idKerjaPraktek = :id';
|
||||
$stmt = $dbhBio->prepare($sql);
|
||||
$stmt->bindParam(':id', $id);
|
||||
$stmt->execute();
|
||||
|
||||
if ($stmt->rowCount() > 0) {
|
||||
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||
$nimMahasiswa = $row['nim'];
|
||||
$namaMahasiswa = $row['nama_lengkap'];
|
||||
$topik = $row['topik'];
|
||||
$namaInstansi = $row['instansi'];
|
||||
}
|
||||
|
||||
$emailTo = [];
|
||||
array_push($emailTo, 'tu@informatika.untan.ac.id');
|
||||
//array_push($emailTo, 'apriefekon92@gmail.com');
|
||||
array_push($emailTo, 'sholvariza@untan.ac.id');
|
||||
$judulEmail = 'Verifikasi Proposal oleh dosen pembimbing KP';
|
||||
|
||||
$isiEmail = "Proposal kerja praktek mahasiswa $namaMahasiswa / $nimMahasiswa telah di verifikasi oleh dosen KP masing-masing.";
|
||||
|
||||
$ch = curl_init();
|
||||
$emailParams = [];
|
||||
$emailParams['to'] = json_encode($emailTo);
|
||||
$emailParams['judul'] = $judulEmail;
|
||||
$emailParams['content'] = $isiEmail;
|
||||
$emailParams['from'] = 'system@informatika.untan.ac.id';
|
||||
|
||||
$postdata = $emailParams;
|
||||
curl_setopt($ch, CURLOPT_URL, 'https://informatika.untan.ac.id/API/sendMail.php');
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_exec($ch);
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
[
|
||||
'status' => 1,
|
||||
'msg' => 'Berhasil melakukan verifikasi kerja praktek ini!!!',
|
||||
]
|
||||
);
|
||||
}
|
||||
11
konsultasi/API/web/web-refreshSession.php
Normal file
11
konsultasi/API/web/web-refreshSession.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
|
||||
if (isset($_SESSION['konsulDosen'])) {
|
||||
$_SESSION['konsulDosen'] = $_SESSION['konsulDosen'];
|
||||
}
|
||||
|
||||
if (isset($_SESSION['konsulMahasiswa'])) {
|
||||
$_SESSION['konsulMahasiswa'] = $_SESSION['konsulMahasiswa'];
|
||||
}
|
||||
Reference in New Issue
Block a user