false, 'msg' => 'Deskripsi tugas akhir wajib diisi.']);
exit;
}
if ($inputPemb1 === '' || $inputPemb2 === '' || $inputPemb3 === '' || $inputPemb4 === '') {
echo json_encode(['result' => false, 'msg' => 'Pembimbing Tugas Akhir harus diisi ke 4 4 nya.']);
exit;
}
if ($kk === '') {
echo json_encode(['result' => false, 'msg' => 'Kelompok keahlian wajib diisi.']);
exit;
}
$query = "SHOW TABLE STATUS LIKE 'tbpraoutline'";
$db->runQuery($query);
$data = $db->dbFetch();
$newID = $data['Auto_increment'];
$nim = $_SESSION['login-mhs']['nim'];
$newID = time().rand(100,999);
$g = "SELECT * FROM tbmhs WHERE nim='$nim'";
$db->runQuery($g);
$noHPMahasiswa = '-';
while ($r = $db->dbFetch()) {
$noHPMahasiswa = $r['noHP'];
}
//cek apakah draft sudah terupload sebelumnya
$check = "SELECT id FROM tbpraoutline WHERE nim='$nim' AND status_usulan IN ('0','1')";
$db->runQuery($check);
if ($db->dbRows() > 0) {
echo json_encode(['result' => false, 'msg' => 'Draft Praoutline Anda Telah DiUpload.']);
exit;
}
if (!isset($_FILES['berkas']) || !is_uploaded_file($_FILES['berkas']['tmp_name'])) {
echo json_encode(['result' => false, 'msg' => 'Pastikan File Sudah dipilih']);
exit;
} else {
$dir = LAMPIRAN_FILE;
if (!is_dir($dir) && !@mkdir($dir, 0777, true) && !is_dir($dir)) {
echo json_encode(['result' => false, 'msg' => 'Folder upload tidak tersedia.']);
exit;
}
//$supportlist=array('pdf','zip','doc','docx');
$namaberkas = $_FILES['berkas']['name'];
$type = $_FILES['berkas']['type'];
$tmpname = $_FILES['berkas']['tmp_name'];
$ext = get_ext($namaberkas);
if ($ext != 'pdf') {
echo json_encode(['result' => false, 'msg' => 'Hanya Mendukung file pdf']);
exit;
}
$kettambahan = [
'dosenpa' => $_POST['dosenpa'],
'rekomjudul' => $_POST['drekomjudul'],
'pilpemb1' => $_POST['pilpemb1'],
'pilpemb2' => $_POST['pilpemb2'],
'pilpemb3' => $_POST['pilpemb3'],
'pilpemb4' => $_POST['pilpemb4'],
];
$ket = json_encode($kettambahan);
$pathfile = $dir.$newID.'-'.$nim.'.'.$ext;
//echo $pathfile;
if (move_uploaded_file($tmpname, $pathfile)) {
$query = "INSERT INTO tbpraoutline SET
nim='$nim',
judul='".$_POST['judul']."',
deskripsi='".$_POST['deskripsi']."',
berkas='".$newID.'-'.$nim.'.'.$ext."',
idProdi='".$_SESSION['login-mhs']['prodi']."',
semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-mhs']['prodi']."' AND `name`='smt'),
thn_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-mhs']['prodi']."' AND `name`='thn_ajaran'),
tgl_upload='".CURDATE."',
wkt_upload='".CURTIME."',
ket='$ket',
kelompokKeahlian='$kk'
";
//echo $query;
if (!$db->runQuery($query)) {
echo json_encode(['result' => false, 'msg' => 'Upload Berkas Gagal DbError']);
@unlink($pathfile);
exit;
} else {
echo json_encode(['result' => true, 'msg' => 'Upload Desain Praoutline Berhasil']);
$newID = $db->dbLastInsertId();
//notif gcm
//-----------------------------------------------------------------------------
// $g = "SELECT regid FROM gcm_service WHERE jenisuser IN('D','K')";
// $db->runQuery($g);
// $registrationid = [];
// while ($r = $db->dbFetch()) {
// array_push($registrationid, $r['regid']);
// }
// $isipesan = 'Terdapat Draft Praoutline Terbaru';
// $pesan = json_encode(['jenisnotif' => 'J', 'pesan' => $isipesan]);
// $message = ['spota' => $pesan];
// sendPushNotificationToGCM($registrationid, $message);
//--------------------------------------------------------------------------------
$g = "SELECT * FROM tbmhs WHERE nim='$nim'";
$db->runQuery($g);
$namaMahasiswa = '-';
while ($r = $db->dbFetch()) {
$namaMahasiswa = $r['nmLengkap'];
$noMhs = $r['noHP'];
}
$g = "SELECT * FROM tb_kelompok_keahlian WHERE idKK='$kk'";
$db->runQuery($g);
$namaKelompokKeahlian = '-';
while ($r = $db->dbFetch()) {
$namaKelompokKeahlian = $r['namaKK'];
}
$judulEmail = 'Permohonan Review Draft Proposal';
$isiEmail = "Mahasiswa *$namaMahasiswa / $nim* ($noHPMahasiswa) telah mengupload draft proposal pada Kelompok Keahlian Anda *($namaKelompokKeahlian)* dengan judul *".$_POST['judul']."* dan membutuhkan review dari anda.
Terima Kasih.";
$emailTo = [];
$listNoHP = [];
$g = "SELECT * FROM tbdosen WHERE kelompokKeahlian='$kk'";
$db->runQuery($g);
while ($r = $db->dbFetch()) {
$email = $r['email'];
$noHPDosen = $r['nohp'];
array_push($emailTo, $email);
array_push($listNoHP, $noHPDosen);
}
$isiPesanHP = "*".$judulEmail." (SPOTA)*\n\n".str_replace('
', "\n", $isiEmail)."\n*SPOTA INFORMATIKA UNTAN*\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$newID";
$isiPesanHP = str_replace('"', "'", $isiPesanHP);
foreach ($listNoHP as $key => $hp) {
if(empty($hp)){
continue;
}
$hp = '62'.intval($hp);
$query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(
"'.$hp.'",
"'.$isiPesanHP.'"
)';
$db->runQuery($query);
}
if(!empty($noMhs)){
//$isiPesanHP = "*UPLOAD DRAFT PRAOUTLINE BERHASIL (SPOTA)*\n\nAnda berhasil mengupload draft praoutline dengan judul *".$_POST['judul']."*, pastikan anda aktif berdiskusi pada forum review draft praoutline , dikarenakan judul ini akan *terclose* secara otomatis oleh sistem SPOTA INFORMATIKA UNTAN setelah 14 hari semenjak komentar terakhir dosen tidak direspon.\n\n*SPOTA INFORMATIKA UNTAN*";
$isiPesanHP = "*UPLOAD DRAFT PRAOUTLINE BERHASIL (SPOTA)*\n\nAnda berhasil mengupload draft praoutline dengan judul *".$_POST['judul']."*, pastikan anda aktif berdiskusi pada forum review draft praoutline , dikarenakan judul ini akan *terclose* secara otomatis oleh sistem SPOTA INFORMATIKA UNTAN setelah 14 hari semenjak waktu upload.\n\n*SPOTA INFORMATIKA UNTAN*";
$noMhs = '62'.intval($noMhs);
$query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(
"'.$noMhs.'",
"'.$isiPesanHP.'"
)';
$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);
$result = curl_exec($ch);
*/
//echo $result;
}
} else {
echo json_encode(['result' => false, 'msg' => 'Upload Berkas Gagal']);
exit;
}
}
break;
case 'post_review':
$idpraoutline = $_POST['idpra'];
$nim = $_SESSION['login-mhs']['nim'];
$prodi = $_SESSION['login-mhs']['prodi'];
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='".$nim."',
review_text='".$_POST['text_review']."',
jenis_review='0',
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-mhs']['prodi']."',
user='".$_SESSION['selected_user'][$xx]."',
jns_usr='D',
tgl='".NOW."',
msg='".$_SESSION['login-mhs']['nama_lengkap'].' ('.$_SESSION['login-mhs']['nim'].") 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 gcm
//-----------------------------------------------------------------------------
$g = "SELECT regid FROM gcm_service WHERE iduser IN($selecteduser) AND jenisuser IN('D','K')";
$db->runQuery($g);
if ($db->dbRows() > 0) {
$registrationid = [];
while ($r = $db->dbFetch()) {
array_push($registrationid, $r['regid']);
}
$isipesan = $_SESSION['login-mhs']['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':
$key = $_POST['key'];
$jenis = $_POST['by'];
if ($jenis == 'nim') {
if (ctype_alnum($key)) {
$by = " tp.nim LIKE '%$key%' ";
} else {
$newkey = str_replace("'", "\'", $key);
$by = " tp.nim 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
LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline)
JOIN tbmhs tm ON (tp.nim=tm.nim)
WHERE $by
";
/*$cari="SELECT
tp.id,
tp.nim,
tp.deskripsi,
tm.nmLengkap as nama,
tp.judul,
tp.tgl_upload,
tp.wkt_upload,
tp.status_usulan,
COUNT(tr.id) as jlhreview,
COUNT(if(tr.jenis_review='0',1,null)) as komentar,
COUNT(if(tr.jenis_review='1',1,null)) as putusan,
COUNT(if(tr.putusan='1',1,null)) as setuju,
count(if(tr.putusan='0',1,null)) as tdk_setuju,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=trh.pemb1) as dpemb1,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=trh.pemb2) as dpemb2,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=trh.peng1) as dpeng1,
(SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=trh.peng2) as dpeng2
FROM tbpraoutline tp
LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline)
LEFT JOIN tbrekaphasil trh ON (tp.id=trh.idpraoutline)
JOIN tbmhs tm ON (tp.nim=tm.nim)
WHERE $by GROUP BY tp.id";*/
//echo $cari;
$db->runQuery($cari);
$listIdPraoutline = [];
if ($db->dbRows() > 0) {
?>