Add consultation module assets and libraries

This commit is contained in:
Power BI Dev
2026-05-02 10:11:07 +07:00
parent a52c2a8462
commit 5fb1151fea
1239 changed files with 392281 additions and 0 deletions

View File

@@ -0,0 +1,94 @@
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
include '../conf/koneksiPDO.php';
include '../conf/function.php';
header('Content-Type: application/json');
$conn = new createCon();
$dbh = $conn->connect();
$dbhSpota = $conn->connectSpota();
$sql = 'SELECT idDosen FROM dosen';
$stmt = $dbh->prepare($sql);
$stmt->execute();
$listDosenDb = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$idDosenDb = $row['idDosen'];
$listDosenDb[$idDosenDb] = true;
}
//$data = file_get_contents('http://spota.untan.ac.id/steven/API/getListDosen.php?secret=in14d4lahP4ssWordSP0TA!12!');
//$url = 'http://spota.untan.ac.id/steven/API/getListDosen.php?secret=in14d4lahP4ssWordSP0TA!12!';
/**
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
*/
//$data = file_get_contents($url);
$sql = 'SELECT * FROM tbdosen';
$stmt = $dbhSpota->prepare($sql);
$stmt->execute();
$data = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$id = $row['iddosen'];
$nip = $row['nip'];
$nama = $row['nmLengkap'];
$email = $row['email'];
$hp = $row['nohp'];
$foto = $row['foto'];
$urlFoto = "http://spota.untan.ac.id/img/$foto";
array_push($data, array(
'id' => $id,
'nip' => $nip,
'nama' => $nama,
'email' => $email,
'hp' => $hp,
'urlFoto' => $urlFoto,
));
}
$decoded = ['data' => $data];
//$decoded = json_decode($data, 1);
$banyakData = sizeof($decoded['data']);
for ($i = 0; $i < $banyakData; ++$i) {
$dataDosen = $decoded['data'][$i];
$id = $dataDosen['id'];
$nip = $dataDosen['nip'];
$nama = $dataDosen['nama'];
$email = $dataDosen['email'];
$hp = $dataDosen['hp'];
$urlFoto = $dataDosen['urlFoto'];
if (!isset($listDosenDb[$id])) {
$sql = 'INSERT INTO dosen(idDosen, nip, namaDosen, email, hp, urlFoto) VALUES (:id, :nip, :nama, :email, :hp, :urlFoto)';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nip', $nip);
$stmt->bindParam(':nama', $nama);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':hp', $hp);
$stmt->bindParam(':urlFoto', $urlFoto);
$stmt->execute();
} else {
$sql = 'UPDATE dosen SET nip = :nip, namaDosen = :nama, email = :email, hp = :hp, urlFoto = :urlFoto WHERE idDosen = :id';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nip', $nip);
$stmt->bindParam(':nama', $nama);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':hp', $hp);
$stmt->bindParam(':urlFoto', $urlFoto);
$stmt->execute();
}
}
echo json_encode(['status' => 1, 'msg' => 'ok']);

View File

@@ -0,0 +1,109 @@
<?php
include '../conf/koneksiPDO.php';
include '../conf/function.php';
header('Content-Type: application/json');
$conn = new createCon();
$dbh = $conn->connect();
$dbhSpota = $conn->connectSpota();
$tahun = date('Y');
$tahunTerakhir = $tahun - 7;
$sql = 'SELECT idMahasiswa FROM mahasiswa';
$stmt = $dbh->prepare($sql);
$stmt->execute();
$listMahasiswaDb = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$idDb = $row['idMahasiswa'];
$listMahasiswaDb[$idDb] = true;
}
//$data = file_get_contents('http://spota.untan.ac.id/steven/API/getListMahasiswa.php?secret=in14d4lahP4ssWordSP0TA!12!');
//$url = "http://spota.untan.ac.id/steven/API/getListMahasiswa.php?withHP&mulaiTahun=$tahunTerakhir&secret=in14d4lahP4ssWordSP0TA!12!";
/*
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
*/
//$data = file_get_contents($url);
//$decoded = json_decode($data, 1);
$whereThnMasuk = " WHERE thnmasuk >= $tahunTerakhir ";
$sql = "SELECT * FROM tbmhs $whereThnMasuk";
$stmt = $dbhSpota->prepare($sql);
$stmt->execute();
$data = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$id = $row['idmhs'];
$nim = $row['nim'];
$nama = $row['nmLengkap'];
$email = $row['email'];
$foto = $row['foto'];
$angkatan = $row['thnmasuk'];
$urlFoto = "http://spota.untan.ac.id/img/$foto";
$finalData = [
'id' => $id,
'nim' => $nim,
'nama' => $nama,
'email' => $email,
'urlFoto' => $urlFoto,
'angkatan' => $angkatan,
];
$finalData['hp'] = $row['noHP'];
$finalData['hpOrtu'] = $row['noHPOrtu'];
array_push($data, $finalData);
}
$decoded = ['data' => $data];
$banyakData = sizeof($decoded['data']);
for ($i = 0; $i < $banyakData; ++$i) {
$mahasiswa = $decoded['data'][$i];
$id = $mahasiswa['id'];
$nip = $mahasiswa['nim'];
$nama = $mahasiswa['nama'];
$email = $mahasiswa['email'];
$urlFoto = $mahasiswa['urlFoto'];
$angkatan = $mahasiswa['angkatan'];
$hp = $mahasiswa['hp'];
$hpOrtu = $mahasiswa['hpOrtu'];
if (!isset($listMahasiswaDb[$id])) {
$sql = 'INSERT INTO mahasiswa(idMahasiswa, nim, nama, email, urlFoto, angkatan, hp, hpOrtu) VALUES (:id, :nip, :nama, :email, :urlFoto, :angkatan, :hp, :hpOrtu)';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nip', $nip);
$stmt->bindParam(':nama', $nama);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':angkatan', $angkatan);
$stmt->bindParam(':hp', $hp);
$stmt->bindParam(':hpOrtu', $hpOrtu);
$stmt->bindParam(':urlFoto', $urlFoto);
$stmt->execute();
} else {
$sql = 'UPDATE mahasiswa SET nim = :nip, nama = :nama, email = :email, urlFoto = :urlFoto, angkatan = :angkatan, hp = :hp, hpOrtu = :hpOrtu WHERE idMahasiswa = :id';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nip', $nip);
$stmt->bindParam(':nama', $nama);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':angkatan', $angkatan);
$stmt->bindParam(':urlFoto', $urlFoto);
$stmt->bindParam(':hp', $hp);
$stmt->bindParam(':hpOrtu', $hpOrtu);
$stmt->execute();
}
}
echo json_encode(['status' => 1, 'msg' => 'ok']);

View File

@@ -0,0 +1,155 @@
<?php
include '../conf/koneksiPDO.php';
include '../conf/function.php';
header('Content-Type: application/json');
$conn = new createCon();
$dbh = $conn->connect();
$dbhSpota = $conn->connectSpota();
$sql = 'SELECT idTugasAkhir FROM tugas_akhir';
$stmt = $dbh->prepare($sql);
$stmt->execute();
$listTugasAkhirDb = [];
$listIdPraoutline = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$idDb = $row['idTugasAkhir'];
$idPraoutlineDb = $row['idPraoutline'];
$listTugasAkhirDb[$idDb] = true;
$listIdPraoutline[$idPraoutlineDb] = true;
}
$tahun = date('Y');
$tahunTerakhir = $tahun - 7;
//$data = file_get_contents('http://spota.untan.ac.id/steven/API/getListTugasAkhir.php?secret=in14d4lahP4ssWordSP0TA!12!');
//$url = "http://spota.untan.ac.id/steven/API/getListTugasAkhir.php?withoutKep&mulaiTahun=$tahunTerakhir&secret=in14d4lahP4ssWordSP0TA!12!";
/**
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
*/
//$data = file_get_contents($url);
//$decoded = json_decode($data, 1);
//$whereKep = " AND kep_akhir = '1' ";
$whereKep = "";
$whereTahunMasuk = " AND thnmasuk >= $tahunTerakhir ";
$sql = "SELECT t.*, t1.id as sidang FROM (SELECT tbrekaphasil.*, tbmhs.idmhs, tbmhs.thnmasuk, tbmhs.nmLengkap FROM tbrekaphasil LEFT JOIN tbmhs ON tbrekaphasil.nim = tbmhs.nim WHERE 1=1 $whereTahunMasuk $whereKep) t LEFT JOIN (SELECT * FROM tbjadwal WHERE jenis = 'Sidang' AND publish = 'Y') t1 ON t.idmhs = t1.idMhs";
$stmt = $dbhSpota->prepare($sql);
$stmt->execute();
$data = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$id = $row['id'];
$nim = $row['nim'];
$judul = $row['judul_final'];
$pemb1 = $row['pemb1'];
$pemb2 = $row['pemb2'];
$peng1 = $row['peng1'];
$peng2 = $row['peng2'];
$semester = $row['semester'];
$tahun = $row['tahun_ajaran'];
$tanggalKep = $row['tgl_kep'];
$waktuKep = $row['wkt_kep'];
$idPraoutline = $row['idpraoutline'];
$keputusan = $row['kep_akhir'];
$sidang = 1;
if (empty($row['sidang'])) {
$sidang = 0;
}
if ($row['thnmasuk'] < 2015) {
$sidang = 1;
}
array_push($data, [
'id' => $id,
'judul' => $judul,
'nim' => $nim,
'nama' => $row['nmLengkap'],
'pemb1' => $pemb1,
'pemb2' => $pemb2,
'peng1' => $peng1,
'peng2' => $peng2,
'semester' => $semester,
'tahun' => $tahun,
'tanggalKeputusan' => $tanggalKep,
'waktuKeputusan' => $waktuKep,
'idPraoutline' => $idPraoutline,
'keputusan' => $keputusan,
'sidang' => $sidang,
]);
}
$decoded = ['data' => $data];
$banyakData = sizeof($decoded['data']);
print_r($data);
for ($i = 0; $i < $banyakData; ++$i) {
$tugasAkhir = $decoded['data'][$i];
$id = $tugasAkhir['id'];
$nim = $tugasAkhir['nim'];
$judul = $tugasAkhir['judul'];
$pemb1 = $tugasAkhir['pemb1'];
$pemb2 = $tugasAkhir['pemb2'];
$peng1 = $tugasAkhir['peng1'];
$peng2 = $tugasAkhir['peng2'];
$semester = $tugasAkhir['semester'];
$tahun = $tugasAkhir['tahun'];
$tanggalKeputusan = $tugasAkhir['tanggalKeputusan'];
$waktuKeputusan = $tugasAkhir['waktuKeputusan'];
$idPraoutline = $tugasAkhir['idPraoutline'];
$keputusan = $tugasAkhir['keputusan'];
$sidang = $tugasAkhir['sidang'];
if (!isset($listTugasAkhirDb[$id])) {
if(isset($listIdPraoutline[$idPraoutline])){
continue;
}
$sql = 'INSERT INTO tugas_akhir(idTugasAkhir, nim, judul, pemb1, pemb2, peng1, peng2, semester, tahunAjaran, tanggalKeputusan, waktuKeputusan, idPraoutline, keputusan, selesai) VALUES (:id, :nim, :judul, :pemb1, :pemb2, :peng1, :peng2, :semester, :tahun, :tanggalKeputusan, :waktuKeputusan, :idPraoutline, :keputusan, :sidang)';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nim', $nim);
$stmt->bindParam(':judul', $judul);
$stmt->bindParam(':pemb1', $pemb1);
$stmt->bindParam(':pemb2', $pemb2);
$stmt->bindParam(':peng1', $peng1);
$stmt->bindParam(':peng2', $peng2);
$stmt->bindParam(':semester', $semester);
$stmt->bindParam(':tahun', $tahun);
$stmt->bindParam(':tanggalKeputusan', $tanggalKeputusan);
$stmt->bindParam(':waktuKeputusan', $waktuKeputusan);
$stmt->bindParam(':idPraoutline', $idPraoutline);
$stmt->bindParam(':keputusan', $keputusan);
$stmt->bindParam(':sidang', $sidang);
$stmt->execute();
} else {
$sql = 'UPDATE tugas_akhir SET nim = :nim, judul = :judul, pemb1 = :pemb1, pemb2 = :pemb2, peng1 = :peng1, peng2 = :peng2, semester = :semester, tahunAjaran = :tahun, tanggalKeputusan = :tanggalKeputusan, waktuKeputusan = :waktuKeputusan, idPraoutline = :idPraoutline, keputusan = :keputusan, selesai = :sidang WHERE idTugasAkhir = :id';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nim', $nim);
$stmt->bindParam(':judul', $judul);
$stmt->bindParam(':pemb1', $pemb1);
$stmt->bindParam(':pemb2', $pemb2);
$stmt->bindParam(':peng1', $peng1);
$stmt->bindParam(':peng2', $peng2);
$stmt->bindParam(':semester', $semester);
$stmt->bindParam(':tahun', $tahun);
$stmt->bindParam(':tanggalKeputusan', $tanggalKeputusan);
$stmt->bindParam(':waktuKeputusan', $waktuKeputusan);
$stmt->bindParam(':idPraoutline', $idPraoutline);
$stmt->bindParam(':keputusan', $keputusan);
$stmt->bindParam(':sidang', $sidang);
$stmt->execute();
}
}
echo json_encode(['status' => 1, 'msg' => 'ok']);

View File

@@ -0,0 +1,102 @@
<?php
session_start();
include '../conf/koneksiPDO.php';
include '../conf/function.php';
//header('Content-Type: application/json');
$conn = new createCon();
$dbh = $conn->connect();
$dbhSpota = $conn->connectSpota();
$waktuBatasKonsul = strtotime(date('d-m-Y', strtotime('-7 days')));
$tahun = date('Y');
$tahunAwal = $tahun - 7;
echo $tahunAwal;
$sqlLimit = "SELECT tugas_akhir.*, mahasiswa.nama, mahasiswa.hp, mahasiswa.hpOrtu, waktuTerakhirKonsul 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 angkatan >= $tahunAwal AND selesai = '0' AND keputusan = '1' AND (waktuTerakhirKonsul < $waktuBatasKonsul OR waktuTerakhirKonsul IS NULL)";
//echo $sqlLimit;
$stmt = $dbh->prepare($sqlLimit);
$stmt->execute();
//print_r($stmt->errorInfo());
$data = [];
$no = 1;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$noPushed = $start + $no;
$judul = $row['judul'];
$nama = $row['nama'];
$nim = $row['nim'];
$hp = $row['hp'];
$hpOrtu = $row['hpOrtu'];
$pemb1 = $row['pemb1'];
if($pemb1 == null || empty($pemb1)){
continue;
}
echo $hp;
echo $hpOrtu;
$waktuTerakhirKonsul = $row['waktuTerakhirKonsul'];
$judul = '*NOTIFIKASI KONSULTASI TUGAS AKHIR*';
$isiNotifMahasiswa = '';
$isiNotifOrtu = '';
if (empty($waktuTerakhirKonsul)) {
$isiNotifMahasiswa = "*$nama / $nim* \nAnda belum pernah melakukan konsultasi Skripsi/Tugas Akhir. Segera konsultasikan Skripsi/Tugas Akhir Anda dengan Dosen Pembimbing dan isi data konsultasi Anda di https://spota.untan.ac.id/konsultasi/ \n\nSalam,\n*SPOTA INFORMATIKA UNTAN*";
$isiNotifOrtu = "Kepada Yth Bapak/Ibu\nOrang tua/Wali dari *$nama / $nim*\nMemberitahukan bahwa *$nama* lebih dari 7 hari belum melakukan konsultasi Skripsi/Tugas Akhir kepada Dosen Pembimbing. Mohon kerjasama Bapak/Ibu untuk mengingatkan. \n\nSalam,\n*SPOTA INFORMATIKA UNTAN*\n\n_Early warning ini dikirim secara otomatis oleh Sistem Pemantauan Kemajuan Skripsi_";
} else {
$timeAwal = intval($waktuTerakhirKonsul);
$timeAkhir = time();
$datediff = $timeAkhir - $timeAwal;
$diffDay = round($datediff / (60 * 60 * 24));
if ($diffDay < 0) {
$diffDay = 0;
}
$dateKonsul = date('d-m-Y', $waktuTerakhirKonsul);
$isiNotifMahasiswa = "*$nama / $nim* \nAnda belum melakukan konsultasi Skripsi/Tugas Akhir selama 7 hari terakhir terakhir. Konsultasi terakhir Anda pada $dateKonsul. Segera konsultasikan Skripsi/Tugas Akhir Anda dengan Dosen Pembimbing dan isi data konsultasi Anda di https://spota.untan.ac.id/konsultasi/ \n\nSalam,\n*SPOTA INFORMATIKA UNTAN*";
$isiNotifOrtu = "Kepada Yth Bapak/Ibu\nOrang tua/Wali dari *$nama / $nim*\nMemberitahukan bahwa *$nama* lebih dari 7 hari belum melakukan konsultasi Skripsi/Tugas Akhir kepada Dosen Pembimbing. Terakhir konsultasi pada $dateKonsul. Mohon kerjasama Bapak/Ibu untuk mengingatkan. \n\nSalam,\n*SPOTA INFORMATIKA UNTAN*\n\n_Early warning ini dikirim secara otomatis oleh Sistem Pemantauan Kemajuan Skripsi_";
}
// $isiNotifMahasiswa .= "\n\n*SPOTA INFORMATIKA UNTAN*";
// $isiNotifOrtu .= "\n\n*SPOTA INFORMATIKA UNTAN*";
echo '<br><br>Kepada Mahasiswa : <br><br>';
echo "<pre>$isiNotifMahasiswa</pre>";
echo '<br><br>Kepada Ortu : <br><br>';
echo "<pre>$isiNotifOrtu</pre>";
echo '<br>-----------------------------------------------------------------------------------------------<br>';
if(!empty($hp) && strlen($hp) > 5){
$hp = intval($hp);
$hp = '62'.$hp;
$sql = "INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(:toX, :isiPesan)";
$stmt1 = $dbhSpota->prepare($sql);
$stmt1->bindParam(':toX', $hp);
$stmt1->bindParam(':isiPesan', $isiNotifMahasiswa);
$stmt1->execute();
}
if(!empty($hpOrtu) && strlen($hpOrtu) > 5){
$hpOrtu = intval($hpOrtu);
$hpOrtu = '62'.$hpOrtu;
$sql = "INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(:toX, :isiPesan)";
$stmt1 = $dbhSpota->prepare($sql);
$stmt1->bindParam(':toX', $hpOrtu);
$stmt1->bindParam(':isiPesan', $isiNotifOrtu);
$stmt1->execute();
}
}