Files
spota-dev/dosen/page/praoutline/act.praoutline.php
Power BI Dev efdb11db3f Add SPOTA core PHP application
Add the main admin, dosen, mahasiswa, API, and service code needed to run the core legacy application with configurable upload storage.
2026-05-02 10:08:52 +07:00

2105 lines
99 KiB
PHP

<?php
session_start();
/**
error_reporting(E_ALL);
ini_set('display_errors', '1');
*/
if ($_SESSION['login-dosen']) {
if ($_POST) {
include '../../../inc/helper.php';
include '../../../inc/gcm_helper.php';
include '../../../inc/konfigurasi.php';
include '../../../inc/db.pdo.class.php';
$db = new dB($dbsetting);
$db2 = new dB($dbsetting);
switch ($_POST['act']) {
case 'post_review':
$idpraoutline = $_POST['idpra'];
$nip = $_SESSION['login-dosen']['nip'];
$prodi = $_SESSION['login-dosen']['prodi'];
$putusan = $_POST['putusan'];
if ($putusan != '') {
$kep = "jenis_review='1', putusan='".$putusan."',";
$check = "SELECT id FROM tbreview WHERE idProdi='$prodi' AND idpraoutline='$idpraoutline'
AND reviewer='$nip' AND (putusan IS NOT NULL AND putusan <> '')";
$db->runQuery($check);
if ($db->dbRows() > 0) {
echo json_encode(['result' => false, 'msg' => 'Maaf, Anda Telah Memberikan Keputusan pada Draft Praoutline ini']);
exit;
}
} else {
$kep = "jenis_review='0', putusan='',";
}
if (ctype_digit($idpraoutline)) {
if ($_POST['text_review'] == '') {
echo json_encode(['result' => false, 'msg' => 'Tanggapan harus diisi']);
} else {
$insert = "INSERT INTO tbreview SET
idpraoutline='".$idpraoutline."',
idProdi='".$prodi."',
reviewer='".$nip."',
review_text='".$_POST['text_review']."',
$kep
tgl='".CURDATE."',
wkt='".CURTIME."'";
if ($db->runQuery($insert)) {
echo json_encode(['result' => true, 'msg' => 'Sukses Menambahkan Tanggapan']);
if (count($_SESSION['selected_user']) > 0) {
//print_r($_SESSION['selected_user']);
$selecteduser = '';
for ($xx = 0; $xx < count($_SESSION['selected_user']); ++$xx) {
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$_SESSION['selected_user'][$xx]."',
jns_usr='M',
tgl='".NOW."',
msg='".$_SESSION['login-dosen']['nama_lengkap']." Menambahkan Tanggapan baru',
`read`='N'";
//echo $notif;
$db->runQuery($notif);
if ($xx == 0) {
$selecteduser = "'".$_SESSION['selected_user'][$xx]."'";
} else {
$selecteduser = ",'".$_SESSION['selected_user'][$xx]."'";
}
}
//notif wa
$g = "SELECT tbpraoutline.*, tbmhs.nmLengkap, tbmhs.noHP, namaKK FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'";
$db->runQuery($g);
$hp = null;
while ($r = $db->dbFetch()) {
$hp = $r['noHP'];
$judul = $r['judul'];
$namaMhs = $r['nmLengkap'];
$nimMhs = $r['nim'];
}
if(!empty($hp)){
$hp = '62'.intval($hp);
$isiPesanHP = "*NOTIFIKASI KOMENTAR DOSEN PADA FORUM DISKUSI (SPOTA)*\n\n*$namaMhs / $nimMhs*, anda mendapatkan komentar pada forum diskusi review draft praoutline anda yang berjudul *$judul*, klik link untuk mengakses forum diskusi dan membalas komentar dosen.\n\nhttps://spota.untan.ac.id/mahasiswa/dashboard.php?page=praoutline&menu=review\n\n\Perhatian: Draf PraOutline akan *terclose* secara otomatis oleh sistem SPOTA INFORMATIKA UNTAN jika anda tidak merespon balik komentar terakhir dosen dalam 14 hari.\n\n*SPOTA INFORMATIKA UNTAN*";
$isiPesanHP = str_replace('"', "'", $isiPesanHP);
$query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(
"'.$hp.'",
"'.$isiPesanHP.'"
)';
$db->runQuery($query);
}
//notif gcm
//-----------------------------------------------------------------------------
$g = "SELECT regid FROM gcm_service WHERE iduser IN($selecteduser) AND jenisuser ='M'";
$db->runQuery($g);
if ($db->dbRows() > 0) {
$registrationid = [];
while ($r = $db->dbFetch()) {
array_push($registrationid, $r['regid']);
}
$isipesan = $_SESSION['login-dosen']['nama_lengkap'].' Menambahkan Tanggapan baru';
$pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]);
$message = ['spota' => $pesan];
sendPushNotificationToGCM($registrationid, $message);
}
//--------------------------------------------------------------------------------
}
} else {
echo json_encode(['result' => false, 'msg' => 'Gagal Menambahkan Tanggapan, DBError']);
}
}
}
break;
case 'cari':
error_reporting(E_ALL);
ini_set('display_errors', '1');
$key = $_POST['key'];
$jenis = $_POST['by'];
$byDosen = ' 1=1 ';
$by = ' 1=1 ';
if ($jenis == 'nim') {
if (ctype_alnum($key)) {
$by = " tp.nim LIKE '%$key%' ";
} else {
$newkey = str_replace("'", "\'", $key);
$by = " tp.nim LIKE '%$newkey%' ";
}
} else if($jenis == 'dosen'){
if (ctype_alnum($key)) {
$byDosen = " (dpemb1 LIKE '%$key%' OR dpemb2 LIKE '%$key%' OR dpeng1 LIKE '%$key%' OR dpeng2 LIKE '%$key%') ";
} else {
$newkey = str_replace("'", "\'", $key);
$byDosen = " (dpemb1 LIKE '%$newkey%' OR dpemb2 LIKE '%$newkey%' OR dpeng1 LIKE '%$newkey%' OR dpeng2 LIKE '%$newkey%') ";
}
} else {
/*$pecah=explode(" ", $key);
$jpecah=count($pecah);
if($jpecah==1){
if(ctype_alnum($key)){
$by=" tp.judul LIKE '%$key%' ";
}else{
$newkey=str_replace("'", "\'", $key);
$by=" tp.judul LIKE '%$newkey%' ";
}
}else{
$by="";
if(ctype_alnum($key)){
for($x=0;$x<$jpecah;$x++){
if($x==0){
$by.=" tp.judul like '%$pecah[$x]%' ";
}else{
$by.=" OR tp.judul like '%$pecah[$x]%' ";
}
}
}else{
$newpecah=str_replace("'", "\'", $pecah[$x]);
for($x=0;$x<$jpecah;$x++){
if($x==0){
$by.=" tp.judul like '%$newpecah[$x]%' ";
}else{
$by.=" OR tp.judul like '%$newpecah[$x]%' ";
}
}
}
}*/
if (ctype_alnum($key)) {
$by = " MATCH (tp.judul) AGAINST ('".$key."')";
} else {
$newkey = str_replace("'", "\'", $key);
$by = " MATCH (tp.judul) AGAINST ('".$newkey."')";
}
}
//include "result-cari.php";
/*$cari="SELECT * FROM tbpraoutline WHERE $by ORDER BY tgl_upload,wkt_upload,nim,judul";*/
$cari = "SELECT
tp.id,
tp.nim,
tp.deskripsi,
tm.nmLengkap as nama,
tp.judul,
tp.tgl_upload,
tp.wkt_upload,
tp.status_usulan
FROM tbpraoutline tp
JOIN tbmhs tm ON (tp.nim=tm.nim)
WHERE $by";
$cari = "SELECT * FROM (SELECT tcari.*, (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=tbrekaphasil.pemb1) as dpemb1,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=tbrekaphasil.pemb2) as dpemb2,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=tbrekaphasil.peng1) as dpeng1,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=tbrekaphasil.peng2) as dpeng2 FROM ($cari) tcari LEFT JOIN tbrekaphasil ON tcari.id = tbrekaphasil.idpraoutline) tfinal WHERE 1=1 AND $byDosen ORDER BY tgl_upload DESC";
//echo $cari;
$db->runQuery($cari);
if ($db->dbRows() > 0) {
?>
<h3>Hasil Pencarian '<?php echo $key; ?>'</h3>
<hr>
<?php
while ($rcari = $db->dbFetch()) {
$idPraoutline = $rcari['id'];
$sql = "SELECT * FROM tbreview WHERE idpraoutline = '$idPraoutline'";
$resultReview = $db2->runQuery($sql);
$banyakReview = 0;
$banyakKomentar = 0;
$banyakPutusan = 0;
$banyakSetuju = 0;
$banyakTidakSetuju = 0;
while ($aRowReview = $db2->dbFetch($resultReview)) {
$jenisReview = $aRowReview['jenis_review'];
$banyakReview++;
switch($jenisReview){
case 0 : $banyakKomentar++; break;
case 1 : $banyakPutusan++;
if($aRowReview['putusan'] == '1'){
$banyakSetuju++;
}
if($aRowReview['putusan'] == '0'){
$banyakTidakSetuju++;
}
break;
}
}
if ($rcari['status_usulan'] == 0) {
$statusPraoutline = ' - <span class="label label-default">Dalam Proses</span>';
} elseif ($rcari['status_usulan'] == 1) {
$statusPraoutline = ' - <span class="label label-success">Judul Diterima</span>';
} elseif ($rcari['status_usulan'] == 2) {
$statusPraoutline = ' - <span class="label label-danger">Judul Ditolak</span>';
} elseif ($rcari['status_usulan'] == 3) {
$statusPraoutline = ' - <span class="label label-danger">Judul Gugur</span>';
} ?>
<div class="row">
<div class="col-sm-12">
<p><h4 style="text-align:left;margin-top:0"><a href="?page=praoutline&menu=review&prid=<?php echo $rcari['id']; ?>"><?php echo strtoupper($rcari['judul']); ?></a></h4></p>
<?php echo substr($rcari['deskripsi'], 0, 200).' ...'; ?>
<div class="row">
<div class="col-sm-8">
<p>Oleh <?php echo $rcari['nama'].' ('.$rcari['nim'].')'.$statusPraoutline; ?> - <a class="btn btn-xs btn-bricky" href="#"><i class="fa fa-trash-o"></i>Download File</a></p>
</div>
<div class="col-sm-4 text-right">
<p>Jumlah Review : <span class="badge badge-info"><?php echo $banyakReview; ?></span> | Setuju : <span class="badge badge-success"><?php echo $banyakSetuju; ?></span> | Tidak Setuju : <span class="badge badge-danger"><?php echo $banyakTidakSetuju; ?></span></p>
</div><hr/>
</div>
<?php switch ($rcari['status_usulan']) {
case '1':
$kep_final = "SELECT *,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=pemb1) as dpemb1,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=pemb2) as dpemb2,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=peng1) as dpeng1,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=peng2) as dpeng2
FROM tbrekaphasil WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND idpraoutline='".$rcari['id']."' LIMIT 1";
$db2->runQuery($kep_final);
if ($db2->dbRows() > 0) {
$kep = $db2->dbFetch(); ?>
<div class="alert alert-block alert-info">
<!-- <h4 class="alert-heading"><i class="fa fa-info-circle"></i> Info!</h4> -->
<div class="row">
<div class="col-sm-3">
<strong><u>Ditetapkan</u></strong> <br/>
Tanggal : <?php echo tanggalIndo($kep['tgl_kep'], 'j F Y'); ?> <br/>
Waktu : <?php echo substr($kep['wkt_kep'], 0, 5); ?> <br/>
Semester : <?php echo $kep['semester']; ?> <br/>
Tahun Akademik : <?php echo $kep['tahun_ajaran']; ?>
</div>
<div class="col-sm-4">
<strong><u>Dosen Pembimbing & Penguji</u></strong><br/>
Pembimbing 1 : <?php echo $kep['dpemb1']; ?> <br/>
Pembimbing 2 : <?php echo $kep['dpemb2']; ?> <br/>
Penguji 1 : <?php echo $kep['dpeng1']; ?> <br/>
Penguji 2 : <?php echo $kep['dpeng2']; ?>
</div>
<div class="col-sm-4">
<strong><u>Judul Outline</u></strong><br/>
<?php echo $kep['judul_final']; ?>
<strong><u>Catatan</u></strong><br/>
<?php echo $kep['ket']; ?>
</div>
</div>
</div>
<?php
} else {
echo '<div class="alert alert-danger">
<i class="clip-cancel-circle"></i>
<strong>Maaf!</strong> Data Tidak Ditemukan..
</div>';
}
break;
case '2':
break;
} ?>
</div>
</div>
<?php
} ?>
<?php
} else {
echo '<div class="alert alert-danger">
<i class="clip-cancel-circle"></i>
<strong>Maaf!</strong> Data Tidak Ditemukan..
</div>';
}
break;
case 'open_judul':
$idpraoutline = $_POST['idpr'];
$q1 = "DELETE FROM tbrekaphasil WHERE idpraoutline='".$idpraoutline."'";
$q2 = "UPDATE tbpraoutline SET status_usulan='0' WHERE id='".$idpraoutline."' ";
if ($db->runQuery($q1)) {
echo json_encode(['result' => true, 'msg' => 'Review Draft Praoutline Telah Dibuka Kembali.']);
$db->runQuery($q2);
} else {
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']);
}
break;
case 'update_putusan':
if (!(isset($_POST['eventButton']))) {
echo json_encode(['result' => false, 'msg' => 'Event tidak ditemukan']);
exit();
}
$eventKeputusan = strtolower(trim($_POST['eventButton']));
$idpraoutline = $_POST['idpr'];
$idputusan = $_POST['idputusan'];
$nim = $_POST['nim'];
$putusan = $_POST['putusan'];
$keterangan = $_POST['ket'];
$judulFinal = $_POST['judul_final'];
$q2 = '';
$judulEmail = 'Putusan Kaprodi';
$isiEmail = '';
$emailTo = [];
$listNoHP = [];
$g = "SELECT * FROM tbmhs WHERE nim='$nim'";
$db->runQuery($g);
$namaMahasiswa = '-';
while ($r = $db->dbFetch()) {
$idMhs = $r['idmhs'];
array_push($emailTo, $r['email']);
$namaMahasiswa = $r['nmLengkap'];
$noHPMahasiswa = $r['noHP'];
array_push($listNoHP, $r['noHP']);
$namaMahasiswa = $r['nmLengkap'];
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$dataMahasiswa = [
'nim' => $r['nim'],
'nama' => $r['nmLengkap'],
'email'=> $r['email'],
'hp' => $r['noHP'],
'urlFoto' => $foto,
];
}
//kirimkan ke no bu tuning
array_push($listNoHP, "082350250892");
$dataPembimbing = [];
$dataPenguji = [];
$g = "SELECT * FROM tbpraoutline LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'";
$db->runQuery($g);
$judulPraoutline = '-';
while ($r = $db->dbFetch()) {
$judulPraoutline = $r['judul'];
$idKelompokKeahlian = $r['kelompokKeahlian'];
$namaKK = $r['namaKK'];
}
if(empty($namaKK)){
$namaKK = '-';
}
if (trim($keterangan) === '') {
$keteranganText = '-';
} else {
$keteranganText = $keterangan;
}
$tanggal = date('d-m-Y');
$hari = date('w');
$hariText = '';
switch ($hari) {
case '0': $hariText = 'Minggu'; break;
case '1': $hariText = 'Senin'; break;
case '2': $hariText = 'Selasa'; break;
case '3': $hariText = 'Rabu'; break;
case '4': $hariText = 'Kamis'; break;
case '5': $hariText = 'Jumat'; break;
case '6': $hariText = 'Sabtu'; break;
}
$pembimbing1 = null;
$pembimbing2 = null;
$penguji1 = null;
$penguji2 = null;
$eventDikenali = false;
if ($eventKeputusan === 'penguji') {
$eventDikenali = true;
if ($_POST['peng1'] === '' || $_POST['peng2'] === '') {
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, harus 2 buah penguji yang ditunjuk']);
exit();
}
$tanggalKeputusanPenguji = $_POST['tanggalKeputusanPenguji'];
$semesterKeputusanPenguji = null;
if (empty($tanggalKeputusanPenguji)) {
$tanggalKeputusanPenguji = null;
$semesterKeputusanPenguji = null;
} else {
$bulanKeputusan = date('m', strtotime($tanggalKeputusanPenguji));
$tahunKeputusan = date('Y', strtotime($tanggalKeputusanPenguji));
if ($bulanKeputusan >= 2 && $bulanKeputusan <= 7) {
$tahunKeputusan = $tahunKeputusan - 1;
$semesterKeputusan = 'GEN';
} else {
$semesterKeputusan = 'GAS';
if($bulanKeputusan == 1){
$tahunKeputusan = $tahunKeputusan - 1;
}else{
$tahunKeputusan = $tahunKeputusan;
}
}
$semesterKeputusanPenguji = $semesterKeputusan.'-'.$tahunKeputusan;
}
$g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."')";
$db->runQuery($g);
$namaPemb1 = '-';
$namaPemb2 = '-';
$namaPeng1 = '-';
$namaPeng2 = '-';
$noPemb1 = '-';
$noPemb2 = '-';
$noPeng1 = '-';
$noPeng2 = '-';
array_push($emailTo, 'tu@informatika.untan.ac.id');
$pembimbing1 = null;
$pembimbing2 = null;
$penguji1 = null;
$penguji2 = null;
while ($r = $db->dbFetch()) {
array_push($emailTo, $r['email']);
$noHPDosen = $r['nohp'];
array_push($listNoHP, $noHPDosen);
if ($r['nip'] == $_POST['pemb1']) {
$namaPemb1 = $r['nmLengkap'];
$noPemb1 = '0'.intval($noHPDosen);
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$pembimbing1 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['pemb2']) {
$namaPemb2 = $r['nmLengkap'];
$noPemb2 = '0'.intval($noHPDosen);
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$pembimbing2 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['peng1']) {
$namaPeng1 = $r['nmLengkap'];
$noPeng1 = '0'.intval($noHPDosen);
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$penguji1 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['peng2']) {
$namaPeng2 = $r['nmLengkap'];
$noPeng2 = '0'.intval($noHPDosen);
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$penguji2 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
}
$q1 = "UPDATE tbrekaphasil SET
timestampPenunjukanPenguji='".$tanggalKeputusanPenguji."',
semesterPenunjukanPenguji='".$semesterKeputusanPenguji."',
peng1='".$_POST['peng1']."',
peng1='".$_POST['peng1']."',
peng2='".$_POST['peng2']."'
WHERE id='$idputusan' AND idpraoutline='$idpraoutline'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Dosen Penguji telah ditunjuk.',
`read`='N'";
$isipesan = 'Pemberitahuan Terbaru. Dosen Penguji Telah Ditunjuk.';
$isiEmail = "Dosen penguji untuk skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' telah ditunjuk oleh <b>Ketua Jurusan/Ketua Prodi Informatika</b> pada $hariText, $tanggal untuk pelaksanaan <b>Seminar Hasil (Sidang Tertutup)</b> dengan susunan Tim Penguji sebagai berikut:<br><br>";
$isiEmail .= "<table border='1' cellpadding='10' cellspacing='10' style='border-collapse:collapse;'><thead><tr><th style='width:150px'>Keterangan</th><th>Nama Dosen</th></tr></thead><tbody><tr><td><b>Pembimbing 1 (Ketua)</b></td><td>$namaPemb1</td></tr><tr><td><b>Pembimbing 2 (Sekretaris)</b></td><td>$namaPemb2</td></tr><tr><td><b>Penguji 1</b></td><td>$namaPeng1</td></tr><tr><td><b>Penguji 2</b></td><td>$namaPeng2</td></tr></tbody></table>";
//$isiNotifHP = "Dosen penguji untuk skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' telah ditunjuk oleh Ketua Jurusan/Ketua Prodi Informatika pada $hariText, $tanggal untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:\n\n";
//$isiNotifHP .= "$namaPemb1 ----- Pembimbing 1 (Ketua)\n$namaPemb2 ----- Pembimbing 2 (Sekretaris)\n$namaPeng1 ----- Penguji 1\n$namaPeng2 ----- Penguji 2";
$judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PENGUJI';
$isiNotifHP = "Dosen penguji untuk skripsi mahasiswa *$namaMahasiswa / $nim* ($noHPMahasiswa) dengan judul *$judulFinal* telah ditunjuk oleh *Ketua Jurusan Informatika* pada *$hariText, $tanggal* untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:\n\n";
$isiNotifHP .= "Pembimbing 1 (Ketua): *$namaPemb1* ($noPemb1)\nPembimbing 2 (Sekretaris) : *$namaPemb2* ($noPemb2)\nPenguji 1 : *$namaPeng1* ($noPeng1)\nPenguji 2 : *$namaPeng2* ($noPeng2)\n";
}
if ($eventKeputusan === 'keputusan') {
$eventDikenali = true;
$g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."')";
$db->runQuery($g);
$namaPemb1 = '-';
$namaPemb2 = '-';
$namaPeng1 = '-';
$namaPeng2 = '-';
$noPemb1 = '-';
$noPemb2 = '-';
$noPeng1 = '-';
$noPeng2 = '-';
array_push($emailTo, 'tu@informatika.untan.ac.id');
$pembimbing1 = null;
$pembimbing2 = null;
$penguji1 = null;
$penguji2 = null;
while ($r = $db->dbFetch()) {
array_push($emailTo, $r['email']);
$noHPDosen = $r['nohp'];
array_push($listNoHP, $noHPDosen);
if ($r['nip'] == $_POST['pemb1']) {
$namaPemb1 = $r['nmLengkap'];
$noPemb1 = '0'.intval($noHPDosen);
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$pembimbing1 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['pemb2']) {
$namaPemb2 = $r['nmLengkap'];
$noPemb2 = '0'.intval($noHPDosen);
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$pembimbing2 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['peng1']) {
$namaPeng1 = $r['nmLengkap'];
$noPeng1 = '0'.intval($noHPDosen);
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$penguji1 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['peng2']) {
$namaPeng2 = $r['nmLengkap'];
$noPeng2 = '0'.intval($noHPDosen);
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$penguji2 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
}
switch ($putusan) {
case '1':
if ($_POST['peng1'] !== '' || $_POST['peng2'] !== '') {
$judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PENGUJI';
$adapun = 'pembimbing dan penguji';
$teksDosenPenguji = "<tr><td><b>Penguji 1</b></td><td>$namaPeng1</td></tr><tr><td><b>Penguji 2</b></td><td>$namaPeng2</td></tr>";
$teksDosenPengujiHP = "Penguji 1 : *$namaPeng1* ($noPeng1)\nPenguji 2 : *$namaPeng2* ($noPeng2)";
} else {
$judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PEMBIMBING';
$adapun = 'pembimbing';
$teksDosenPenguji = '';
$teksDosenPengujiHP = '';
}
$isiEmail = "Dosen $adapun untuk Skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' telah ditunjuk oleh oleh <b>Ketua Jurusan Informatika</b> pada $hariText, $tanggal.<br>";
$isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal.<br><br>';
$isiEmail .= "Adapun $adapun yang ditunjuk adalah : <br>";
$isiEmail .= "<table border='1' cellpadding='10' cellspacing='10' style='border-collapse:collapse;'><thead><tr><th style='width:100px'>Keterangan</th><th>Nama Dosen</th></tr></thead><tbody><tr><td><b>Pembimbing 1</b></td><td>$namaPemb1</td></tr><tr><td><b>Pembimbing 2</b></td><td>$namaPemb2</td></tr>$teksDosenPenguji</tbody></table>";
$isiNotifHP = "Dosen $adapun untuk Skripsi mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' telah ditunjuk oleh oleh *Ketua Jurusan Informatika* pada *$hariText, $tanggal*.<br>";
$isiNotifHP .= "Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal. Selambat-lambatnya 1 bulan sejak keputusan ini Seminar Proposal harus sudah dilaksanakan, jika tidak draft Proposal yang sudah disetujui akan dibatalkan.\n\n";
$isiNotifHP .= "Adapun $adapun yang ditunjuk adalah : \n";
$isiNotifHP .= "Pembimbing 1 : *$namaPemb1* ($noPemb1)\nPembimbing 2 : *$namaPemb2* ($noPemb2)\n$teksDosenPengujiHP";
$q1 = "UPDATE tbrekaphasil SET
pemb1='".$_POST['pemb1']."',
pemb2='".$_POST['pemb2']."',
peng1='".$_POST['peng1']."',
peng2='".$_POST['peng2']."'
WHERE id='$idputusan' AND idpraoutline='$idpraoutline'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Diterima.',
`read`='N'";
$isipesan = 'Pemberitahuan Terbaru. Selamat, Draft Praoutline Yang Anda Ajukan Disetujui';
break;
case '2':
$judulPenunjukan = 'KEPUTUSAN KETUA JURUSAN';
$isiEmail = "<b>Draft Praoutline</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' <b>TIDAK DISETUJUI</b> oleh <b>Ketua Jurusan Informatika</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br><br>";
$isiNotifHP = "Draft proposal mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *TIDAK DISETUJUI* oleh *Ketua Jurusan Informatika* pada *$hariText, $tanggal*.\n";
$isiNotifHP .= "Dengan keterangan : *$keteranganText* \n\n";
$q1 = "UPDATE tbrekaphasil SET
kep_akhir='".$putusan."',
pemb1='',
pemb2='',
peng1='',
peng2='',
ket='".$_POST['ket']."'
WHERE id='$idputusan' AND idpraoutline='$idpraoutline'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Ditolak.',
`read`='N'";
$isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui';
break;
case '3':
$judulPenunjukan = 'KEPUTUSAN KETUA JURUSAN';
$isiEmail = "<b>Tugas akhir</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' <b>DIGUGURKAN</b> oleh <b>Ketua Jurusan Informatika</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br><br>";
$isiNotifHP = "*Tugas akhir* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DIGUGURKAN* oleh *Ketua Jurusan Informatika* pada *$hariText, $tanggal*.\n";
$isiNotifHP .= "Dengan keterangan : *$keteranganText* \n\n";
$q1 = "UPDATE tbrekaphasil SET
kep_akhir='".$putusan."',
pemb1='',
pemb2='',
peng1='',
peng2='',
ket='".$_POST['ket']."'
WHERE id='$idputusan' AND idpraoutline='$idpraoutline'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Gugur.',
`read`='N'";
$isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Gugur';
break;
}
$q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' ";
}
if (!($eventDikenali)) {
echo json_encode(['result' => false, 'msg' => 'Jenis event tidak ditemukan']);
exit();
}
$isiEmail .= "<p style='margin-top:1rem'>Terima kasih</p><div style='margin-top:2rem'>Generated by <a href='http://spota.untan.ac.id' target='_blank'>spota.untan.ac.id</a></div>";
if ($db->runQuery($q1)) {
echo json_encode(['result' => true, 'msg' => 'Update Putusan Draft Praoutline Sukses']);
$db->runQuery($q2);
$db->runQuery($notif);
if($putusan == "1"){
$dataPembimbing = [$pembimbing1, $pembimbing2];
$dataPenguji = [$penguji1, $penguji2];
$g = "SELECT * FROM tbrekaphasil WHERE id = '$idputusan'";
$db->runQuery($g);
$smtSekarang = "-";
$thnSekarang = "-";
$tanggalKeputusanWilly = '-';
$waktuKeputusanWilly = '-';
while ($r = $db->dbFetch()) {
$smtSekarang = $r['semester'];
$thnSekarang = $r['tahun_ajaran'];
$tanggalKeputusanWilly = $r['tgl_kep'];
$waktuKeputusanWilly = $r['wkt_kep'];
}
$g = "SELECT * FROM tbjadwal WHERE idMhs = '$idMhs' ORDER BY start DESC LIMIT 1";
$db->runQuery($g);
$tipePengajuan = "Outline";
while ($r = $db->dbFetch()) {
$tipePengajuan = $r['jenis'];
switch($tipePengajuan){
case "Outline" : $tipePengajuan = 'SidHas'; break;
case "SidHas" : $tipePengajuan = 'Sidang'; break;
}
}
$postDataWilly = [
'id' => $idputusan,
'keputusan' => $putusan,
'judul' => $judulFinal,
'mahasiswa' => $dataMahasiswa,
'pembimbings' => $dataPembimbing,
'pengujis' => $dataPenguji,
'semester' => $smtSekarang,
'tahun' => $thnSekarang,
'tanggalKeputusan' => $tanggalKeputusanWilly,
'waktuKeputusan' => $waktuKeputusanWilly,
'kelompokKeahlian' => $namaKK,
'tipe_pengajuan' => $tipePengajuan,
'token' => "spota_token_sinkronisasi_api",
];
$urlAPIWilly = 'https://edoxid.untan.ac.id/api/sync-data-submission';
$postDataWilly = json_encode($postDataWilly);
$opts = ['http' =>
[
'method' => 'POST',
'ignore_errors' => true,
'header' => 'Content-Type: application/json',
'content' => $postDataWilly,
],
"ssl"=>[
"verify_peer"=>false,
"verify_peer_name"=>false,
],
];
$context = stream_context_create($opts);
$response = file_get_contents($urlAPIWilly, false, $context);
if(empty($response)){
$response = json_encode([]);
}
$responseDecoded = json_decode($response, true);
$statusResponse = $responseDecoded['status'];
$g = "INSERT INTO tb_post_ke_doxid(postData, result, status) VALUES ('$postDataWilly','$response', '$statusResponse')";
$db->runQuery($g);
}
$isiPesanHP = '*'.$judulPenunjukan." (SPOTA)*\n\n".str_replace('<br>', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*";
$isiPesanHP = str_replace('"', "'", $isiPesanHP);
foreach ($listNoHP as $key => $hp) {
if(empty($hp)){
continue;
}
if($hp == $noHPMahasiswa){
$isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/";
}else{
$isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idpraoutline";
}
$hp = '62'.intval($hp);
$query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(
"'.$hp.'",
"'.$isiPesanHPFinal.'"
)';
$db->runQuery($query);
}
/**
$ch = curl_init();
$emailParams = [];
$emailParams['to'] = json_encode($emailTo);
$emailParams['judul'] = $judulEmail;
$emailParams['content'] = $isiEmail;
$postdata = $emailParams;
curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/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);
*/
} else {
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']);
}
break;
case 'updateKKTerkait':
$idpraoutline = $_POST['idpr'];
$listKK = $_POST['kkTerkaitList'];
// if(sizeof($listKK) == 0){
// echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, tidak ada KK yang dipilih']);
// exit;
// }
$listKKjson = json_encode($listKK);
$g = "SELECT tbpraoutline.*, tbmhs.nmLengkap, namaKK FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'";
$db->runQuery($g);
$judulPraoutline = '-';
$namaMahasiswa = '-';
$nimMahasiswa = '-';
$kkPraoutline = '-';
while ($r = $db->dbFetch()) {
$judulPraoutline = $r['judul'];
$namaMahasiswa = $r['nmLengkap'];
$nimMahasiswa = $r['nim'];
$kkPraoutline = $r['namaKK'];
$tanggalInput = date('d-m-Y', strtotime($r['tgl_upload']));
}
$q1 = "UPDATE tbpraoutline SET
kkTerkait='".$listKKjson."'
WHERE id='$idpraoutline'";
if ($db->runQuery($q1)) {
foreach($listKK as $key => $val){
$val = intval($val);
$sql = "SELECT * FROM tb_kelompok_keahlian WHERE idKK = '$val'";
$db->runQuery($sql);
$namaKK = '-';
while ($r = $db->dbFetch()) {
$namaKK = $r['namaKK'];
}
$g = "SELECT * FROM tbdosen WHERE kelompokKeahlian = '$val'";
$db->runQuery($g);
$listNoHP = [];
while ($r = $db->dbFetch()) {
$hp = $r['nohp'];
if(empty($hp)){
continue;
}
$isiPesanHP = "*Permohonan Bantuan Review Draft Proposal Mahasiswa (SPOTA)* \n\nKK *$namaKK* mohon ikut mereview draft Proposal mahasiswa *($namaMahasiswa / $nimMahasiswa)* yang berjudul *$judulPraoutline* yang diusulkan ke KK *$kkPraoutline* pada tanggal $tanggalInput \n\n*SPOTA INFORMATIKA UNTAN*\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idpraoutline";
array_push($listNoHP, [
'hp' => $hp,
'pesan' => $isiPesanHP,
]);
}
foreach($listNoHP as $keyHP => $valHP){
$hp = '62'.intval($valHP['hp']);
$query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(
"'.$hp.'",
"'.$valHP['pesan'].'"
)';
$db->runQuery($query);
}
}
echo json_encode(['result' => true, 'msg' => 'Update KK Terkait untuk Draft Praoutline ini Berhasil']);
}else{
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, terjadi kesalahan teknis']);
exit;
}
break;
case 'notifCloseJudul':
$listKK = $_POST['kkTujuanList'];
$tanggal = $_POST['tanggalNotifKK'];
if(sizeof($listKK) == 0){
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, tidak ada KK yang dipilih']);
exit;
}
foreach($listKK as $key => $val){
$idKK = intval($val);
$tanggalUpload = date('Y-m-d', strtotime($tanggal));
$g = "SELECT * FROM tb_kelompok_keahlian WHERE idKK = '$idKK'";
$db->runQuery($g);
while ($row = $db->dbFetch()) {
$namaKK = $row['namaKK'];
$ketuaKK = $row['ketuaKK'];
}
$g = "SELECT * FROM tbdosen WHERE iddosen = '$ketuaKK'";
$db->runQuery($g);
$listNoHP = [];
while ($row = $db->dbFetch()) {
$noHPDosen = $row['nohp'];
array_push($listNoHP, $noHPDosen);
}
$g = "SELECT tbpraoutline.*, tbmhs.idmhs, tbmhs.thnmasuk, tbmhs.nmLengkap FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim WHERE status_usulan = '0' AND kelompokKeahlian = '$idKK' AND tgl_upload < '$tanggalUpload'";
$db->runQuery($g);
if ($db->dbRows() == 0) {
continue;
}
$judul = '*PERMINTAAN KEPUTUSAN DRAFT PROPOSAL*';
$isiNotif = "\n\nDraft proposal yang masih menunggu keputusan dari KK *$namaKK* sebagai berikut:\n\n";
$i = 1;
while ($row = $db->dbFetch()) {
$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*\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$id\n\n";
++$i;
}
$sendWA = $judul.$isiNotif."*SPOTA INFORMATIKA UNTAN*";
foreach ($listNoHP as $key => $hp) {
if(empty($hp)){
continue;
}
$hp = '62'.intval($hp);
$sendWA = str_replace("'", '"', $sendWA);
$g = "INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES('$hp', '$sendWA')";
$db->runQuery($g);
/**
$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;
// }
}
/**
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://spota.untan.ac.id/steven/API/notifIngatkanKeKKMasing.php?idKK=$val&tgl=$tanggal");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
*/
}
echo json_encode(['result' => true, 'msg' => 'Berhasil mengirimkan notifikasi ke ketua KK Terkait']);
break;
case 'update_putusankk':
$idpraoutline = $_POST['idpr'];
$idputusan = $_POST['idputusan'];
$nim = $_POST['nim'];
$putusan = $_POST['putusan'];
$keterangan = $_POST['ket'];
$judulFinal = $_POST['judul_final'];
$judulEmail = 'Putusan Ketua Kelompok Keahlian';
$isiEmail = '';
$emailTo = [];
$listNoHP = [];
$isiNotifHP = '';
$g = "SELECT * FROM tbmhs WHERE nim='$nim'";
$db->runQuery($g);
$namaMahasiswa = '-';
while ($r = $db->dbFetch()) {
array_push($emailTo, $r['email']);
$namaMahasiswa = $r['nmLengkap'];
$noHPMahasiswa = $r['noHP'];
array_push($listNoHP, $r['noHP']);
}
$g = "SELECT * FROM tbpraoutline WHERE id='$idpraoutline'";
$db->runQuery($g);
$judulPraoutline = '-';
while ($r = $db->dbFetch()) {
$judulPraoutline = $r['judul'];
}
if (trim($keterangan) === '') {
$keteranganText = '-';
} else {
$keteranganText = $keterangan;
}
$tanggal = date('d-m-Y');
$hari = date('w');
$hariText = '';
switch ($hari) {
case '0': $hariText = 'Minggu'; break;
case '1': $hariText = 'Senin'; break;
case '2': $hariText = 'Selasa'; break;
case '3': $hariText = 'Rabu'; break;
case '4': $hariText = 'Kamis'; break;
case '5': $hariText = 'Jumat'; break;
case '6': $hariText = 'Sabtu'; break;
}
$eventDikenali = false;
$eventDikenali = true;
$g = "SELECT * FROM tbdosen WHERE jenis = 'K'";
$db->runQuery($g);
while ($r = $db->dbFetch()) {
$noHPDosen = $r['nohp'];
//array_push($listNoHP, $noHPDosen);
}
switch ($putusan) {
case '1':
array_push($emailTo, 'tu@informatika.untan.ac.id');
$isiEmail = "<b>Draft Proposal</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' <b>DISETUJUI</b> oleh <b>Ketua Kelompok Keahlian</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br>";
$isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.<br><br>';
$isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n";
$isiNotifHP .= "Dengan keterangan : *$keteranganText* \n";
$isiNotifHP .= "Selanjutnya menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.\n";
$q1 = "UPDATE tbrekaphasil SET
kep_akhir='".$putusan."',
judul_final='".$_POST['judul_final']."',
ket='".$_POST['ket']."'
WHERE id='$idputusan' AND idpraoutline='$idpraoutline'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Diterima.',
`read`='N'";
$isipesan = 'Pemberitahuan Terbaru. Selamat, Draft Praoutline Yang Anda Ajukan Disetujui';
break;
case '2':
$isiEmail = "<b>Draft Praoutline</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' <b>TIDAK DISETUJUI</b> oleh <b>Ketua Kelompok Keahlian</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br><br>";
$isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *TIDAK DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n";
$isiNotifHP .= "Dengan keterangan : *$keteranganText* \n";
$q1 = "UPDATE tbrekaphasil SET
kep_akhir='".$putusan."',
ket='".$_POST['ket']."'
WHERE id='$idputusan' AND idpraoutline='$idpraoutline'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Ditolak.',
`read`='N'";
$isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui';
break;
case '3':
$isiEmail = "<b>Tugas akhir</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' <b>DIGUGURKAN</b> oleh <b>Ketua Kelompok Keahlian</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br><br>";
$isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DIGUGURKAN* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n";
$isiNotifHP .= "Dengan keterangan : *$keteranganText* \n";
$q1 = "UPDATE tbrekaphasil SET
kep_akhir='".$putusan."',
ket='".$_POST['ket']."'
WHERE id='$idputusan' AND idpraoutline='$idpraoutline'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Gugur.',
`read`='N'";
$isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Gugur';
break;
}
$q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' ";
$isiEmail .= "<p style='margin-top:1rem'>Terima kasih</p><div style='margin-top:2rem'>Generated by <a href='http://spota.untan.ac.id' target='_blank'>spota.untan.ac.id</a></div>";
if ($db->runQuery($q1)) {
echo json_encode(['result' => true, 'msg' => 'Update Putusan Draft Praoutline Sukses']);
$db->runQuery($q2);
$db->runQuery($notif);
$isiPesanHP = '*'.$judulEmail." (SPOTA)* \n\n".str_replace('<br>', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*";
$isiPesanHP = str_replace('"', "'", $isiPesanHP);
foreach ($listNoHP as $key => $hp) {
if(empty($hp)){
continue;
}
if($hp == $noHPMahasiswa){
$isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/";
}else{
$isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idpraoutline";
}
$hp = '62'.intval($hp);
$query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(
"'.$hp.'",
"'.$isiPesanHPFinal.'"
)';
$db->runQuery($query);
}
/**
$ch = curl_init();
$emailParams = [];
$emailParams['to'] = json_encode($emailTo);
$emailParams['judul'] = $judulEmail;
$emailParams['content'] = $isiEmail;
$postdata = $emailParams;
curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/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);
*/
} else {
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']);
}
break;
case 'close_judul':
/*
-insert data ke rekaphasil
-insert data ke notif_r
-update data ke tbpraoutline
hapus semua data notif_r konten yg sudah terbaca
*/
$idpraoutline = $_POST['idpr'];
$nim = $_POST['nim'];
$putusan = $_POST['putusan'];
$keterangan = $_POST['ket'];
$judulEmail = 'Putusan Kaprodi';
$isiEmail = '';
$emailTo = [];
$g = "SELECT * FROM tbmhs WHERE nim='$nim'";
$db->runQuery($g);
$namaMahasiswa = '-';
$dataMahasiswa = [];
while ($r = $db->dbFetch()) {
$idMhs = $r['idmhs'];
array_push($emailTo, $r['email']);
$namaMahasiswa = $r['nmLengkap'];
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$dataMahasiswa = [
'nim' => $r['nim'],
'nama' => $r['nmLengkap'],
'email'=> $r['email'],
'hp' => $r['noHP'],
'urlFoto' => $foto,
];
}
$dataPembimbing = [];
$dataPenguji = [];
$g = "SELECT * FROM tbpraoutline LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'";
$db->runQuery($g);
$judulPraoutline = '-';
while ($r = $db->dbFetch()) {
$judulPraoutline = $r['judul'];
$idKelompokKeahlian = $r['kelompokKeahlian'];
$namaKK = $r['namaKK'];
}
if(empty($namaKK)){
$namaKK = "-";
}
if (trim($keterangan) === '') {
$keteranganText = '-';
} else {
$keteranganText = $keterangan;
}
$tanggal = date('d-m-Y');
$hari = date('w');
$hariText = '';
switch ($hari) {
case '0': $hariText = 'Minggu'; break;
case '1': $hariText = 'Senin'; break;
case '2': $hariText = 'Selasa'; break;
case '3': $hariText = 'Rabu'; break;
case '4': $hariText = 'Kamis'; break;
case '5': $hariText = 'Jumat'; break;
case '6': $hariText = 'Sabtu'; break;
}
switch ($putusan) {
case '1':
$g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."')";
$db->runQuery($g);
$namaPemb1 = '-';
$namaPemb2 = '-';
$namaPeng1 = '-';
$namaPeng2 = '-';
array_push($emailTo, 'tu@informatika.untan.ac.id');
while ($r = $db->dbFetch()) {
$pembimbing1 = null;
$pembimbing2 = null;
$penguji1 = null;
$penguji2 = null;
array_push($emailTo, $r['email']);
if ($r['nip'] == $_POST['pemb1']) {
$namaPemb1 = $r['nmLengkap'];
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$pembimbing1 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['pemb2']) {
$namaPemb2 = $r['nmLengkap'];
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$pembimbing2 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['peng1']) {
$namaPeng1 = $r['nmLengkap'];
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$penguji1 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
if ($r['nip'] == $_POST['peng2']) {
$namaPeng2 = $r['nmLengkap'];
$foto = $r['foto'];
if(!empty($foto)){
$foto = '//spota.untan.ac.id/img/'.$foto;
}
$penguji2 = [
'nip' => $r['nip'],
'nama' => $r['nmLengkap'],
'email' => $r['email'],
'hp' => $r['nohp'],
'urlFoto'=> $foto,
];
}
}
//$tanggalKeputusanPenguji = $_POST['tanggalKeputusanPenguji'];
//$tanggalKeputusanPenguji = null;
//$semesterKeputusanPenguji = null;
if ($_POST['peng1'] !== '' || $_POST['peng2'] !== '') {
$adapun = 'pembimbing dan penguji';
$teksDosenPenguji = "<tr><td><b>Penguji 1</b></td><td>$namaPeng1</td></tr><tr><td><b>Penguji 2</b></td><td>$namaPeng2</td></tr>";
/*
if(empty($tanggalKeputusanPenguji)){
$tanggalKeputusanPenguji = null;
$semesterKeputusanPenguji = null;
}else{
$bulanKeputusan = date('m', strtotime($tanggalKeputusanPenguji));
$tahunKeputusan = date('Y', strtotime($tanggalKeputusanPenguji));
if($bulanKeputusan >= 2 && $bulanKeputusan <= 7){
$tahunKeputusan = $tahunKeputusan - 2;
$semesterKeputusan = 'GEN';
}else{
$semesterKeputusan = 'GAS';
$tahunKeputusan = $tahunKeputusan - 1;
}
$semesterKeputusanPenguji = $semesterKeputusan."-".$tahunKeputusan;
}
*/
} else {
$adapun = 'pembimbing';
$teksDosenPenguji = '';
}
$isiEmail = "<b>Draft Praoutline</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' <b>DISETUJUI</b> oleh <b>Ketua Jurusan Informatika</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br>";
$isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal.<br><br>';
$isiEmail .= "Adapun $adapun yang ditunjuk adalah : <br>";
$isiEmail .= "<table border='1' cellpadding='10' cellspacing='10' style='border-collapse:collapse;'><thead><tr><th style='width:100px'>Keterangan</th><th>Nama Dosen</th></tr></thead><tbody><tr><td><b>Pembimbing 1</b></td><td>$namaPemb1</td></tr><tr><td><b>Pembimbing 2</b></td><td>$namaPemb2</td></tr>$teksDosenPenguji</tbody></table>";
$q1 = "INSERT INTO tbrekaphasil SET
idpraoutline='".$idpraoutline."',
idProdi='".$_SESSION['login-dosen']['prodi']."',
nim='".$nim."',
kep_akhir='".$putusan."',
judul_final='".$_POST['judul_final']."',
pemb1='".$_POST['pemb1']."',
pemb2='".$_POST['pemb2']."',
peng1='".$_POST['peng1']."',
peng2='".$_POST['peng2']."',
tgl_kep='".CURDATE."',
wkt_kep='".CURTIME."',
semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'),
tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'),
ket='".$_POST['ket']."'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Diterima.',
`read`='N'";
$isipesan = 'Selamat, Draft Praoutline Yang Anda Ajukan Disetujui';
break;
case '2':
$isiEmail = "<b>Draft Praoutline</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' <b>TIDAK DISETUJUI</b> oleh <b>Ketua Jurusan Informatika</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br><br>";
$q1 = "INSERT INTO tbrekaphasil SET
idpraoutline='".$idpraoutline."',
idProdi='".$_SESSION['login-dosen']['prodi']."',
nim='".$nim."',
kep_akhir='".$putusan."',
tgl_kep='".CURDATE."',
wkt_kep='".CURTIME."',
semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'),
tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'),
ket='".$_POST['ket']."'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Ditolak.',
`read`='N'";
$isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui';
break;
case '3':
$isiEmail = "<b>Tugas akhir</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' <b>DIGUGURKAN</b> oleh <b>Ketua Jurusan Informatika</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br><br>";
$q1 = "INSERT INTO tbrekaphasil SET
idpraoutline='".$idpraoutline."',
idProdi='".$_SESSION['login-dosen']['prodi']."',
nim='".$nim."',
kep_akhir='".$putusan."',
tgl_kep='".CURDATE."',
wkt_kep='".CURTIME."',
semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'),
tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'),
ket='".$_POST['ket']."'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Gugur.',
`read`='N'";
$isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Gugur';
break;
}
$idputusan = $db->dbLastInsertId();
$isiEmail .= "<p style='margin-top:1rem'>Terima kasih</p><div style='margin-top:2rem'>Generated by <a href='http://spota.untan.ac.id' target='_blank'>spota.untan.ac.id</a></div>";
$q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' ";
/*if($_POST['pemb1']!="" AND $_POST['pemb2']!="" AND $_POST['peng1']!="" AND $_POST['peng2']!="" ){*/
if ($db->runQuery($q1)) {
echo json_encode(['result' => true, 'msg' => 'Putusan Draft Praoutline Sukses']);
$db->runQuery($q2);
$db->runQuery($notif);
if($putusan == "1"){
$dataPembimbing = [$pembimbing1, $pembimbing2];
$dataPenguji = [$penguji1, $penguji2];
$g = "SELECT * FROM tbrekaphasil WHERE idpraoutline = '$idpraoutline' ORDER BY id DESC LIMIT 1";
$db->runQuery($g);
$smtSekarang = "-";
$thnSekarang = "-";
$tanggalKeputusanWilly = '-';
$waktuKeputusanWilly = '-';
while ($r = $db->dbFetch()) {
$smtSekarang = $r['semester'];
$thnSekarang = $r['tahun_ajaran'];
$tanggalKeputusanWilly = $r['tgl_kep'];
$waktuKeputusanWilly = $r['wkt_kep'];
}
$g = "SELECT * FROM tbjadwal WHERE idMhs = '$idMhs' ORDER BY start DESC LIMIT 1";
$db->runQuery($g);
$tipePengajuan = "Outline";
while ($r = $db->dbFetch()) {
$tipePengajuan = $r['jenis'];
switch($tipePengajuan){
case "Outline" : $tipePengajuan = 'SidHas'; break;
case "SidHas" : $tipePengajuan = 'Sidang'; break;
}
}
$postDataWilly = [
'id' => $idputusan,
'keputusan' => $putusan,
'judul' => $judulPraoutline,
'mahasiswa' => $dataMahasiswa,
'pembimbings' => $dataPembimbing,
'pengujis' => $dataPenguji,
'semester' => $smtSekarang,
'tahun' => $thnSekarang,
'tanggalKeputusan' => $tanggalKeputusanWilly,
'waktuKeputusan' => $waktuKeputusanWilly,
'kelompokKeahlian' => $namaKK,
'tipe_pengajuan' => $tipePengajuan,
'token' => "spota_token_sinkronisasi_api",
];
$urlAPIWilly = 'https://edoxid.untan.ac.id/api/sync-data-submission';
$postDataWilly = json_encode($postDataWilly);
$opts = ['http' =>
[
'method' => 'POST',
'ignore_errors' => true,
'header' => 'Content-Type: application/json',
'content' => $postDataWilly,
],
"ssl"=>[
"verify_peer"=>false,
"verify_peer_name"=>false,
],
];
$context = stream_context_create($opts);
$response = file_get_contents($urlAPIWilly, false, $context);
if(empty($response)){
$response = json_encode([]);
}
$responseDecoded = json_decode($response, true);
$statusResponse = $responseDecoded['status'];
$g = "INSERT INTO tb_post_ke_doxid(postData, result, status) VALUES ('$postDataWilly','$response', '$statusResponse')";
$db->runQuery($g);
}
//gcm
//-----------------------------------------------------------------------------
$g = "SELECT regid FROM gcm_service WHERE jenisuser IN('M') AND iduser='$nim'";
$db->runQuery($g);
$registrationid = [];
while ($r = $db->dbFetch()) {
array_push($registrationid, $r['regid']);
}
$pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]);
$message = ['spota' => $pesan];
/**
sendPushNotificationToGCM($registrationid, $message);
$ch = curl_init();
$emailParams = [];
$emailParams['to'] = json_encode($emailTo);
$emailParams['judul'] = $judulEmail;
$emailParams['content'] = $isiEmail;
$postdata = $emailParams;
curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/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);
*/
//--------------------------------------------------------------------------------
} else {
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']);
}
/*}else{
echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal. Silakan Tentukan Dosen Pembimbing dan Penguji"));
exit();
}*/
break;
case 'close_judulkk':
/*
-insert data ke rekaphasil
-insert data ke notif_r
-update data ke tbpraoutline
hapus semua data notif_r konten yg sudah terbaca
*/
$idpraoutline = $_POST['idpr'];
$nim = $_POST['nim'];
$putusan = $_POST['putusan'];
$keterangan = $_POST['ket'];
$judulFinal = $_POST['judul_final'];
$judulEmail = 'Putusan Ketua Kelompok Keahlian';
$isiEmail = '';
$emailTo = [];
$listNoHP = [];
$g = "SELECT * FROM tbmhs WHERE nim='$nim'";
$db->runQuery($g);
$namaMahasiswa = '-';
while ($r = $db->dbFetch()) {
array_push($emailTo, $r['email']);
$namaMahasiswa = $r['nmLengkap'];
$noHPMahasiswa = $r['noHP'];
array_push($listNoHP, $r['noHP']);
}
$g = "SELECT * FROM tbpraoutline WHERE id='$idpraoutline'";
$db->runQuery($g);
$judulPraoutline = '-';
while ($r = $db->dbFetch()) {
$judulPraoutline = $r['judul'];
}
if (trim($keterangan) === '') {
$keteranganText = '-';
} else {
$keteranganText = $keterangan;
}
$tanggal = date('d-m-Y');
$hari = date('w');
$hariText = '';
switch ($hari) {
case '0': $hariText = 'Minggu'; break;
case '1': $hariText = 'Senin'; break;
case '2': $hariText = 'Selasa'; break;
case '3': $hariText = 'Rabu'; break;
case '4': $hariText = 'Kamis'; break;
case '5': $hariText = 'Jumat'; break;
case '6': $hariText = 'Sabtu'; break;
}
switch ($putusan) {
case '1':
$g = "SELECT * FROM tbdosen WHERE jenis = 'K'";
$db->runQuery($g);
while ($r = $db->dbFetch()) {
$noHPDosen = $r['nohp'];
//array_push($listNoHP, $noHPDosen);
}
array_push($emailTo, 'tu@informatika.untan.ac.id');
$isiEmail = "<b>Draft Proposal</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' <b>DISETUJUI</b> oleh <b>Ketua Kelompok Keahlian</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br>";
$isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.<br><br>';
//$isiEmail .= "Adapun $adapun yang ditunjuk adalah : <br>";
//$isiEmail .= "<table border='1' cellpadding='10' cellspacing='10' style='border-collapse:collapse;'><thead><tr><th style='width:100px'>Keterangan</th><th>Nama Dosen</th></tr></thead><tbody><tr><td><b>Pembimbing 1</b></td><td>$namaPemb1</td></tr><tr><td><b>Pembimbing 2</b></td><td>$namaPemb2</td></tr>$teksDosenPenguji</tbody></table>";
$isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n";
$isiNotifHP .= "Dengan keterangan : *$keteranganText* \n";
$isiNotifHP .= "Selanjutnya menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.\n";
$q1 = "INSERT INTO tbrekaphasil SET
idpraoutline='".$idpraoutline."',
idProdi='".$_SESSION['login-dosen']['prodi']."',
nim='".$nim."',
kep_akhir='".$putusan."',
judul_final='".$_POST['judul_final']."',
pemb1='',
pemb2='',
peng1='',
peng2='',
tgl_kep='".CURDATE."',
wkt_kep='".CURTIME."',
semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'),
tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'),
ket='".$_POST['ket']."'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Diterima.',
`read`='N'";
$isipesan = 'Selamat, Draft Praoutline Yang Anda Ajukan Disetujui';
break;
case '2':
$isiEmail = "<b>Draft Proposal</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' <b>TIDAK DISETUJUI</b> oleh <b>Ketua Kelompok Keahlian</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br><br>";
$isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *TIDAK DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n";
$isiNotifHP .= "Dengan keterangan : *$keteranganText* \n";
$q1 = "INSERT INTO tbrekaphasil SET
idpraoutline='".$idpraoutline."',
idProdi='".$_SESSION['login-dosen']['prodi']."',
nim='".$nim."',
kep_akhir='".$putusan."',
tgl_kep='".CURDATE."',
wkt_kep='".CURTIME."',
semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'),
tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'),
ket='".$_POST['ket']."'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Ditolak.',
`read`='N'";
$isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui';
break;
case '3':
$isiEmail = "<b>Tugas akhir</b> mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' <b>DIGUGURKAN</b> oleh <b>Ketua Kelompok Keahlian</b> pada $hariText, $tanggal.<br>";
$isiEmail .= "Dengan keterangan : <br>$keteranganText<br><br>";
$isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n";
$isiNotifHP .= "Dengan keterangan : *$keteranganText* \n";
$q1 = "INSERT INTO tbrekaphasil SET
idpraoutline='".$idpraoutline."',
idProdi='".$_SESSION['login-dosen']['prodi']."',
nim='".$nim."',
kep_akhir='".$putusan."',
tgl_kep='".CURDATE."',
wkt_kep='".CURTIME."',
semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'),
tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'),
ket='".$_POST['ket']."'";
$notif = "INSERT INTO tmp_notif_r SET
idkonten='$idpraoutline',
idProdi='".$_SESSION['login-dosen']['prodi']."',
user='".$nim."',
jns_usr='M',
tgl='".NOW."',
msg='Usulan Draft Anda Gugur.',
`read`='N'";
$isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Gugur';
break;
}
$isiEmail .= "<p style='margin-top:1rem'>Terima kasih</p><div style='margin-top:2rem'>Generated by <a href='http://spota.untan.ac.id' target='_blank'>spota.untan.ac.id</a></div>";
$q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' ";
/*if($_POST['pemb1']!="" AND $_POST['pemb2']!="" AND $_POST['peng1']!="" AND $_POST['peng2']!="" ){*/
if ($db->runQuery($q1)) {
echo json_encode(['result' => true, 'msg' => 'Putusan Draft Praoutline Sukses']);
$db->runQuery($q2);
$db->runQuery($notif);
//gcm
//-----------------------------------------------------------------------------
// $g = "SELECT regid FROM gcm_service WHERE jenisuser IN('M') AND iduser='$nim'";
// $db->runQuery($g);
// $registrationid = [];
// while ($r = $db->dbFetch()) {
// array_push($registrationid, $r['regid']);
// }
// $pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]);
// $message = ['spota' => $pesan];
// sendPushNotificationToGCM($registrationid, $message);
$isiPesanHP = '*'.$judulEmail." (SPOTA)* \n\n".str_replace('<br>', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*";
$isiPesanHP = str_replace('"', "'", $isiPesanHP);
foreach ($listNoHP as $key => $hp) {
if(empty($hp)){
continue;
}
if($hp == $noHPMahasiswa){
$isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/";
}else{
$isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idpraoutline";
}
$hp = '62'.intval($hp);
$query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(
"'.$hp.'",
"'.$isiPesanHPFinal.'"
)';
$db->runQuery($query);
}
/**
$ch = curl_init();
$emailParams = [];
$emailParams['to'] = json_encode($emailTo);
$emailParams['judul'] = $judulEmail;
$emailParams['content'] = $isiEmail;
$postdata = $emailParams;
curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/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);
*/
//--------------------------------------------------------------------------------
} else {
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']);
}
/*}else{
echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal. Silakan Tentukan Dosen Pembimbing dan Penguji"));
exit();
}*/
break;
case 'getmhs':
$db3 = new dB($dbsetting);
$nip = $_POST['nip'];
$jenis = $_POST['jenis'];
$whereSmt = '';
$whereSmtPenguji = '';
if (isset($_GET['smt'])) {
if ($_GET['smt'] != 'all') {
$smt = $_GET['smt'];
$whereSmt = " AND semester = '$smt' ";
$whereSmtPenguji = " AND semesterPenunjukanPenguji = '$smt' ";
}
}
$d = "SELECT nmLengkap FROM tbdosen WHERE nip='$nip'";
$db3->runQuery($d);
if ($db3->dbRows() > 0) {
$dosen = $db3->dbFetch();
}
// switch ($jenis) {
// case 'pemb1':
// $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester
// FROM tbrekaphasil trh
// LEFT JOIN tbdosen td ON (trh.pemb1=td.nip)
// LEFT JOiN tbmhs tm ON (trh.nim=tm.nim)
// WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim";
// $txt = 'Sebagai Pembimbing 1';
// break;
// case 'pemb2':
// $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester
// FROM tbrekaphasil trh
// LEFT JOIN tbdosen td ON (trh.pemb2=td.nip)
// LEFT JOiN tbmhs tm ON (trh.nim=tm.nim)
// WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim";
// $txt = 'Sebagai Pembimbing 2';
// break;
// case 'peng1':
// $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester
// FROM tbrekaphasil trh
// LEFT JOIN tbdosen td ON (trh.peng1=td.nip)
// LEFT JOiN tbmhs tm ON (trh.nim=tm.nim)
// WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim";
// $txt = 'Sebagai Penguji 1';
// break;
// case 'peng2':
// $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester
// FROM tbrekaphasil trh
// LEFT JOIN tbdosen td ON (trh.peng2=td.nip)
// LEFT JOiN tbmhs tm ON (trh.nim=tm.nim)
// WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim";
// $txt = 'Sebagai Penguji 2';
// break;
// }
switch ($jenis) {
case 'pemb1':
$qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester
FROM tbrekaphasil trh
LEFT JOIN tbdosen td ON (trh.pemb1=td.nip)
LEFT JOiN tbmhs tm ON (trh.nim=tm.nim)
WHERE td.nip='$nip' $whereSmt) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim";
$txt = 'Sebagai Pembimbing 1';
break;
case 'pemb2':
$qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester
FROM tbrekaphasil trh
LEFT JOIN tbdosen td ON (trh.pemb2=td.nip)
LEFT JOiN tbmhs tm ON (trh.nim=tm.nim)
WHERE td.nip='$nip' $whereSmt) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim";
$txt = 'Sebagai Pembimbing 2';
break;
case 'peng1':
$qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester, trh.semesterPenunjukanPenguji
FROM tbrekaphasil trh
LEFT JOIN tbdosen td ON (trh.peng1=td.nip)
LEFT JOiN tbmhs tm ON (trh.nim=tm.nim)
WHERE td.nip='$nip' $whereSmtPenguji) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim";
$txt = 'Sebagai Penguji 1';
break;
case 'peng2':
$qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester, trh.semesterPenunjukanPenguji
FROM tbrekaphasil trh
LEFT JOIN tbdosen td ON (trh.peng2=td.nip)
LEFT JOiN tbmhs tm ON (trh.nim=tm.nim)
WHERE td.nip='$nip' $whereSmtPenguji) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim";
$txt = 'Sebagai Penguji 2';
break;
}
$db3->runQuery($qq);
echo $dosen['nmLengkap'].' : ';
echo $txt.'<br/>';
echo '<table class="daftamahasiswa table table-striped table-bordered table-hover">';
echo '<thead><tr>
<th style="text-align: center">NIM</th>
<th style="text-align: center">Nama Mahasiswa</th>
<th style="text-align: center">Semester</th>
<th style="text-align: center">Judul</th>
</tr></thead> ';
if ($db3->dbRows() > 0) {
echo '<tbody>';
while ($m = $db3->dbFetch()) {
$tahunSplit = intval($m['tahunSplit']);
$tahunSplitNext = $tahunSplit + 1;
$semsterSplit = $m['semesterSplit'];
switch ($semsterSplit) {
case 'GAS': $semesterText = 'GAZAL'; break;
case 'GEN': $semesterText = 'GENAP'; break;
default: $semesterText = '-';
}
$periodeFinalText = "$tahunSplit/$tahunSplitNext - $semesterText";
echo '<tr>
<td>'.$m['nim'].'</td>
<td>'.$m['nmLengkap'].'</td>
<td>'.$periodeFinalText.'</td>
<td>'.$m['judul_final'].'</td>
</tr> ';
}
echo '</tbody>';
} else {
echo '<tbody>';
echo '<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr> ';
echo '</tbody>';
}
echo '</table>';
break;
case 'hapusReview':
$id = intval($_POST['id']);
$nip = $_SESSION['login-dosen']['nip'];
$q1 = "SELECT * FROM tbreview WHERE id = '$id' AND reviewer = '$nip'";
$db->runQuery($q1);
if ($db->dbRows() === 0) {
echo json_encode(['result' => false, 'msg' => 'Review ini bukan milik anda.']);
exit();
}
$q1 = "DELETE FROM tbreview WHERE id='".$id."'";
if ($db->runQuery($q1)) {
echo json_encode(['result' => true, 'msg' => 'Berhasil menghapus review ini.']);
} else {
echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']);
}
break;
}
}
}
?>