Stabilize legacy Steven API endpoints and add OpenAPI spec

This commit is contained in:
Power BI Dev
2026-05-07 14:50:31 +07:00
parent f1c1f42a4c
commit e7b07a3cfd
17 changed files with 2755 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
<?php
include '../conf/class.server.php';
include '../conf/koneksiPDO.php';
include '../conf/function.php';
header('Content-Type: application/json');
$server = new Server();
$conn = new createCon();
$dbh = $conn->connect();
checkKey('GET', 'secret');
checkKey('GET', 'idKK');
checkKey('GET', 'tgl');
requireRobotSecret();
$idKK = intval($_GET['idKK']);
$timestampTgl = strtotime($_GET['tgl']);
if ($timestampTgl === false) {
jsonResponse(['status' => 0, 'msg' => 'Format tanggal tidak valid'], 422);
}
$tanggalUpload = date('Y-m-d', $timestampTgl);
$sql = 'SELECT * FROM tb_kelompok_keahlian WHERE idKK = :idKK';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':idKK', $idKK);
$stmt->execute();
if ($stmt->rowCount() === 0) {
jsonResponse(['status' => 0, 'msg' => 'KK tidak ditemukan'], 404);
}
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$namaKK = $row['namaKK'];
$ketuaKK = $row['ketuaKK'];
}
$sql = 'SELECT * FROM tbdosen WHERE iddosen = :ketuaKK OR jenis = :jenisKajur';
$stmt = $dbh->prepare($sql);
$jenisKajur = 'K';
$stmt->bindParam(':ketuaKK', $ketuaKK);
$stmt->bindParam(':jenisKajur', $jenisKajur);
$stmt->execute();
$listNoHP = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$noHPDosen = $row['nohp'];
array_push($listNoHP, $noHPDosen);
}
$statusUsulan = '0';
$sql = 'SELECT tbpraoutline.*, tbmhs.idmhs, tbmhs.thnmasuk, tbmhs.nmLengkap FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim WHERE status_usulan = :statusUsulan AND kelompokKeahlian = :idKK AND tgl_upload < :tanggalUpload';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':statusUsulan', $statusUsulan);
$stmt->bindParam(':idKK', $idKK);
$stmt->bindParam(':tanggalUpload', $tanggalUpload);
$stmt->execute();
if ($stmt->rowCount() === 0) {
jsonResponse(['status' => 0, 'msg' => 'Tidak ada judul yang belum diclose untuk KK ini'], 404);
}
$judul = '*PERMINTAAN KEPUTUSAN DRAFT PROPOSAL*';
$isiNotif = "\n\nDraft proposal yang masih menunggu keputusan dari KK *$namaKK* sebagai berikut:\n\n";
$i = 1;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$id = $row['id'];
$nim = $row['nim'];
$nama = $row['nmLengkap'];
$judulSkripsi = $row['judul'];
$tanggalUpload = date('d-m-Y', strtotime($row['tgl_upload']));
$isiNotif .= "$i. $judulSkripsi ($nama/$nim) - Tanggal Upload : *$tanggalUpload*\n\n";
++$i;
}
$sendWA = $judul.$isiNotif."*SPOTA INFORMATIKA UNTAN*";
foreach ($listNoHP as $key => $hp) {
if(empty($hp)){
continue;
}
$hp = '62'.intval($hp);
$sql = "INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(:tujuan, :pesan)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':tujuan', $hp);
$stmt->bindParam(':pesan', $sendWA);
$stmt->execute();
// $data = [
// 'api_key' => '979b07377545d6ccda68e8fa2e8d629cad2216de',
// 'sender' => '6281522658229',
// 'number' => $hp,
// 'message' => $sendWA, ];
// //print_r($data);
// $curl = curl_init();
// curl_setopt_array($curl, [
// CURLOPT_URL => 'https://wa.gofly.id/api/send-message.php',
// CURLOPT_RETURNTRANSFER => true,
// CURLOPT_ENCODING => '',
// CURLOPT_MAXREDIRS => 10,
// CURLOPT_TIMEOUT => 2,
// CURLOPT_FOLLOWLOCATION => true,
// CURLOPT_SSL_VERIFYPEER => 0,
// CURLOPT_CONNECTTIMEOUT => 2,
// CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
// CURLOPT_CUSTOMREQUEST => 'POST',
// CURLOPT_POSTFIELDS => json_encode($data), ]
// );
// $response = curl_exec($curl);
// if (curl_errno($curl)) {
// $error_msg = curl_error($curl);
// echo $error_msg;
// }
}
echo json_encode(['status' => 1, 'msg' => 'ok']);