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']);