130 lines
3.7 KiB
PHP
130 lines
3.7 KiB
PHP
<?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']);
|