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.
This commit is contained in:
Power BI Dev
2026-05-02 10:08:52 +07:00
parent 874dbbe8e8
commit efdb11db3f
221 changed files with 43273 additions and 0 deletions

View File

@@ -0,0 +1,153 @@
<?php $db=new dB($dbsetting);
$lvl=$_SESSION['login-dosen']['lvl'];
?>
<div class="navbar-content">
<!-- start: SIDEBAR -->
<div class="main-navigation navbar-collapse collapse">
<!-- start: MAIN MENU TOGGLER BUTTON -->
<div class="navigation-toggler">
<i class="clip-chevron-left"></i>
<i class="clip-chevron-right"></i>
</div>
<!-- end: MAIN MENU TOGGLER BUTTON -->
<!-- start: MAIN NAVIGATION MENU -->
<ul class="main-navigation-menu">
<li <?php echo ($_GET['page']=="")?'class="active open"':'';?>>
<a href="dashboard.php">
<i class="clip-home-3"></i>
<span class="title"> Dashboard </span><span class="selected"></span>
</a>
</li>
<li <?php echo ($_GET['page']=="praoutline")?'class="active open"':'';?>>
<a href="javascript:void(0)">
<i class="clip-stack"></i>
<span class="title"> Praoutline </span><i class="icon-arrow"></i><span class="selected"></span>
</a>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="praoutline" AND $_GET['menu']=="statistik")?'class="active open"':'';?>>
<a href="?page=praoutline&menu=statistik">
<span class="title"> Statistik </span>
</a>
</li>
</ul>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="praoutline" AND $_GET['menu']=="new")?'class="active open"':'';?>>
<a href="?page=praoutline&menu=new">
<span class="title">Daftar Draft Praoutline </span>
</a>
</li>
</ul>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="praoutline" AND $_GET['menu']=="myreview")?'class="active open"':'';?>>
<a href="?page=praoutline&menu=myreview">
<span class="title"> Review Saya </span>
</a>
</li>
</ul>
<!-- <ul class="sub-menu">
<li <?php echo ($_GET['page']=="praoutline" AND $_GET['menu']=="daftar-praoutline")?'class="active open"':'';?>>
<a href="?page=praoutline&menu=daftar-praoutline">
<span class="title"> Daftar Praoutline </span>
</a>
</li>
</ul> -->
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="praoutline" AND $_GET['menu']=="cari")?'class="active open"':'';?>>
<a href="?page=praoutline&menu=cari">
<span class="title"> Pencarian </span>
</a>
</li>
</ul>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="praoutline" AND $_GET['menu']=="keputusan")?'class="active open"':'';?>>
<a href="?page=praoutline&menu=keputusan">
<span class="title"> Kep. Penunjukan Dosen </span>
</a>
</li>
</ul>
<?php
if($_SESSION['login-dosen']['jenisdosen']=='K'){
?>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="praoutline" AND $_GET['menu']=="kep-draft-praoutline")?'class="active open"':'';?>>
<a href="?page=praoutline&menu=kep-draft-praoutline">
<span class="title"> Kep. Draft Praoutline </span>
</a>
</li>
</ul>
<?php
}
?>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="praoutline" AND $_GET['menu']=="pemberitahuan")?'class="active open"':'';?>>
<a href="?page=praoutline&menu=pemberitahuan">
<span class="title"> Pemberitahuan </span>
</a>
</li>
</ul>
</li>
<li <?php echo ($_GET['page']=="skripsi")?'class="active open"':'';?>>
<a href="javascript:void(0)">
<i class="clip-stack"></i>
<span class="title"> Tugas Akhir </span><i class="icon-arrow"></i><span class="selected"></span>
</a>
<?php
$nip=$_SESSION['login-dosen']['nip'];
$new="SELECT
td.*,
tr.*,
COUNT(tr.status) as jlhreview
FROM tbdiskusi td
LEFT JOIN tbreviewdiskusi tr ON (td.idDiskusi=tr.idDiskusi)
WHERE td.idDiskusi=tr.idDiskusi and tr.reviewer not like '$nip' and tr.status='0' group by td.pemb";
$db->runQuery($new);
$cnt=$db->dbFetch();
if($db->dbRows()>0){ $i=$cnt['jlhreview'];}else{ $i='0';}
?>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="skripsi" AND $_GET['menu']=="bimbingan")?'class="active open"':'';?>>
<a href="?page=skripsi&menu=bimbingan">
<span class="title"> Bimbingan Terbaru (<?php echo "<b>$i</b>";?>)</span>
</a>
</li>
</ul>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="skripsi" AND $_GET['menu']=="forum")?'class="active open"':'';?>>
<a href="?page=skripsi&menu=forum">
<span class="title"> Forum Pembimbing </span>
</a>
</li>
</ul>
<!-- <ul class="sub-menu">
<li <?php echo ($_GET['page']=="skripsi" AND $_GET['menu']=="jadwal")?'class="active open"':'';?>>
<a href="?page=skripsi&menu=jadwal">
<span class="title"> Jadwal Seminar dan Sidang </span>
</a>
</li>
</ul> -->
</li>
<li <?php echo ($_GET['page']=="pengumuman")?'class="active open"':'';?>>
<a href="dashboard.php?page=pengumuman">
<i class="clip-list-2"></i>
<span class="title"> Pengumuman </span><span class="selected"></span>
</a>
</li>
<li <?php echo ($_GET['page']=="user")?'class="active open"':'';?>>
<a href="javascript:void(0)">
<i class="clip-user-2"></i>
<span class="title"> User </span><i class="icon-arrow"></i><span class="selected"></span>
</a>
<ul class="sub-menu">
<li <?php echo ($_GET['page']=="user" AND $_GET['menu']=="my-profile")?'class="active open"':'';?>>
<a href="?page=user&menu=my-profile">
<span class="title"> Profil Saya </span>
</a>
</li>
</ul>
</li>
</ul>
<!-- end: MAIN NAVIGATION MENU -->
</div>
<!-- end: SIDEBAR -->
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,59 @@
<?php
unset_session("prev_page");
set_session("prev_page","cari");?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php ECHO DOSEN_PAGE;?>">
Home
</a>
</li>
<li class="active">
Pencarian
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'),'j F Y, H:i');?></label>
</li>
</ol>
<div class="page-header">
<h1>Pencarian Judul Usulan <small></small></h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!-- start: SEARCH RESULT -->
<div class="search-classic">
<form method="POST" action="" id="cari">
<input type="hidden" name="act" value="cari">
<div class="row">
<div class="col-sm-3">
<div class="form-group">
<select name="by" class="form-control">
<option <?php echo($_POST['by']=='nim')?'selected':'';?> value="nim">N I M</option>
<option <?php echo($_POST['by']=='judul')?'selected':'';?> value="judul">Judul Praoutline</option>
<option <?php echo($_POST['by']=='dosen')?'selected':'';?> value="dosen">Nama Dosen Pembimbing/Penguji</option>
</select>
</div>
</div>
<div class="col-sm-7">
<div class="form-group">
<input type="text" name="key" placeholder="Cari..." class="required form-control" value="<?php echo $_POST['key'];?>" Title="Silakan Masukkan Kata Kunci"/>
</div>
</div>
<div class="col-sm-1">
<div class="form-group">
<input type="submit" class="form-control" name="cari" value="Cari">
</div>
</div>
</div>
</form>
<div id="loading" style="display:none;text-align:center"><br/><i class="clip-spin-alt icon-spin icon-2x"></i><br/><em> Searching..</em></div>
<div id="result-cari"></div>
</div>
<!-- end: SEARCH RESULT -->
</div>
</div>

View File

@@ -0,0 +1,55 @@
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php ECHO DOSEN_PAGE;?>">
Home
</a>
</li>
<li class="active">
Daftar Usulan TA
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'),'j F Y, H:i');?></label>
</li>
</ol>
<div class="page-header">
<h1>Daftar Usulan <small></small></h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!-- start: SEARCH RESULT -->
<div class="search-classic">
<form method="POST" action="" id="cari">
<input type="hidden" name="act" value="cari">
<div class="row">
<div class="col-sm-3">
<div class="form-group">
<select name="by" class="form-control">
<option <?php echo($_POST['by']=='nim')?'selected':'';?> value="nim">N I M</option>
<option <?php echo($_POST['by']=='judul')?'selected':'';?> value="judul">Judul Usulan</option>
</select>
</div>
</div>
<div class="col-sm-7">
<div class="form-group">
<input type="text" name="key" placeholder="Cari..." class="required form-control" value="<?php echo $_POST['key'];?>" Title="Silakan Masukkan Kata Kunci"/>
</div>
</div>
<div class="col-sm-1">
<div class="form-group">
<input type="submit" class="form-control" name="cari" value="Cari">
</div>
</div>
</div>
</form>
<div id="loading" style="display:none;text-align:center"><br/><i class="clip-spin-alt icon-spin icon-2x"></i><br/><em> Searching..</em></div>
<div id="result-cari"></div>
</div>
<!-- end: SEARCH RESULT -->
</div>
</div>

View File

@@ -0,0 +1,153 @@
<?php $db = new dB($dbsetting);
if (!isset($_GET['lihat'])) {
?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php echo DOSEN_PAGE; ?>">
Home
</a>
</li>
<li class="active">
Daftar Usulan
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'), 'j F Y, H:i'); ?></label>
</li>
</ol>
<div class="page-header">
<h1>Daftar Usulan<!-- <small>overview &amp; stats </small> --></h1>
</div>
</div>
</div>
<?php
$listKK = [];
$sql = "SELECT * FROM tb_kelompok_keahlian";
$result = $db->runQuery($sql);
while ($aRow = $db->dbFetch($result)) {
array_push($listKK, [
'id' => $aRow['idKK'],
'nama' => $aRow['namaKK'],
]);
}
if($_SESSION['login-dosen']['jenisdosen']=='K'){
?>
<form id="notifCloseJudul" method="POST" enctype="multipart/form-data" action="page/praoutline/act.praoutline.php" style="margin-bottom:1.5rem;border: 1px solid grey; padding: 1rem 1rem;">
<input type="hidden" name="act" value="notifCloseJudul" />
<div class="row" >
<h4 style="margin-left:1.5rem">Kirim Notif Close Judul ke Ketua KK Masing-masing</h4>
<div class="col-md-6">
<div class="form-group">
<label class="control-label">
Judul Sebelum Tanggal
</label>
<input type="date" name="tanggalNotifKK" class="form-control" value="<?php echo date('Y-m-d', strtotime('-7 day', time())); ?>"/>
</div>
<div class="form-group">
<label class="control-label">
Kelompok Keahlian Tujuan :
</label>
<?php
foreach ($listKK as $key => $val) {
$checked = ' checked="checked" ';
echo ' <input class="form-check-input" type="checkbox" '.$checked.' value="'.$val['id'].'" name="kkTujuanList[]"><label class="form-check-label" style="margin-left:1rem">'.$val['nama'].'</label>';
}
?>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2">
<button class="btn btn-teal btn-block" type="submit">
Kirim Notif
</button>
</div>
</div>
</form>
<?php
}
?>
<div class="row">
<div class="col-md-12">
<div style="margin-bottom:1rem">
<div style="display:inline-block">
Status Judul
<select id="filterJudulPraoutlineField" class="form-control" style="width:200px" onChange="filterDataPraoutline()">
<option value="all">Semua Judul</option>
<option value="myKK" <?php echo (isset($_GET['myKK'])) ? ' selected ' : ''; ?>>Kelompok Keahlian Saya</option>
</select>
</div>
<!--
<div style="display:inline-block">
Status Close Judul KK
<select id="filterJudulCLoseKK" class="form-control" style="width:200px" >
<option value="all">Semua Status</option>
<option value="0">Belum Diclose</option>
<option value="1">Diterima</option>
<option value="2">Ditolak</option>
</select>
</div>
<div style="display:inline-block">
<button class="btn btn-primary" onClick="filterDataPraoutline()">Filter</button>
</div>
-->
</div>
<!-- start: DYNAMIC TABLE PANEL -->
<?php
$whereKK = '';
if (isset($_GET['myKK'])) {
$whereKK = " AND kelompokKeahlian = '".$_SESSION['login-dosen']['kelompokKeahlian']."' ";
}
$q_jdl_terbaru = "SELECT COUNT(id) as jlh FROM tbpraoutline WHERE id NOT IN (SELECT idkonten FROM tmp_notif WHERE iduser='".$_SESSION['login-dosen']['id']."' AND typeuser='D' AND jenis='J') AND status_usulan='0' $whereKK ";
//echo $q_jdl_terbaru;
$notif_jdl_terbaru = $db->runQuery($q_jdl_terbaru);
$rjdl_terbaru = $db->dbFetch($notif_jdl_terbaru);
$jlh_notif_jdl_terbaru = $rjdl_terbaru['jlh'];
//variabel untuk menampilkan jumlah notif ada di _header.php
if ($db->dbRows($notif_jdl_terbaru) > 0) {
if ($jlh_notif_jdl_terbaru > 0) {
?>
<div class="alert alert-warning">
<button data-dismiss="alert" class="close">
×
</button>
<i class="icon-exclamation-triangle"></i>
Terdapat <strong><?php echo $jlh_notif_jdl_terbaru; ?></strong> Usulan Terbaru.
</div>
<?php
}
} ?>
<table class="table table-striped table-bordered table-hover table-full-width" id="list-judul">
<thead>
<tr>
<th style="width:15%;text-align:center">Nama Mahasiswa</th>
<th style="width:40%;text-align:center">Judul Usulan</th>
<th style="width:15%;text-align:center">Tahun Ajaran</th>
<th style="width:15%;text-align:center">Tanggal</th>
<th style="width:15%;text-align:center">KK Terkait</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
<!-- end: DYNAMIC TABLE PANEL -->
</div>
</div>
<?php
}
?>

View File

@@ -0,0 +1,319 @@
<?php $db = new dB($dbsetting);
if (!$_GET['prid']) {
?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php echo DOSEN_PAGE; ?>">
Home
</a>
</li>
<li class="active">
Putusan Ketua Kelompok Keahlian
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'), 'j F Y, H:i'); ?></label>
</li>
</ol>
<div class="page-header">
<h1>Putusan Ketua Kelompok Keahlian<!-- <small>overview &amp; stats </small> --></h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div style="margin-bottom:1rem">
Tampilkan : <select id="jenisKeputusanKK" >
<option value="Semua">Semua</option>
<option value="Belum Disetujui">Belum Disetujui</option>
<option value="Sudah Disetujui">Sudah Disetujui</option>
</select>
</div>
<div style="margin-bottom:1rem">
Rentang Waktu : <select onChange="showRentangWaktuDiv()" id="showRentangWaktuDiv" >
<option value="0">Tidak</option>
<option value="1">Ya</option>
</select>
</div>
<div style="margin-bottom:1rem" id="rentangWaktuDiv">
Rentang Waktu (Tanggal Keputusan) :
<input type="date" value="<?php echo date('Y-m-d'); ?>" id="startRentangWaktu"> sampai
<input type="date" value="<?php echo date('Y-m-d'); ?>" id="endRentangWaktu">
</div>
<button class="btn btn-primary" onClick="refreshTabelKeputusanKK()">Filter</button>
<div id="printRekapKKDiv"></div>
<table class="table table-striped table-bordered table-hover table-full-width" id="kep-draft-praoutlineKK">
<thead>
<tr>
<th style="width:15%;text-align:center">Nama Mahasiswa</th>
<th style="width:50%;text-align:center">Judul Usulan</th>
<th style="width:15%;text-align:center">Tahun Ajaran</th>
<th style="width:15%;text-align:center">Tanggal Upload</th>
<th style="width:15%;text-align:center">Keputusan</th>
<th style="width:8%;text-align:center">Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
<!-- end: DYNAMIC TABLE PANEL -->
</div>
</div>
<?php
} else {
$idpraoutline = $_GET['prid'];
if (ctype_digit($idpraoutline)) {
?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php echo DOSEN_PAGE; ?>">
Home
</a>
</li>
<li>
<a href="<?php echo DOSEN_PAGE; ?>dashboard.php?page=praoutline&menu=kep-draft-praoutline-kk">
Daftar Draf Praoutline
</a>
</li>
<li class="active">
Close Draft Praoutline
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'), 'j F Y, H:i'); ?></label>
</li>
</ol>
<div class="page-header">
<h1>Close Draft Praoutline<!-- <small>overview &amp; stats </small> --></h1>
</div>
</div>
</div>
<?php
$aksiform = 'close_judulkk';
$namamhs = '';
$nimmhs = '';
$judulfinal = '';
$d_pemb1 = '';
$d_pemb2 = '';
$d_peng1 = '';
$d_peng2 = '';
$kep_ket = '';
$kep_id = '';
$idputusan = '';
$kep = "SELECT trh.*,(SELECT nmLengkap FROM tbmhs WHERE nim=trh.nim LIMIT 1) as nama FROM tbrekaphasil trh WHERE trh.idpraoutline='$idpraoutline' LIMIT 1";
$db->runQuery($kep);
if ($db->dbRows() > 0) {
$r_kep = $db->dbFetch();
$judulfinal = $r_kep['judul_final'];
$d_pemb1 = $r_kep['pemb1'];
$d_pemb2 = $r_kep['pemb2'];
$d_peng1 = $r_kep['peng1'];
$d_peng2 = $r_kep['peng2'];
$kep_ket = $r_kep['ket'];
$kep_id = $r_kep['kep_akhir'];
$namamhs = $r_kep['nama'];
$nimmhs = $r_kep['nim'];
$aksiform = 'update_putusankk';
$tanggalKeputusanPenguji = $r_kep['timestampPenunjukanPenguji'];
$idputusan = '<input type="hidden" name="idputusan" value="'.$r_kep['id'].'" />';
}
$q = "SELECT tp.*,(SELECT nmLengkap FROM tbmhs WHERE nim=tp.nim LIMIT 1) as nama FROM tbpraoutline tp WHERE tp.id='$idpraoutline'";
$db->runQuery($q);
if ($db->dbRows() > 0) {
$pr = $db->dbFetch(); ?>
<div class="row">
<div class="col-sm-12">
<p><h3 style="text-align:left;margin-top:0"><?php echo strtoupper($pr['judul']); ?></h3></p>
<?php echo $pr['deskripsi']; ?>
<div class="row">
<div class="col-sm-8">
<p>Oleh : <?php echo $pr['nama'].' ('.$pr['nim'].')'; ?></p>
</div>
</div>
</div>
</div>
<form id="putusan_judul" method="POST" action="page/praoutline/act.praoutline.php">
<input type="hidden" name="act" value="<?php echo $aksiform; ?>" />
<input type="hidden" name="nim" value="<?php echo $pr['nim']; ?>" />
<input type="hidden" name="idpr" value="<?php echo $pr['id']; ?>" />
<?php echo $idputusan; ?>
<?php
if ($pr['ket'] != '' and $_SESSION['login-dosen']['jenisdosen'] == 'K') {
$ket = json_decode($pr['ket'], true);
$dosenpa = $ket['dosenpa'];
$dosenperrekomjudul = $ket['rekomjudul'];
$pilpemb1 = $ket['pilpemb1'];
$pilpemb2 = $ket['pilpemb2'];
$pilpemb3 = $ket['pilpemb3'];
$pilpemb4 = $ket['pilpemb4'];
echo '<div class="alert alert-block alert-info">';
echo '<div class="row">';
echo '<div class="col-md-4">';
echo '<strong>Dosen Pembimbing Akademik (PA) </strong>: <br/>'.$dosenpa;
echo '<br><strong>Dosen Yang Merekomendasikan Judul</strong>: <br/>'.$dosenperrekomjudul;
echo '</div>';
echo '<div class="col-md-4">';
echo '<strong>Dosen Pembimbing Pilihan </strong>: <br/>'.$pilpemb1.'<br/>'.$pilpemb2.'<br/>'.$pilpemb3.'<br/>'.$pilpemb4;
echo '</div>';
echo '</div>';
echo '</div>';
} ?>
<div class="row">
<div class="col-sm-12">
<div class="panel panel-default">
<!-- <div class="panel-heading"></div> -->
<div class="panel-body">
<div class="row">
<div class="col-sm-3">
<div class="form-group">
<label> Putusan </label>
<select name="putusan" id="putusan" class="form-control">
<option value=""> - Pilih -</option>
<option <?php echo ($kep_id == '1') ? 'selected' : ''; ?> value="1"> Terima </option>
<option <?php echo ($kep_id == '2') ? 'selected' : ''; ?> value="2"> Tolak </option>
</select>
</div>
</div>
<div class="col-sm-9">
<div class="form-group">
<label>Keterangan </label>
<textarea name="ket" id="ket" class="form-control"><?php echo $kep_ket; ?></textarea>
</div>
</div>
</div>
<div class="row">
<div class="form-group col-sm-12">
<label>Judul Final</label>
<input type="text" value="<?php echo ($judulfinal != '') ? $judulfinal : $pr['judul']; ?>" name="judul_final" id="judul_final" class="form-control" />
</div>
</div>
<?php
$d = "SELECT * FROM tbdosen WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' ORDER by nmLengkap ASC"; ?>
<div class="row" style="display:none">
<div class="col-sm-6">
<div class="form-group">
<label>Dosen Pembimbing 1 </label>
<select name="pemb1" id="pemb1" class="form-control search-select">
<?php
$db->runQuery($d);
echo '<option value="">-Pilih-</option>';
while ($pemb1 = $db->dbFetch()) {
if ($d_pemb1 == $pemb1['nip']) {
echo '<option selected value="'.$pemb1['nip'].'">'.$pemb1['nmLengkap'].'</option>';
} else {
echo '<option value="'.$pemb1['nip'].'">'.$pemb1['nmLengkap'].'</option>';
}
} ?>
</select>
</div>
<div class="form-group">
<label>Dosen Pembimbing 2 </label>
<select name="pemb2" id="pemb2" class="form-control search-select">
<?php
$db->runQuery($d);
echo '<option value="">-Pilih-</option>';
while ($pemb2 = $db->dbFetch()) {
if ($d_pemb2 == $pemb2['nip']) {
echo '<option selected value="'.$pemb2['nip'].'">'.$pemb2['nmLengkap'].'</option>';
} else {
echo '<option value="'.$pemb2['nip'].'">'.$pemb2['nmLengkap'].'</option>';
}
} ?>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Dosen Penguji 1 </label>
<select name="peng1" id="peng1" class="form-control search-select">
<?php
$db->runQuery($d);
echo '<option value="">-Pilih-</option>';
while ($peng1 = $db->dbFetch()) {
if ($d_peng1 == $peng1['nip']) {
echo '<option selected value="'.$peng1['nip'].'">'.$peng1['nmLengkap'].'</option>';
} else {
echo '<option value="'.$peng1['nip'].'">'.$peng1['nmLengkap'].'</option>';
}
} ?>
</select>
</div>
<div class="form-group">
<label>Dosen Penguji 2</label>
<select name="peng2" id="peng2" class="form-control search-select">
<?php
$db->runQuery($d);
echo '<option value="">-Pilih-</option>';
while ($peng2 = $db->dbFetch()) {
if ($d_peng2 == $peng2['nip']) {
echo '<option selected value="'.$peng2['nip'].'">'.$peng2['nmLengkap'].'</option>';
} else {
echo '<option value="'.$peng2['nip'].'">'.$peng2['nmLengkap'].'</option>';
}
} ?>
</select>
</div>
</div>
</div>
</div>
<?php
if ($aksiform == 'update_putusan') {
?>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label style="color:white">.</label>
<button onClick="doUpdateEvent('keputusan')" type="submit" class="btn btn-block btn-primary" id="btnUpload" name="btnKeputusan"><i class="clip-checkmark-circle"></i> Simpan Keputusan</button>
<span id="loading" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label> Tanggal Keputusan Penguji</label>
<input type="date" name="tanggalKeputusanPenguji" id="tanggalKeputusanPenguji" class="form-control" value="<?php echo $tanggalKeputusanPenguji; ?>">
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label style="color:white">.</label>
<button onClick="doUpdateEvent('penguji')" type="submit" class="btn btn-block btn-success" id="btnUploadPenguji" name="btnPenunjukanPenguji"><i class="clip-checkmark-circle"></i> Simpan Penunjukan Dosen Penguji</button>
<span id="loadingPenguji" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>
</div>
</div>
</div>
<input type="hidden" id="eventButton" name="eventButton" value=""/>
<?php
} else {
?>
<div class="form-group">
<button type="submit" class="btn btn-block btn-primary" id="btnUpload"><i class="clip-checkmark-circle"></i> Simpan</button>
<span id="loading" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>
</div>
<?php
} ?>
</div>
</div>
</div>
</div>
</form>
<?php
}
}
}
?>

View File

@@ -0,0 +1,316 @@
<?php $db = new dB($dbsetting);
if (!$_GET['prid']) {
?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php echo DOSEN_PAGE; ?>">
Home
</a>
</li>
<li class="active">
Putusan Kaprodi
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'), 'j F Y, H:i'); ?></label>
</li>
</ol>
<div class="page-header">
<h1>Putusan Kajur / Kaprodi<!-- <small>overview &amp; stats </small> --></h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div style="margin-bottom:1rem">
Tampilkan : <select onChange="refreshTabelKeputusan()" id="jenisKeputusan" style="display:none" >
<option value="Sudah Disetujui">Sudah Disetujui</option>
<option value="Semua">Semua</option>
<option value="Belum Disetujui">Belum Disetujui</option>
<option value="Sudah Disetujui">Sudah Disetujui</option>
</select>
<select onChange="refreshTabelKeputusan()" id="statusDosen">
<option value="Semua">Semua</option>
<option value="pembimbingKosong">Dosen Pembimbing Belum Ditunjuk</option>
<option value="pengujiKosong">Dosen Penguji Belum Ditunjuk</option>
</select>
</div>
<table class="table table-striped table-bordered table-hover table-full-width" id="kep-draft-praoutline">
<thead>
<tr>
<th style="width:15%;text-align:center">Nama Mahasiswa</th>
<th style="width:50%;text-align:center">Judul Usulan</th>
<th style="width:15%;text-align:center">Tahun Ajaran</th>
<th style="width:15%;text-align:center">Tanggal Upload</th>
<th style="width:15%;text-align:center">Tanggal Close Judul Oleh KK</th>
<th style="width:8%;text-align:center">Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
<!-- end: DYNAMIC TABLE PANEL -->
</div>
</div>
<?php
} else {
$idpraoutline = $_GET['prid'];
if (ctype_digit($idpraoutline)) {
?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php echo DOSEN_PAGE; ?>">
Home
</a>
</li>
<li>
<a href="<?php echo DOSEN_PAGE; ?>dashboard.php?page=praoutline&menu=kep-draft-praoutline">
Daftar Draf Praoutline
</a>
</li>
<li class="active">
Close Draft Praoutline
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'), 'j F Y, H:i'); ?></label>
</li>
</ol>
<div class="page-header">
<h1>Close Draft Praoutline<!-- <small>overview &amp; stats </small> --></h1>
</div>
</div>
</div>
<?php
$aksiform = 'close_judul';
$namamhs = '';
$nimmhs = '';
$judulfinal = '';
$d_pemb1 = '';
$d_pemb2 = '';
$d_peng1 = '';
$d_peng2 = '';
$kep_ket = '';
$kep_id = '';
$idputusan = '';
$kep = "SELECT trh.*,(SELECT nmLengkap FROM tbmhs WHERE nim=trh.nim LIMIT 1) as nama FROM tbrekaphasil trh WHERE trh.idpraoutline='$idpraoutline' LIMIT 1";
$db->runQuery($kep);
if ($db->dbRows() > 0) {
$r_kep = $db->dbFetch();
$judulfinal = $r_kep['judul_final'];
$d_pemb1 = $r_kep['pemb1'];
$d_pemb2 = $r_kep['pemb2'];
$d_peng1 = $r_kep['peng1'];
$d_peng2 = $r_kep['peng2'];
$kep_ket = $r_kep['ket'];
$kep_id = $r_kep['kep_akhir'];
$namamhs = $r_kep['nama'];
$nimmhs = $r_kep['nim'];
$aksiform = 'update_putusan';
$tanggalKeputusanPenguji = $r_kep['timestampPenunjukanPenguji'];
$idputusan = '<input type="hidden" name="idputusan" value="'.$r_kep['id'].'" />';
}
if(empty($tanggalKeputusanPenguji)){
$tanggalKeputusanPenguji = date('Y-m-d');
}
$q = "SELECT tp.*,(SELECT nmLengkap FROM tbmhs WHERE nim=tp.nim LIMIT 1) as nama FROM tbpraoutline tp WHERE tp.id='$idpraoutline'";
$db->runQuery($q);
if ($db->dbRows() > 0) {
$pr = $db->dbFetch(); ?>
<div class="row">
<div class="col-sm-12">
<p><h3 style="text-align:left;margin-top:0"><?php echo strtoupper($pr['judul']); ?></h3></p>
<?php echo $pr['deskripsi']; ?>
<div class="row">
<div class="col-sm-8">
<p>Oleh : <?php echo $pr['nama'].' ('.$pr['nim'].')'; ?></p>
</div>
</div>
</div>
</div>
<form id="putusan_judul" method="POST" action="page/praoutline/act.praoutline.php">
<input type="hidden" name="act" value="<?php echo $aksiform; ?>" />
<input type="hidden" name="nim" value="<?php echo $pr['nim']; ?>" />
<input type="hidden" name="idpr" value="<?php echo $pr['id']; ?>" />
<?php echo $idputusan; ?>
<?php
if ($pr['ket'] != '' and $_SESSION['login-dosen']['jenisdosen'] == 'K') {
$ket = json_decode($pr['ket'], true);
$dosenpa = $ket['dosenpa'];
$dosenperrekomjudul = $ket['rekomjudul'];
$pilpemb1 = $ket['pilpemb1'];
$pilpemb2 = $ket['pilpemb2'];
$pilpemb3 = $ket['pilpemb3'];
$pilpemb4 = $ket['pilpemb4'];
echo '<div class="alert alert-block alert-info">';
echo '<div class="row">';
echo '<div class="col-md-4">';
echo '<strong>Dosen Pembimbing Akademik (PA) </strong>: <br/>'.$dosenpa;
echo '<br><strong>Dosen Yang Merekomendasikan Judul</strong>: <br/>'.$dosenperrekomjudul;
echo '</div>';
echo '<div class="col-md-4">';
echo '<strong>Dosen Pembimbing Pilihan </strong>: <br/>'.$pilpemb1.'<br/>'.$pilpemb2.'<br/>'.$pilpemb3.'<br/>'.$pilpemb4;
echo '</div>';
echo '</div>';
echo '</div>';
} ?>
<div class="row">
<div class="col-sm-12">
<div class="panel panel-default">
<!-- <div class="panel-heading"></div> -->
<div class="panel-body">
<div class="row">
<div class="col-sm-3">
<div class="form-group">
<label> Putusan </label>
<select name="putusan" id="putusan" class="form-control">
<option value=""> - Pilih -</option>
<option <?php echo ($kep_id == '1') ? 'selected' : ''; ?> value="1"> Terima </option>
<option <?php echo ($kep_id == '2') ? 'selected' : ''; ?> value="2"> Tolak </option>
<option <?php echo ($kep_id == '3') ? 'selected' : ''; ?> value="3"> Gugur </option>
</select>
</div>
</div>
<div class="col-sm-9">
<div class="form-group">
<label>Keterangan </label>
<textarea name="ket" id="ket" class="form-control"><?php echo $kep_ket; ?></textarea>
</div>
</div>
</div>
<div class="row">
<div class="form-group col-sm-12">
<label>Judul Final</label>
<input type="text" value="<?php echo ($judulfinal != '') ? $judulfinal : $pr['judul']; ?>" name="judul_final" id="judul_final" class="form-control" />
</div>
</div>
<?php
$d = "SELECT * FROM tbdosen WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' ORDER by nmLengkap ASC"; ?>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>Dosen Pembimbing 1 </label>
<select name="pemb1" id="pemb1" class="form-control search-select">
<?php
$db->runQuery($d);
echo '<option value="">-Pilih-</option>';
while ($pemb1 = $db->dbFetch()) {
if ($d_pemb1 == $pemb1['nip']) {
echo '<option selected value="'.$pemb1['nip'].'">'.$pemb1['nmLengkap'].'</option>';
} else {
echo '<option value="'.$pemb1['nip'].'">'.$pemb1['nmLengkap'].'</option>';
}
} ?>
</select>
</div>
<div class="form-group">
<label>Dosen Pembimbing 2 </label>
<select name="pemb2" id="pemb2" class="form-control search-select">
<?php
$db->runQuery($d);
echo '<option value="">-Pilih-</option>';
while ($pemb2 = $db->dbFetch()) {
if ($d_pemb2 == $pemb2['nip']) {
echo '<option selected value="'.$pemb2['nip'].'">'.$pemb2['nmLengkap'].'</option>';
} else {
echo '<option value="'.$pemb2['nip'].'">'.$pemb2['nmLengkap'].'</option>';
}
} ?>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Dosen Penguji 1 </label>
<select name="peng1" id="peng1" class="form-control search-select">
<?php
$db->runQuery($d);
echo '<option value="">-Pilih-</option>';
while ($peng1 = $db->dbFetch()) {
if ($d_peng1 == $peng1['nip']) {
echo '<option selected value="'.$peng1['nip'].'">'.$peng1['nmLengkap'].'</option>';
} else {
echo '<option value="'.$peng1['nip'].'">'.$peng1['nmLengkap'].'</option>';
}
} ?>
</select>
</div>
<div class="form-group">
<label>Dosen Penguji 2</label>
<select name="peng2" id="peng2" class="form-control search-select">
<?php
$db->runQuery($d);
echo '<option value="">-Pilih-</option>';
while ($peng2 = $db->dbFetch()) {
if ($d_peng2 == $peng2['nip']) {
echo '<option selected value="'.$peng2['nip'].'">'.$peng2['nmLengkap'].'</option>';
} else {
echo '<option value="'.$peng2['nip'].'">'.$peng2['nmLengkap'].'</option>';
}
} ?>
</select>
</div>
</div>
</div>
</div>
<?php
if ($aksiform == 'update_putusan') {
?>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label style="color:white">.</label>
<button onClick="doUpdateEvent('keputusan')" type="submit" class="btn btn-block btn-primary" id="btnUpload" name="btnKeputusan"><i class="clip-checkmark-circle"></i> Simpan Keputusan</button>
<span id="loading" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label> Tanggal Keputusan Penguji</label>
<input type="date" name="tanggalKeputusanPenguji" id="tanggalKeputusanPenguji" class="form-control" value="<?php echo $tanggalKeputusanPenguji; ?>">
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label style="color:white">.</label>
<button onClick="doUpdateEvent('penguji')" type="submit" class="btn btn-block btn-success" id="btnUploadPenguji" name="btnPenunjukanPenguji"><i class="clip-checkmark-circle"></i> Simpan Penunjukan Dosen Penguji</button>
<span id="loadingPenguji" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>
</div>
</div>
</div>
<input type="hidden" id="eventButton" name="eventButton" value=""/>
<?php
} else {
?>
<div class="form-group">
<button type="submit" class="btn btn-block btn-primary" id="btnUpload"><i class="clip-checkmark-circle"></i> Simpan</button>
<span id="loading" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>
</div>
<?php
} ?>
</div>
</div>
</div>
</div>
</form>
<?php
}
}
}
?>

View File

@@ -0,0 +1,63 @@
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php ECHO DOSEN_PAGE;?>">
Home
</a>
</li>
<li class="active">
Bimibingan Saya
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'),'j F Y, H:i');?></label>
</li>
</ol>
<div class="page-header">
<h1>Daftar Bimbingan Saya <small><b>yang telah ditetapkan oleh Ketua Program Studi</b></small></h1>
<h3>Yth. Bapak/Ibu Dosen Program Studi Informatika, <br> mohon berkenan untuk dapat memberikan bimbingan tugas akhir kepada mahasiswa berikut. Terimakasih.</h3>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="container">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tab1">Semua Data</a></li>
<li><a data-toggle="tab" href="#tab2">Filter Berdasarkan Jadwal</a></li>
</ul>
<div class="tab-content">
<div id="tab1" class="tab-pane fade in active">
<table class="table table-striped table-bordered table-hover table-full-width" id="list-judulditerima">
<thead>
<tr>
<th style="width:15%;text-align:center">Nama Mahasiswa</th>
<th style="text-align:center">Judul Tugas Akhir</th>
<th style="width:10%;text-align:center">Tahun Ajaran</th>
<th style="width:15%;text-align:center">Tanggal Putusan</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="4" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
</div>
<div id="tab2" class="tab-pane fade">
<div style="margin-bottom:1rem">
Rentang Waktu (Jadwal Seminar):
<input type="date" value="<?php echo date('Y-m-01'); ?>" id="startRentangWaktu"> sampai
<input type="date" value="<?php echo date('Y-m-d'); ?>" id="endRentangWaktu">
<button class="btn btn-primary" onClick="filterRentangWaktuBimbimgan()">Filter</button>
</div>
<div id="parentRentangWaktuBimbinganDiv"></div>
</div>
</div>
</div>
<!-- end: DYNAMIC TABLE PANEL -->
</div>

View File

@@ -0,0 +1,113 @@
<?php $db = new dB($dbsetting);
$id = $_SESSION['login-dosen']['id'];
$e = "SELECT * FROM tbdosen WHERE iddosen='$id' LIMIT 1";
$db->runQuery($e);
if ($db->dbRows() > 0) {
$dataDosen = $db->dbFetch();
} else {
exit;
}
$idData = intval($_GET['prid']);
$sql = "SELECT tbpraoutline.*, tbmhs.nmLengkap FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim WHERE id = '$idData'";
$db->runQuery($sql);
if ($db->dbRows() > 0) {
$dataPraoutline = $db->dbFetch();
} else {
exit;
}
$kkTerkait = json_decode($dataPraoutline['kkTerkait'], true);
$listKK = [];
$idKKDataIni = $dataPraoutline['kelompokKeahlian'];
if(!($dataDosen['kelompokKeahlian'] == $idKKDataIni || $dataDosen['jenis'] == 'K')){
exit;
}
$sql = "SELECT * FROM tb_kelompok_keahlian WHERE idKK != '$idKKDataIni'";
$result = $db->runQuery($sql);
while ($aRow = $db->dbFetch($result)) {
array_push($listKK, [
'id' => $aRow['idKK'],
'nama' => $aRow['namaKK'],
]);
}
?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php echo DOSEN_PAGE; ?>">
Home
</a>
</li>
<li class="active">
Daftar Usulan
</li>
</ol>
<div class="page-header">
<h1>Kelompok Keahlian Terkait </h1>
</div>
</div>
</div>
<form id="updateKKTerkait" method="POST" enctype="multipart/form-data" action="page/praoutline/act.praoutline.php">
<input type="hidden" name="act" value="updateKKTerkait" />
<input type="hidden" name="idpr" value="<?php echo $idData; ?>" />
<div class="alert alert-info" role="alert">
Fitur ini digunakan untuk mengirim Notifikasi WA kepada KK tertentu jika topik draft proposal mahasiswa punya keterkaitan dengan KK tersebut.
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label">
Judul
</label>
<input type="text" readonly class="form-control" value="<?php echo $dataPraoutline['judul']; ?>"/>
</div>
<div class="form-group">
<label class="control-label">
Nama Mahasiswa
</label>
<input type="text" readonly class="form-control" value="<?php echo $dataPraoutline['nmLengkap']; ?>"/>
</div>
<div class="form-group">
<label class="control-label">
NIM
</label>
<input type="text" readonly class="form-control" value="<?php echo $dataPraoutline['nim']; ?>"/>
</div>
<div class="form-group">
<label class="control-label">
Kelompok Keahlian Terkait
</label>
<?php
foreach ($listKK as $key => $val) {
$checked = "";
if(in_array($val['id'], $kkTerkait)){
$checked = ' checked= "checked" ';
}
echo ' <div class="form-check"><input class="form-check-input" type="checkbox" '.$checked.' value="'.$val['id'].'" name="kkTerkaitList[]"><label class="form-check-label" style="margin-left:1rem">'.$val['nama'].'</label></div>';
}
?>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2">
<button class="btn btn-teal btn-block" type="submit">
Simpan Data
</button>
</div>
</div>
</form>

View File

@@ -0,0 +1,224 @@
<?php
session_start();
$idprodi = $_SESSION['login-dosen']['prodi'];
$iddosen = $_SESSION['login-dosen']['id'];
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
/* Array of database columns which should be read and sent back to DataTables. Use a space where
* you want to insert a non-database field (for example a counter or static image)
*/
$aColumns = ['tp.judul', 'tp.nim', 'tm.nmLengkap'];
/* Indexed column (used for fast and accurate table cardinality) */
$sIndexColumn = 'tp.id';
/* DB table to use */
$sTable = 'tbpraoutline tp';
$sTable .= ' LEFT JOIN tbmhs tm ON (tp.nim=tm.nim) ';
/* Database connection information */
include '../../../inc/helper.php';
include '../../../inc/konfigurasi.php';
include '../../../inc/db.pdo.class.php';
$db = new dB($dbsetting);
/*
* Paging
*/
$sLimit = '';
if (isset($_GET['iDisplayStart']) && $_GET['iDisplayLength'] != '-1') {
$sLimit = 'LIMIT '.intval($_GET['iDisplayStart']).', '.
intval($_GET['iDisplayLength']);
}
/*
* Ordering
*/
$sOrder = 'ORDER BY tp.tgl_upload DESC, tp.judul ASC';
/*
* Filtering
*/
$sWhere = '';
if (isset($_GET['sSearch']) && $_GET['sSearch'] != '') {
$sWhere = 'WHERE (';
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true') {
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch']."%' OR ";
}
}
$sWhere = substr_replace($sWhere, '', -3);
$sWhere .= ')';
}
/* Individual column filtering */
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true' && $_GET['sSearch_'.$i] != '') {
if ($sWhere == '') {
$sWhere = 'WHERE ';
} else {
$sWhere .= ' AND ';
}
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch_'.$i]."%' ";
}
}
$whereKK = '';
if (isset($_GET['kk'])) {
$kkDosen = intval($_GET['kk']);
$whereKK = " AND kelompokKeahlian = '$kkDosen' ";
}
$where2 = '';
if ($sWhere != '') {
$where2 = " AND tp.idProdi='$idprodi' AND tp.status_usulan='0' $whereKK ";
} else {
$where2 = " WHERE tp.idProdi='$idprodi' AND tp.status_usulan='0' $whereKK ";
}
/*
* SQL queries
* Get data to display
*/
$sqlDosen = "SELECT * FROM tbdosen WHERE iddosen = '$iddosen'";
$db->runQuery($sqlDosen);
$currentIdKK = '-';
$currentKetua = false;
while ($rowDosen = $db->dbFetch()) {
$currentIdKK = $rowDosen['kelompokKeahlian'];
if($rowDosen['jenis'] == "K"){
$currentKetua = true;
}
}
$sqlKK = 'SELECT * FROM tb_kelompok_keahlian';
$db->runQuery($sqlKK);
$dataKK = [];
while ($kk = $db->dbFetch()) {
$idKK = $kk['idKK'];
$namaKK = $kk['namaKK'];
$warnaLabel = $kk['warnaLabel'];
$dataKK[$idKK] = ['nama' => $namaKK, 'label' => $warnaLabel];
}
$sQuery0 = "
SELECT tp.*,
((SELECT count(id) FROM tmp_notif WHERE iduser='".$iddosen."' AND typeuser='D' AND jenis='J' AND idProdi='".$idprodi."' AND idkonten=tp.id)) as new,
(SELECT nmLengkap FROM tbmhs WHERE nim=tp.nim LIMIT 1) as nm_mhs
FROM $sTable
$sWhere
$where2
$sOrder
";
//echo $sQuery0;
$db->runQuery($sQuery0);
$iFilteredTotal = $db->dbRows();
$result = $db->runQuery($sQuery0.$sLimit);
/* Total data set length */
$sQuery2 = "
SELECT COUNT(tp.id) as total FROM $sTable $sWhere $where2
";
//echo $sQuery2;
$db->runQuery($sQuery2);
$aResultTotal = $db->dbFetch();
$iTotal = $aResultTotal['total'];
/*$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or fatal_error( 'MySQL Error: ' . mysql_errno() );
$aResultTotal = mysql_fetch_array($rResultTotal);
$iTotal = $aResultTotal[0];*/
/*
* Output
*/
$output = [
'sEcho' => intval($_GET['sEcho']),
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iFilteredTotal,
'aaData' => [],
];
while ($aRow = $db->dbFetch($result)) {
$kelompokKeahlian = ' - <span class="label label-default" style="background-color:#A9A9A9">Tidak Ada Kelompok Keahlian</span>';
$idKelompokKeahlian = $aRow['kelompokKeahlian'];
if (isset($dataKK[$idKelompokKeahlian])) {
$kelompokKeahlian = ' - <span class="label label-'.$dataKK[$idKelompokKeahlian]['label'].'">'.$dataKK[$idKelompokKeahlian]['nama'].'</span>';
}
//print_r($aRow);
$row = [];
if ($aRow['new'] == 0) {
$badge = ' - <span class="label label-warning"> Baru</span>';
} else {
$badge = '';
}
$sQueryCount = "SELECT * FROM tbreview WHERE idpraoutline = '".$aRow['id']."'";
$resCount = $db->runQuery($sQueryCount);
$kkTerkait = $aRow['kkTerkait'];
$listKKTerkait = json_decode($kkTerkait, true);
$labelKKTerkait = '';
if ($listKKTerkait != null) {
foreach ($listKKTerkait as $key => $val) {
if (isset($dataKK[$val])) {
$labelKKTerkait = '<span class="label label-'.$dataKK[$val]['label'].'" style="margin-right:1rem">'.$dataKK[$val]['nama'].'</span>';
}
}
}
if ($labelKKTerkait == '') {
$labelKKTerkait = '-';
}
if($currentIdKK == $idKelompokKeahlian || $currentKetua){
$labelKKTerkait .= '<br><a href="?page=praoutline&menu=kk-terkait&prid='.$aRow['id'].'">Tambahkan KK Terkait</a>';
}
$jumlahReview = 0;
$jumlahSetuju = 0;
$jumlahTidakSetuju = 0;
while ($aResRow = $db->dbFetch($resCount)) {
if ($aResRow['putusan'] == '0') {
++$jumlahTidakSetuju;
}
if ($aResRow['putusan'] == '1') {
++$jumlahSetuju;
}
++$jumlahReview;
}
$statusPraoutline = '';
if ($aRow['status_usulan'] == 0) {
$statusPraoutline = '| <span class="label label-default" style="background-color:grey !important">Belum diclose</span>';
} elseif ($aRow['status_usulan'] == 1) {
$statusPraoutline = '| <span class="label label-success">Judul Diterima</span>';
} elseif ($aRow['status_usulan'] == 2) {
$statusPraoutline = '| <span class="label label-danger">Judul Ditolak</span>';
} elseif ($aRow['status_usulan'] == 3) {
$statusPraoutline = '| <span class="label label-danger">Judul Gugur</span>';
}
$row[0] = $aRow['nm_mhs'].'<br/>NIM: '.$aRow['nim'];
$row[1] = '<a href="?page=praoutline&menu=review&prid='.$aRow['id'].'">'.$aRow['judul'].'</a>'.$badge.$kelompokKeahlian.$statusPraoutline;
$row[1] .= '<p style="margin-top:1rem">Jumlah Review : <span class="badge badge-info">'.$jumlahReview.'</span> | Setuju : <span class="badge badge-success"> '.$jumlahSetuju.'</span> | Tidak Setuju : <span class="badge badge-danger">'.$jumlahTidakSetuju.'</span> '.$statusPraoutline.'</p>';
$row[2] = $aRow['thn_ajaran'].' - '.$aRow['semester'];
$row[3] = tanggalIndo($aRow['tgl_upload'].' '.$aRow['wkt_upload'], 'j F Y, H:i');
$row[4] = $labelKKTerkait;
$output['aaData'][] = $row;
// print_r($row);
}
echo json_encode($output);

View File

@@ -0,0 +1,151 @@
<?php
session_start();
$idprodi=$_SESSION['login-dosen']['prodi'];
$iddosen=$_SESSION['login-dosen']['id'];
$nipdosen=$_SESSION['login-dosen']['nip'];
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
/* Array of database columns which should be read and sent back to DataTables. Use a space where
* you want to insert a non-database field (for example a counter or static image)
*/
$aColumns = array('trh.judul_final','trh.nim');
/* Indexed column (used for fast and accurate table cardinality) */
$sIndexColumn = "trh.id";
/* DB table to use */
$sTable = "tbrekaphasil trh";
/* Database connection information */
include ("../../../inc/helper.php");
include ("../../../inc/konfigurasi.php");
include ("../../../inc/db.pdo.class.php");
$db=new dB($dbsetting);
/*
* Paging
*/
$sLimit = "";
if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
{
$sLimit = "LIMIT ".intval( $_GET['iDisplayStart'] ).", ".
intval( $_GET['iDisplayLength'] );
}
/*
* Ordering
*/
$sOrder = "ORDER BY trh.tgl_kep DESC, trh.wkt_kep DESC";
/*
* Filtering
*/
$sWhere = "";
if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" )
{
$sWhere = "WHERE (";
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" )
{
$sWhere .= "".$aColumns[$i]." LIKE '%".$_GET['sSearch']."%' OR ";
}
}
$sWhere = substr_replace( $sWhere, "", -3 );
$sWhere .= ')';
}
/* Individual column filtering */
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
{
if ( $sWhere == "" )
{
$sWhere = "WHERE ";
}
else
{
$sWhere .= " AND ";
}
$sWhere .= "".$aColumns[$i]." LIKE '%".$_GET['sSearch_'.$i]."%' ";
}
}
$where2="";
if($sWhere!=''){
$where2=" AND trh.idProdi='$idprodi' AND trh.kep_akhir='1' AND (trh.pemb1='$nipdosen' OR trh.pemb2='$nipdosen' OR trh.peng1='$nipdosen' OR trh.peng2='$nipdosen') ";
}else{
$where2=" WHERE trh.idProdi='$idprodi' AND trh.kep_akhir='1' AND (trh.pemb1='$nipdosen' OR trh.pemb2='$nipdosen' OR trh.peng1='$nipdosen' OR trh.peng2='$nipdosen') ";
}
/*
* SQL queries
* Get data to display
*/
$sQuery0 = "
SELECT trh.*,
(SELECT nmLengkap FROM tbdosen WHERE nip=trh.pemb1 AND idProdi='$idprodi') as dpemb1,
(SELECT nmLengkap FROM tbdosen WHERE nip=trh.pemb2 AND idProdi='$idprodi') as dpemb2,
(SELECT nmLengkap FROM tbdosen WHERE nip=trh.peng1 AND idProdi='$idprodi') as dpeng1,
(SELECT nmLengkap FROM tbdosen WHERE nip=trh.peng2 AND idProdi='$idprodi') as dpeng2,
(SELECT nmLengkap FROM tbmhs WHERE nim=trh.nim) as nm_mhs
FROM $sTable
$sWhere
$where2
$sOrder
";
//echo $sQuery0;
$db->runQuery($sQuery0);
$iFilteredTotal = $db->dbRows();
$result=$db->runQuery($sQuery0.$sLimit);
/* Total data set length */
$sQuery2 = "
SELECT COUNT(trh.id) as total FROM $sTable $sWhere $where2
";
//echo $sQuery2;
$db->runQuery($sQuery2);
$aResultTotal = $db->dbFetch();
$iTotal = $aResultTotal['total'];
/*$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or fatal_error( 'MySQL Error: ' . mysql_errno() );
$aResultTotal = mysql_fetch_array($rResultTotal);
$iTotal = $aResultTotal[0];*/
/*
* Output
*/
$output = array(
"sEcho" => intval($_GET['sEcho']),
"iTotalRecords" => $iTotal,
"iTotalDisplayRecords" => $iFilteredTotal,
"aaData" => array()
);
while ( $aRow = $db->dbFetch($result) )
{
//print_r($aRow);
$row = array();
$row[0]=$aRow['nm_mhs']."<br/>NIM: ".$aRow['nim'];
$row[1]='<a href="?page=praoutline&menu=review&prid='.$aRow['idpraoutline'].'">'.$aRow['judul_final'].'</a><br/>';
$row[1].='Pembimbing 1: '.$aRow['dpemb1'].' | Pembimbing 2: '.$aRow['dpemb2'].'<br/>Penguji 1: '.$aRow['dpeng1'].' | Penguji 2: '.$aRow['dpeng2'];
$row[2]=$aRow['tahun_ajaran']." - ".$aRow['semester'];
$row[3]=tanggalIndo($aRow['tgl_kep']." ".$aRow['wkt_kep'],'j F Y, H:i');
/*$row[4]='1. '.$aRow['dpemb1'].' <br/>2. '.$aRow['dpemb2'];
$row[5]='1. '.$aRow['dpeng1'].' <br/>2. '.$aRow['dpeng2'];*/
$output['aaData'][] = $row;
// print_r($row);
}
echo json_encode( $output );
?>

View File

@@ -0,0 +1,268 @@
<?php
session_start();
$idprodi = $_SESSION['login-dosen']['prodi'];
$iddosen = $_SESSION['login-dosen']['id'];
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
/* Array of database columns which should be read and sent back to DataTables. Use a space where
* you want to insert a non-database field (for example a counter or static image)
*/
$aColumns = ['tp.judul', 'tp.nim', 'tm.nmLengkap',];
/* Indexed column (used for fast and accurate table cardinality) */
$sIndexColumn = 'tp.id';
/* DB table to use */
$sTable = 'tbpraoutline tp';
//rev1$sTable .= ' LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) ';
$sTable .= ' LEFT JOIN tbmhs tm ON (tm.nim=tp.nim) ';
$sTable .= ' LEFT JOIN tbrekaphasil trh ON (trh.idpraoutline=tp.id) ';
/* Database connection information */
include '../../../inc/helper.php';
include '../../../inc/konfigurasi.php';
include '../../../inc/db.pdo.class.php';
$db = new dB($dbsetting);
$query = "SELECT * FROM tb_kelompok_keahlian WHERE ketuaKK = '".$_SESSION['login-dosen']['id']."' OR sekretarisKK = '".$_SESSION['login-dosen']['id']."'";
$result = $db->runQuery($query);
$idKKKetua = -1;
while ($aRow = $db->dbFetch($result)) {
$idKKKetua = $aRow['idKK'];
}
/*
* Paging
*/
$sLimit = '';
if (isset($_GET['iDisplayStart']) && $_GET['iDisplayLength'] != '-1') {
$sLimit = 'LIMIT '.intval($_GET['iDisplayStart']).', '.
intval($_GET['iDisplayLength']);
}
/*
* Ordering
*/
//$sOrder = 'ORDER BY tp.tgl_upload DESC, tp.judul ASC';
$sOrder = 'ORDER BY t.tgl_upload DESC, t.judul ASC';
/*
* Filtering
*/
$sWhere = '';
if (isset($_GET['sSearch']) && $_GET['sSearch'] != '') {
$sWhere = 'WHERE (';
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true') {
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch']."%' OR ";
}
}
$sWhere = substr_replace($sWhere, '', -3);
$sWhere .= ')';
}
/* Individual column filtering */
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true' && $_GET['sSearch_'.$i] != '') {
if ($sWhere == '') {
$sWhere = 'WHERE ';
} else {
$sWhere .= ' AND ';
}
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch_'.$i]."%' ";
}
}
$where2 = '';
if ($sWhere != '') {
$where2 = " AND tp.idProdi='$idprodi' ";
} else {
$where2 = " WHERE tp.idProdi='$idprodi' ";
}
/*
* SQL queries
* Get data to display
*/
$sqlKK = 'SELECT * FROM tb_kelompok_keahlian';
$db->runQuery($sqlKK);
$dataKK = [];
while ($kk = $db->dbFetch()) {
$idKK = $kk['idKK'];
$namaKK = $kk['namaKK'];
$warnaLabel = $kk['warnaLabel'];
$dataKK[$idKK] = ['nama' => $namaKK, 'label' => $warnaLabel];
}
$whereJenis = '';
if (isset($_GET['jenis'])) {
$jenis = $_GET['jenis'];
if ($jenis != 'Semua') {
switch ($jenis) {
case 'Belum Disetujui': $whereJenis = ' AND found = 0 '; break;
case 'Sudah Disetujui': $whereJenis = ' AND found > 0 '; break;
}
}
}
$whereTanggal = '';
if (isset($_GET['show'])) {
$showTanggal = $_GET['show'];
if ($showTanggal == '1') {
$tanggalAwal = date('Y-m-d', strtotime($_GET['startDate']));
$tanggalAkhir = date('Y-m-d', strtotime($_GET['endDate']));
$whereTanggal = " AND tgl_kep >= '$tanggalAwal' AND tgl_kep <= '$tanggalAkhir'";
}
}
/**rev1
$sQuery0 = "
SELECT * FROM (SELECT tp.*,
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,
COUNT(trh.id) as found,
tm.nmLengkap as nm_mhs,
tgl_kep,
wkt_kep
FROM $sTable
$sWhere
$where2
GROUP BY tp.id
) t WHERE kelompokKeahlian = '$idKKKetua' $whereJenis $whereTanggal $sOrder
";
*/
$sQuery0 = "
SELECT * FROM (SELECT tp.*,
tm.nmLengkap as nm_mhs,
tgl_kep,
(SELECT COUNT(id) as found FROM tbrekaphasil WHERE idpraoutline = tp.id) as found,
wkt_kep
FROM $sTable
$sWhere
$where2
) t WHERE kelompokKeahlian = '$idKKKetua' $whereJenis $whereTanggal $sOrder
";
// echo $sQuery0;
$db->runQuery($sQuery0);
$iFilteredTotal = $db->dbRows();
$result = $db->runQuery($sQuery0.$sLimit);
/* Total data set length */
$sQuery2 = "
SELECT COUNT(tp.id) as total FROM $sTable $sWhere $where2 GROUP BY tp.id
";
//echo $sQuery2;
$db->runQuery($sQuery2);
$aResultTotal = $db->dbFetch();
$iTotal = $aResultTotal['total'];
/*$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or fatal_error( 'MySQL Error: ' . mysql_errno() );
$aResultTotal = mysql_fetch_array($rResultTotal);
$iTotal = $aResultTotal[0];*/
/*
* Output
*/
$output = [
'sEcho' => intval($_GET['sEcho']),
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iFilteredTotal,
'aaData' => [],
];
while ($aRow = $db->dbFetch($result)) {
$idPraoutline = $aRow['id'];
$sql = "SELECT * FROM tbreview WHERE idpraoutline = '$idPraoutline'";
$resultReview = $db->runQuery($sql);
$banyakReview = 0;
$banyakKomentar = 0;
$banyakPutusan = 0;
$banyakSetuju = 0;
$banyakTidakSetuju = 0;
while ($aRowReview = $db->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;
}
}
$kelompokKeahlian = ' - <span class="label label-success" style="background-color:#A9A9A9">Tidak Ada Kelompok Keahlian</span>';
$idKelompokKeahlian = $aRow['kelompokKeahlian'];
if (isset($dataKK[$idKelompokKeahlian])) {
$kelompokKeahlian = ' - <span class="label label-'.$dataKK[$idKelompokKeahlian]['label'].'">'.$dataKK[$idKelompokKeahlian]['nama'].'</span>';
}
//print_r($aRow);
$row = [];
if ($aRow['status_usulan'] == 0) {
$statusPraoutline = '';
} elseif ($aRow['status_usulan'] == 1) {
$statusPraoutline = '| <span class="label label-success">Judul Diterima</span>';
} elseif ($aRow['status_usulan'] == 2) {
$statusPraoutline = '| <span class="label label-danger">Judul Ditolak</span>';
} elseif ($aRow['status_usulan'] == 3) {
$statusPraoutline = '| <span class="label label-danger">Judul Gugur</span>';
}
$row[0] = $aRow['nm_mhs'].'<br/>NIM: '.$aRow['nim'];
$row[1] = '<a target="_blank" href="?page=praoutline&menu=review&prid='.$aRow['id'].'">'.$aRow['judul'].'</a>'.$kelompokKeahlian;
$row[1] .= '<p style="margin-top:1rem">Jumlah Review : <span class="badge badge-info">'.$banyakReview.'</span> | Setuju : <span class="badge badge-success"> '.$banyakSetuju.'</span> | Tidak Setuju : <span class="badge badge-danger">'.$banyakTidakSetuju.'</span> '.$statusPraoutline.'</p>';
$row[2] = $aRow['thn_ajaran'].' - '.$aRow['semester'];
$row[3] = tanggalIndo($aRow['tgl_upload'], 'j F Y').' '.$aRow['wkt_upload'];
$row[4] = '';
if($aRow['tgl_kep'] != null){
$row[4] = tanggalIndo($aRow['tgl_kep'], 'j F Y'). ' '.$aRow['wkt_kep'];
}
if ($aRow['found'] == 0) {
$act_p = 'Putusan';
} else {
$act_p = 'Edit Putusan';
}
$aksi = '<div class="btn-group">
<a class="btn btn-primary dropdown-toggle btn-sm" data-toggle="dropdown" href="#">
<i class="icon-cog"></i> <span class="caret"></span>
</a>
<ul role="menu" class="dropdown-menu pull-right">
<li role="presentation">
<a role="menuitem" tabindex="-1" href="?page=praoutline&menu=kep-draft-praoutline-kk&prid='.$aRow['id'].'">
<i class="icon-edit"></i> '.$act_p.'
</a>
</li>
</ul>
</div>';
$row[5] = $aksi;
$output['aaData'][] = $row;
// print_r($row);
}
echo json_encode($output);

View File

@@ -0,0 +1,279 @@
<?php
session_start();
$idprodi = $_SESSION['login-dosen']['prodi'];
$iddosen = $_SESSION['login-dosen']['id'];
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
/* Array of database columns which should be read and sent back to DataTables. Use a space where
* you want to insert a non-database field (for example a counter or static image)
*/
$aColumns = ['tp.judul', 'tp.nim', 'tm.nmLengkap'];
/* Indexed column (used for fast and accurate table cardinality) */
$sIndexColumn = 'tp.id';
/* DB table to use */
$sTable = 'tbpraoutline tp';
//rev1$sTable .= ' LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) ';
$sTable .= ' LEFT JOIN tbmhs tm ON (tm.nim=tp.nim) ';
$sTable .= ' LEFT JOIN tbrekaphasil trh ON (trh.idpraoutline=tp.id) ';
/* Database connection information */
include '../../../inc/helper.php';
include '../../../inc/konfigurasi.php';
include '../../../inc/db.pdo.class.php';
$db = new dB($dbsetting);
/*
* Paging
*/
$sLimit = '';
if (isset($_GET['iDisplayStart']) && $_GET['iDisplayLength'] != '-1') {
$sLimit = 'LIMIT '.intval($_GET['iDisplayStart']).', '.
intval($_GET['iDisplayLength']);
}
/*
* Ordering
*/
//$sOrder = 'ORDER BY tp.tgl_upload DESC, tp.judul ASC';
$sOrder = 'ORDER BY t.tgl_upload DESC, t.judul ASC';
/*
* Filtering
*/
$sWhere = '';
if (isset($_GET['sSearch']) && $_GET['sSearch'] != '') {
$sWhere = 'WHERE (';
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true') {
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch']."%' OR ";
}
}
$sWhere = substr_replace($sWhere, '', -3);
$sWhere .= ')';
}
/* Individual column filtering */
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true' && $_GET['sSearch_'.$i] != '') {
if ($sWhere == '') {
$sWhere = 'WHERE ';
} else {
$sWhere .= ' AND ';
}
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch_'.$i]."%' ";
}
}
$where2 = '';
if ($sWhere != '') {
$where2 = " AND tp.idProdi='$idprodi' ";
} else {
$where2 = " WHERE tp.idProdi='$idprodi' ";
}
/*
* SQL queries
* Get data to display
*/
$sqlKK = 'SELECT * FROM tb_kelompok_keahlian';
$db->runQuery($sqlKK);
$dataKK = [];
while ($kk = $db->dbFetch()) {
$idKK = $kk['idKK'];
$namaKK = $kk['namaKK'];
$warnaLabel = $kk['warnaLabel'];
$dataKK[$idKK] = ['nama' => $namaKK, 'label' => $warnaLabel];
}
$whereJenis = '';
if (isset($_GET['jenis'])) {
$jenis = $_GET['jenis'];
if ($jenis != 'Semua') {
switch ($jenis) {
case 'Belum Disetujui': $whereJenis = ' AND found = 0 '; break;
case 'Sudah Disetujui': $whereJenis = ' AND found > 0 '; break;
}
}
}
$whereStatusDosen = '';
$cekAdaJadwalSeminarHasil = false;
if (isset($_GET['status'])) {
$statusDosen = $_GET['status'];
if ($statusDosen != 'Semua') {
switch ($statusDosen) {
case 'pembimbingKosong': $whereStatusDosen = " AND (pemb1 IS NULL OR pemb1 = '' OR pemb2 IS NULL OR pemb2 = '') AND status_usulan = '1' "; break;
case 'pengujiKosong': $limitYear = date('Y') - 3; $cekAdaJadwalSeminarHasil = true; $whereStatusDosen = " AND pemb1 IS NOT NULL AND pemb1 != '' AND (peng1 IS NULL OR peng1 = '' OR peng2 IS NULL OR peng2 = '') AND status_usulan = '1' AND tgl_kep >= '$limitYear-01-01'"; break;
}
}
}
/**rev1
$sQuery0 = "
SELECT * FROM (SELECT tp.*,
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,
COUNT(trh.id) as found,
tm.idmhs,
tm.nmLengkap as nm_mhs,
pemb1, pemb2, peng1, peng2,
tgl_kep,
wkt_kep
FROM $sTable
$sWhere
$where2
GROUP BY tp.id
) t WHERE 1 = 1 $whereJenis $whereStatusDosen $sOrder
";
*/
$sQuery0 = "
SELECT * FROM (SELECT tp.*,
tm.idmhs,
tm.nmLengkap as nm_mhs,
pemb1, pemb2, peng1, peng2,
tgl_kep,
(SELECT COUNT(id) as found FROM tbrekaphasil WHERE idpraoutline = tp.id) as found,
wkt_kep
FROM $sTable
$sWhere
$where2
) t WHERE 1 = 1 $whereJenis $whereStatusDosen $sOrder
";
//echo $sQuery0;
$db->runQuery($sQuery0);
$iFilteredTotal = $db->dbRows();
$result = $db->runQuery($sQuery0.$sLimit);
/* Total data set length */
$sQuery2 = "
SELECT COUNT(tp.id) as total FROM $sTable $sWhere $where2 GROUP BY tp.id
";
//echo $sQuery2;
$db->runQuery($sQuery2);
$aResultTotal = $db->dbFetch();
$iTotal = $aResultTotal['total'];
/*$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or fatal_error( 'MySQL Error: ' . mysql_errno() );
$aResultTotal = mysql_fetch_array($rResultTotal);
$iTotal = $aResultTotal[0];*/
/*
* Output
*/
$output = [
'sEcho' => intval($_GET['sEcho']),
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iFilteredTotal,
'aaData' => [],
];
while ($aRow = $db->dbFetch($result)) {
/**
if($cekAdaJadwalSeminarHasil){
$sql = "SELECT * FROM tbjadwal WHERE idMhs = '".$aRow['idmhs']."' AND jenis = 'SidHas'";
$resultJadwal = $db->runQuery($sql);
$adaData = false;
while ($aJadwal = $db->dbFetch($resultJadwal)) {
$adaData = true;
}
if(!$aData){
continue;
}
}
*/
$idPraoutline = $aRow['id'];
$sql = "SELECT * FROM tbreview WHERE idpraoutline = '$idPraoutline'";
$resultReview = $db->runQuery($sql);
$banyakReview = 0;
$banyakKomentar = 0;
$banyakPutusan = 0;
$banyakSetuju = 0;
$banyakTidakSetuju = 0;
while ($aRowReview = $db->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;
}
}
$kelompokKeahlian = ' - <span class="label label-success" style="background-color:#A9A9A9">Tidak Ada Kelompok Keahlian</span>';
$idKelompokKeahlian = $aRow['kelompokKeahlian'];
if (isset($dataKK[$idKelompokKeahlian])) {
$kelompokKeahlian = ' - <span class="label label-'.$dataKK[$idKelompokKeahlian]['label'].'">'.$dataKK[$idKelompokKeahlian]['nama'].'</span>';
}
//print_r($aRow);
$row = [];
if ($aRow['status_usulan'] == 0) {
$statusPraoutline = '';
} elseif ($aRow['status_usulan'] == 1) {
$statusPraoutline = '| <span class="label label-success">Judul Diterima</span>';
} elseif ($aRow['status_usulan'] == 2) {
$statusPraoutline = '| <span class="label label-danger">Judul Ditolak</span>';
} elseif ($aRow['status_usulan'] == 3) {
$statusPraoutline = '| <span class="label label-danger">Judul Gugur</span>';
}
$row[0] = $aRow['nm_mhs'].'<br/>NIM: '.$aRow['nim'];
$row[1] = '<a target="_blank" href="?page=praoutline&menu=review&prid='.$aRow['id'].'">'.$aRow['judul'].'</a>'.$kelompokKeahlian;
$row[1] .= '<p style="margin-top:1rem">Jumlah Review : <span class="badge badge-info">'.$banyakReview.'</span> | Setuju : <span class="badge badge-success"> '.$banyakSetuju.'</span> | Tidak Setuju : <span class="badge badge-danger">'.$banyakTidakSetuju.'</span> '.$statusPraoutline.'</p>';
$row[2] = $aRow['thn_ajaran'].' - '.$aRow['semester'];
$row[3] = tanggalIndo($aRow['tgl_upload'], 'j F Y').' '.$aRow['wkt_upload'];
$row[4] = tanggalIndo($aRow['tgl_kep'], 'j F Y').' '.$aRow['wkt_kep'];
if ($aRow['found'] == 0) {
$act_p = 'Putusan';
} else {
$act_p = 'Edit Putusan';
}
$aksi = '<div class="btn-group">
<a class="btn btn-primary dropdown-toggle btn-sm" data-toggle="dropdown" href="#">
<i class="icon-cog"></i> <span class="caret"></span>
</a>
<ul role="menu" class="dropdown-menu pull-right">
<li role="presentation">
<a role="menuitem" tabindex="-1" href="?page=praoutline&menu=kep-draft-praoutline&prid='.$aRow['id'].'">
<i class="icon-edit"></i> '.$act_p.'
</a>
</li>
</ul>
</div>';
$row[5] = $aksi;
$output['aaData'][] = $row;
// print_r($row);
}
echo json_encode($output);

View File

@@ -0,0 +1,163 @@
<?php
session_start();
$idprodi = $_SESSION['login-dosen']['prodi'];
$iddosen = $_SESSION['login-dosen']['id'];
$nipdosen = $_SESSION['login-dosen']['nip'];
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
/* Array of database columns which should be read and sent back to DataTables. Use a space where
* you want to insert a non-database field (for example a counter or static image)
*/
$aColumns = array('tp.judul');
/* Indexed column (used for fast and accurate table cardinality) */
$sIndexColumn = 'tp.id';
/* DB table to use */
$sTable = 'tbreview tr ';
$sTable .= ' LEFT JOIN tbpraoutline tp ON (tp.id=tr.idpraoutline) ';
/* Database connection information */
include '../../../inc/helper.php';
include '../../../inc/konfigurasi.php';
include '../../../inc/db.pdo.class.php';
$db = new dB($dbsetting);
/*
* Paging
*/
$sLimit = '';
if (isset($_GET['iDisplayStart']) && $_GET['iDisplayLength'] != '-1') {
$sLimit = 'LIMIT '.intval($_GET['iDisplayStart']).', '.
intval($_GET['iDisplayLength']);
}
/*
* Ordering
*/
$sOrder = 'ORDER BY tp.tgl_upload DESC, tp.judul ASC';
/*
* Filtering
*/
$sWhere = '';
if (isset($_GET['sSearch']) && $_GET['sSearch'] != '') {
$sWhere = 'WHERE (';
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true') {
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch']."%' OR ";
}
}
$sWhere = substr_replace($sWhere, '', -3);
$sWhere .= ')';
}
/* Individual column filtering */
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true' && $_GET['sSearch_'.$i] != '') {
if ($sWhere == '') {
$sWhere = 'WHERE ';
} else {
$sWhere .= ' AND ';
}
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch_'.$i]."%' ";
}
}
$where2 = '';
if ($sWhere != '') {
$where2 = "AND tr.reviewer='".$nipdosen."' ";
} else {
$where2 = "WHERE tr.reviewer='".$nipdosen."' ";
}
/*
* SQL queries
* Get data to display
*/
$sqlKK = 'SELECT * FROM tb_kelompok_keahlian';
$db->runQuery($sqlKK);
$dataKK = array();
while ($kk = $db->dbFetch()) {
$idKK = $kk['idKK'];
$namaKK = $kk['namaKK'];
$warnaLabel = $kk['warnaLabel'];
$dataKK[$idKK] = array('nama' => $namaKK, 'label' => $warnaLabel);
}
$sQuery0 = "
SELECT distinct(tr.idpraoutline),tp.*,
(SELECT nmLengkap FROM tbmhs WHERE nim=tp.nim LIMIT 1) as nm_mhs
FROM $sTable
$sWhere
$where2
$sOrder
";
//echo $sQuery0;
$db->runQuery($sQuery0);
$iFilteredTotal = $db->dbRows();
$result = $db->runQuery($sQuery0.$sLimit);
/* Total data set length */
$sQuery2 = "
SELECT COUNT(tp.id) as total FROM $sTable $sWhere $where2
";
$db->runQuery($sQuery2);
$aResultTotal = $db->dbFetch();
$iTotal = $aResultTotal['total'];
/*$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or fatal_error( 'MySQL Error: ' . mysql_errno() );
$aResultTotal = mysql_fetch_array($rResultTotal);
$iTotal = $aResultTotal[0];*/
/*
* Output
*/
$output = array(
'sEcho' => intval($_GET['sEcho']),
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iFilteredTotal,
'aaData' => array(),
);
while ($aRow = $db->dbFetch($result)) {
//print_r($aRow);
$kelompokKeahlian = ' - <span class="label label-success" style="background-color:#A9A9A9">Tidak Ada Kelompok Keahlian</span>';
$idKelompokKeahlian = $aRow['kelompokKeahlian'];
if (isset($dataKK[$idKelompokKeahlian])) {
$kelompokKeahlian = ' - <span class="label label-'.$dataKK[$idKelompokKeahlian]['label'].'">'.$dataKK[$idKelompokKeahlian]['nama'].'</span>';
}
$row = array();
switch ($aRow['status_usulan']) {
case '0':
$status = '<span class="label label-default">Dalam Proses</span>';
break;
case '1':
$status = '<span class="label label-success">Judul Diterima</span>';
break;
case '2':
$status = '<span class="label label-danger">Judul Ditolak</span>';
break;
case '3':
$status = '<span class="label label-danger">Judul Gugur</span>';
break;
}
$row[0] = $aRow['nm_mhs'].'<br/>NIM: '.$aRow['nim'];
$row[1] = '<a href="?page=praoutline&menu=review&prid='.$aRow['id'].'">'.$aRow['judul'].'</a>'.$badge.$kelompokKeahlian;
$row[2] = $aRow['thn_ajaran'].' - '.$aRow['semester'];
$row[3] = tanggalIndo($aRow['tgl_upload'], 'j F Y, H:i');
$row[4] = $status;
$output['aaData'][] = $row;
// print_r($row);
}
echo json_encode($output);

View File

@@ -0,0 +1,240 @@
<?php
session_start();
$smt = 'all';
$whereSmt = '';
$whereSmtPenguji = '';
if (isset($_GET['smt'])) {
if ($_GET['smt'] != 'all') {
$smt = $_GET['smt'];
$whereSmt = " AND semester = '$smt' ";
$whereSmtPenguji = " AND semesterPenunjukanPenguji = '$smt' ";
}
}
$idprodi = $_SESSION['login-dosen']['prodi'];
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
/* Array of database columns which should be read and sent back to DataTables. Use a space where
* you want to insert a non-database field (for example a counter or static image)
*/
$aColumns = ['td.nmLengkap'];
/* Indexed column (used for fast and accurate table cardinality) */
$sIndexColumn = 'trh.id';
/* DB table to use */
//rev1$sTable = 'tbrekaphasil trh,tbdosen td ';
$sTable = 'tbdosen td ';
/* Database connection information */
include '../../../inc/helper.php';
include '../../../inc/konfigurasi.php';
include '../../../inc/db.pdo.class.php';
$db = new dB($dbsetting);
/*
* Paging
*/
$sLimit = '';
if (isset($_GET['iDisplayStart']) && $_GET['iDisplayLength'] != '-1') {
$sLimit = 'LIMIT '.intval($_GET['iDisplayStart']).', '.
intval($_GET['iDisplayLength']);
}
/*
* Ordering
*/
$sOrder = 'ORDER BY td.nmLengkap, td.nip';
/*
* Filtering
*/
$sWhere = '';
if (isset($_GET['sSearch']) && $_GET['sSearch'] != '') {
$sWhere = 'WHERE (';
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true') {
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch']."%' OR ";
}
}
$sWhere = substr_replace($sWhere, '', -3);
$sWhere .= ')';
}
/* Individual column filtering */
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true' && $_GET['sSearch_'.$i] != '') {
if ($sWhere == '') {
$sWhere = 'WHERE ';
} else {
$sWhere .= ' AND ';
}
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch_'.$i]."%' ";
}
}
$where2 = '';
/**rev1
if ($sWhere != '') {
$where2 = " AND td.status='A' AND trh.idProdi='$idprodi' ";
} else {
$where2 = " WHERE td.status='A' AND trh.idProdi='$idprodi' ";
}
*/
if ($sWhere != '') {
$where2 = " AND td.status='A'";
} else {
$where2 = " WHERE td.status='A'";
}
/*
* SQL queries
* Get data to display
*/
/**rev1
$sQuery0 = "
SELECT td.nip,td.nmLengkap,
COUNT(if(trh.pemb1=td.nip,1,null)) as pemb1,
COUNT(if(trh.pemb2=td.nip,1,null)) as pemb2,
COUNT(if(trh.peng1=td.nip,1,null)) as peng1,
COUNT(if(trh.peng2=td.nip,1,null)) as peng2
FROM $sTable
$sWhere
$where2
$whereSmt
AND td.status = 'A'
GROUP BY td.nip
$sOrder
";
*/
$sQuery0 = "
SELECT td.nip,td.nmLengkap,
(SELECT COUNT(id) FROM tbrekaphasil WHERE tbrekaphasil.pemb1 = td.nip $whereSmt ) as pemb1,
(SELECT COUNT(id) FROM tbrekaphasil WHERE tbrekaphasil.pemb2 = td.nip $whereSmt ) as pemb2,
(SELECT COUNT(id) FROM tbrekaphasil WHERE tbrekaphasil.peng1 = td.nip $whereSmt ) as peng1,
(SELECT COUNT(id) FROM tbrekaphasil WHERE tbrekaphasil.peng2 = td.nip $whereSmt ) as peng2
FROM $sTable
$sWhere
$where2
AND td.status = 'A'
$sOrder";
$db->runQuery($sQuery0);
$iFilteredTotal = $db->dbRows();
$result = $db->runQuery($sQuery0.$sLimit);
/* Total data set length */
$sQuery2 = "
SELECT COUNT(DISTINCT(td.nip)) as total FROM tbrekaphasil trh,tbdosen td $sWhere $where2 $whereSmt AND td.status = 'A'
";
//echo $sQuery2;
$db->runQuery($sQuery2);
$aResultTotal = $db->dbFetch();
$iTotal = $aResultTotal['total'];
/*$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or fatal_error( 'MySQL Error: ' . mysql_errno() );
$aResultTotal = mysql_fetch_array($rResultTotal);
$iTotal = $aResultTotal[0];*/
/*
* Output
*/
$output = [
'sEcho' => intval($_GET['sEcho']),
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iFilteredTotal,
'aaData' => [],
];
/**rev1
$sQuery0 = "
SELECT td.nip,td.nmLengkap,
COUNT(if(trh.pemb1=td.nip,1,null)) as pemb1,
COUNT(if(trh.pemb2=td.nip,1,null)) as pemb2,
COUNT(if(trh.peng1=td.nip,1,null)) as peng1,
COUNT(if(trh.peng2=td.nip,1,null)) as peng2
FROM $sTable
$sWhere
$where2
$whereSmtPenguji
AND td.status = 'A'
GROUP BY td.nip
$sOrder
";
*/
$sQuery0 = "
SELECT td.nip,td.nmLengkap,
(SELECT COUNT(id) FROM tbrekaphasil WHERE tbrekaphasil.pemb1 = td.nip $whereSmtPenguji ) as pemb1,
(SELECT COUNT(id) FROM tbrekaphasil WHERE tbrekaphasil.pemb2 = td.nip $whereSmtPenguji ) as pemb2,
(SELECT COUNT(id) FROM tbrekaphasil WHERE tbrekaphasil.peng1 = td.nip $whereSmtPenguji ) as peng1,
(SELECT COUNT(id) FROM tbrekaphasil WHERE tbrekaphasil.peng2 = td.nip $whereSmtPenguji ) as peng2
FROM $sTable
$sWhere
$where2
AND td.status = 'A'
$sOrder
";
$db->runQuery($sQuery0);
$resultPenguji = $db->runQuery($sQuery0.$sLimit);
$listPenguji = [];
while ($aRow = $db->dbFetch($resultPenguji)) {
$nipDosen = $aRow['nip'];
$listPenguji[$nipDosen] = [
'peng1' => $aRow['peng1'],
'peng2' => $aRow['peng2'],
];
}
while ($aRow = $db->dbFetch($result)) {
//print_r($aRow);
$row = [];
$pemb1 = $aRow['pemb1'];
$pemb2 = $aRow['pemb2'];
$bgPemb1 = "";
$bgPemb2 = "";
if($pemb1 == null || $pemb1 == 0){
$bgPemb1 = "font-weight:bold;color:red";
}
if($pemb2 == null || $pemb2 == 0){
$bgPemb2 = "font-weight:bold;color:red";
}
// $jumlahPemb = intval($pemb1) + intval($pemb2);
// if($jumlahPemb == 0){
// $bgPemb1 = "font-weight:bold;color:red";
// $bgPemb2 = "font-weight:bold;color:red";
// }
$banyakPenguji1 = 0;
$banyakPenguji2 = 0;
if(isset($listPenguji[$aRow['nip']])){
$banyakPenguji1 = $listPenguji[$aRow['nip']]['peng1'];
$banyakPenguji2 = $listPenguji[$aRow['nip']]['peng2'];
}
$row[0] = $aRow['nmLengkap'];
$row[1] = $aRow['nip'];
$row[2] = '<a href="#stat-keldosen" style="'.$bgPemb1.'" onClick="mhsPemb1(\''.$aRow['nip'].'\', \''.$smt.'\')">'.$aRow['pemb1'].'</a>';
$row[3] = '<a href="#stat-keldosen" style="'.$bgPemb2.'" onClick="mhsPemb2(\''.$aRow['nip'].'\', \''.$smt.'\')">'.$aRow['pemb2'].'</a>';
$row[4] = '<a href="#stat-keldosen" onClick="mhsPeng1(\''.$aRow['nip'].'\', \''.$smt.'\')">'.$banyakPenguji1.'</a>';
$row[5] = '<a href="#stat-keldosen" onClick="mhsPeng2(\''.$aRow['nip'].'\', \''.$smt.'\')">'.$banyakPenguji2.'</a>';
$output['aaData'][] = $row;
// print_r($row);
}
echo json_encode($output);

View File

@@ -0,0 +1,151 @@
<?php
session_start();
$idprodi = $_SESSION['login-dosen']['prodi'];
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
/* Array of database columns which should be read and sent back to DataTables. Use a space where
* you want to insert a non-database field (for example a counter or static image)
*/
$aColumns = ['tp.semester'];
/* Indexed column (used for fast and accurate table cardinality) */
$sIndexColumn = 'tp.id';
/* DB table to use */
$sTable = 'tbpraoutline tp';
/* Database connection information */
include '../../../inc/helper.php';
include '../../../inc/konfigurasi.php';
include '../../../inc/db.pdo.class.php';
$db = new dB($dbsetting);
/*
* Paging
*/
$sLimit = '';
if (isset($_GET['iDisplayStart']) && $_GET['iDisplayLength'] != '-1') {
$sLimit = 'LIMIT '.intval($_GET['iDisplayStart']).', '.
intval($_GET['iDisplayLength']);
}
/*
* Ordering
*/
//$sOrder = "ORDER BY tp.semester";
$sOrder = 'ORDER BY tp.semester';
/*
* Filtering
*/
$sWhere = '';
if (isset($_GET['sSearch']) && $_GET['sSearch'] != '') {
$sWhere = 'WHERE (';
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true') {
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch']."%' OR ";
}
}
$sWhere = substr_replace($sWhere, '', -3);
$sWhere .= ')';
}
/* Individual column filtering */
for ($i = 0; $i < count($aColumns); ++$i) {
if (isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == 'true' && $_GET['sSearch_'.$i] != '') {
if ($sWhere == '') {
$sWhere = 'WHERE ';
} else {
$sWhere .= ' AND ';
}
$sWhere .= ''.$aColumns[$i]." LIKE '%".$_GET['sSearch_'.$i]."%' ";
}
}
$where2 = '';
if ($sWhere != '') {
$where2 = " AND tp.idProdi='$idprodi' ";
} else {
$where2 = " WHERE tp.idProdi='$idprodi' ";
}
/*
* SQL queries
* Get data to display
*/
$sQuery0 = "
SELECT
tp.semester,
COUNT(if(tp.status_usulan='1',1,null)) as terima,
COUNT(if(tp.status_usulan='2',1,null)) as tolak,
COUNT(if(tp.status_usulan='3',1,null)) as gugur,
COUNT(if(tp.status_usulan='0',1,null)) as proses,
COUNT(tp.semester) as totaldraft
FROM $sTable
$sWhere
$where2
GROUP BY tp.semester
$sOrder
";
$sQuery0 = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 1), '-', -1) as semesterSplit, semester, terima, tolak, gugur,proses, totaldraft FROM ($sQuery0) t ORDER BY tahunSplit DESC, semesterSplit DESC ";
//echo $sQuery0;
$db->runQuery($sQuery0);
$iFilteredTotal = $db->dbRows();
$result = $db->runQuery($sQuery0.$sLimit);
/* Total data set length */
$sQuery2 = "
SELECT COUNT(DISTINCT(tp.semester)) as total FROM $sTable $sWhere $where2
";
//echo $sQuery2;
$db->runQuery($sQuery2);
$aResultTotal = $db->dbFetch();
$iTotal = $aResultTotal['total'];
/*$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or fatal_error( 'MySQL Error: ' . mysql_errno() );
$aResultTotal = mysql_fetch_array($rResultTotal);
$iTotal = $aResultTotal[0];*/
/*
* Output
*/
$output = [
'sEcho' => intval($_GET['sEcho']),
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iFilteredTotal,
'aaData' => [],
];
while ($aRow = $db->dbFetch($result)) {
//print_r($aRow);
$row = [];
$tahunSplit = intval($aRow['tahunSplit']);
$tahunSplitNext = $tahunSplit + 1;
$semsterSplit = $aRow['semesterSplit'];
switch ($semsterSplit) {
case 'GAS': $semesterText = 'GAZAL'; break;
case 'GEN': $semesterText = 'GENAP'; break;
default: $semesterText = '-';
}
$periodeFinalText = "$tahunSplit/$tahunSplitNext - $semesterText";
$row[0] = $periodeFinalText;
$row[1] = $aRow['proses'];
$row[2] = $aRow['terima'];
$row[3] = $aRow['tolak'];
$row[4] = $aRow['gugur'];
$row[5] = $aRow['totaldraft'];
$output['aaData'][] = $row;
// print_r($row);
}
echo json_encode($output);

View File

@@ -0,0 +1,45 @@
<?php $db=new dB($dbsetting); ?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php ECHO DOSEN_PAGE;?>">
Home
</a>
</li>
<li class="active">
Review Saya
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'),'j F Y, H:i');?></label>
</li>
</ol>
<div class="page-header">
<h1>Review Saya<small> <b>(Usulan Judul TA yang pernah saya komentari atau saya berikan tanggapan)</b> </small></h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!-- start: DYNAMIC TABLE PANEL -->
<table class="table table-striped table-bordered table-hover table-full-width" id="list-myreview">
<thead>
<tr>
<th style="width:15%;text-align:center">Nama Mahasiswa</th>
<th style="width:50%;text-align:center">Judul Usulan</th>
<th style="width:10%;text-align:center">Tahun Ajaran</th>
<th style="width:15%;text-align:center">Tanggal</th>
<th style="width:10%;text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
<!-- end: DYNAMIC TABLE PANEL -->
</div>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,43 @@
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php ECHO DOSEN_PAGE;?>">
Home
</a>
</li>
<li class="active">
Pemberitahuan
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'),'j F Y, H:i');?></label>
</li>
</ol>
<div class="page-header">
<h1>Pemberitahuan <small></small></h1>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<table class="table table-hover" id="tb-pemberitahuan">
<?php
//variabel yg ada di pemberitahuan berasal dari _header.php
$db->runQuery($Q_notif_review);
if($jlh_notif_review>0){
while($r=$db->dbFetch()){
echo '<tr>
<td style="width:20%">'.tanggalIndo($r['tgl'],'j F Y, H:i').'</td>
<td> <a href="?page=praoutline&menu=review&prid='.$r['idkonten'].'#post_review" rel="nofollow" target="_blank">'.$r['msg'].'</a></td>
</tr>';
}
}else{
echo '<tr>
<td colspan="2">Tidak Ada Pemberitahuan Terbaru</td>
</tr>';
}
?>
</table>
</div>
</div>

View File

@@ -0,0 +1,55 @@
<?php
switch ($_GET['menu']) {
case 'my-review':
include 'my-review.php';
break;
case 'new':
include 'judul-terbaru.php';
break;
case 'statistik':
include 'statistik.php';
break;
case 'review':
include 'review.php';
break;
case 'kk-terkait':
include 'kkTerkait.php';
break;
/*case 'daftar-praoutline':
include "daftar-praoutline.php";
break;*/
case 'cari':
include 'cari.php';
break;
case 'keputusan':
include 'keputusan.php';
break;
case 'kep-draft-praoutline':
include 'kep.draft.praoutline.php';
break;
case 'kep-draft-praoutline-kk':
include 'kep.draft.praoutline-kk.php';
break;
case 'myreview':
include 'myreview.php';
break;
case 'pemberitahuan':
include 'pemberitahuan.php';
break;
default:
echo "<script>location.href='".DOSEN_PAGE."dashboard.php'</script>";
break;
}

View File

@@ -0,0 +1,700 @@
<?php $db = new dB($dbsetting); ?>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<style>
.mic-button {
position: absolute;
right: 10px;
bottom: 10px;
width: 30px;
height: 30px;
border: none;
border-radius: 50%;
background-color: #2196F3;
color: white;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
z-index: 1;
}
.mic-button.recording {
background-color: #f44336;
animation: pulse 1.5s infinite;
}
</style>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php echo DOSEN_PAGE; ?>">
Home
</a>
</li>
<!-- <li>
<a href="<?php echo DOSEN_PAGE; ?>dashboard.php?page=praoutline&menu=cari">
Pencarian
</a>
</li> -->
<li class="active">
Review
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'), 'j F Y, H:i'); ?></label>
</li>
</ol>
<div class="page-header">
<h1>Review <?php echo($_GET['nim'] != '') ? '<small>'.$_GET['nim'].'</small>' : ''; ?><small></small></h1>
</div>
</div>
</div>
<?php
$nip = $_SESSION['login-dosen']['nip'];
unset($_SESSION['selected_user']);
$where = ' WHERE ';
if (isset($_GET['prid']) || isset($_GET['rekapid'])) {
//tampilan review dari hasil pencarian
if(isset($_GET['rekapid'])){
$idRekap = intval($_GET['rekapid']);
$sqlRekap = "SELECT * FROM tbrekaphasil WHERE id = '$idRekap' LIMIT 1";
$db->runQuery($sqlRekap);
if ($db->dbRows() > 0) {
$fetchRekap = $db->dbFetch();
$idpra = $fetchRekap['idpraoutline'];
$_GET['prid'] = $idpra;
}else{
$idpra = null;
}
}else{
$idpra = $_GET['prid'];
}
if (!ctype_digit($idpra)) {
$idpra = '0';
}
$where .= " tp.id='$idpra' ";
$checkpraoutline = "SELECT id,nim, ((SELECT count(id) FROM tmp_notif WHERE iduser='".$_SESSION['login-dosen']['id']."' AND typeuser='D' AND jenis='J' AND idkonten=tbpraoutline.id)) as found FROM tbpraoutline WHERE id='$idpra' LIMIT 1";
//$checkpraoutline="SELECT id FROM tbpraoutline WHERE status_usulan='0' AND nim='$nim' LIMIT 1";
$db->runQuery($checkpraoutline);
if ($db->dbRows() > 0) {
$fromtp = $db->dbFetch();
$selectednim = $fromtp['nim']; // nim dari praoutline
$selectedid = $fromtp['id'];
//menghilangkan notif
if (count($_SESSION['new_review_dsn'][$idpra]) > 0) {
$id_notif_r = implode(',', $_SESSION['new_review_dsn'][$idpra]);
$db->runQuery("UPDATE tmp_notif_r SET `read`='Y' WHERE id IN ($id_notif_r)");
}
if ($fromtp['found'] == '0') {
$in = "INSERT INTO tmp_notif SET idkonten='".$selectedid."', idProdi='".$_SESSION['login-dosen']['prodi']."', iduser='".$_SESSION['login-dosen']['id']."', typeuser='D', `date`=NOW(), jenis='J'";
$db->runQuery($in);
//echo $in;
}
if (!isset($_GET['prid'])) {
$where .= "tp.nim='$selectednim' AND tp.id='$selectedid'";
}
$sqlKK = 'SELECT * FROM tb_kelompok_keahlian';
$db->runQuery($sqlKK);
$dataKK = array();
while ($kk = $db->dbFetch()) {
$idKK = $kk['idKK'];
$namaKK = $kk['namaKK'];
$warnaLabel = $kk['warnaLabel'];
$dataKK[$idKK] = array('nama' => $namaKK, 'label' => $warnaLabel);
}
$stat_judul = "SELECT
tp.id,
tp.nim,
tp.deskripsi,
tm.nmLengkap as nama,
tp.judul,
tp.tgl_upload,
tp.wkt_upload,
tp.status_usulan,
tp.ket,
tp.kelompokKeahlian
FROM tbpraoutline tp
LEFT JOIN tbmhs tm ON (tp.nim=tm.nim)
$where";
$db->runQuery($stat_judul);
if ($db->dbRows() > 0) {
$stat = $db->dbFetch();
$sql = "SELECT * FROM tbreview WHERE idpraoutline = '$idpra'";
$resultReview = $db->runQuery($sql);
$banyakReview = 0;
$banyakKomentar = 0;
$banyakPutusan = 0;
$banyakSetuju = 0;
$banyakTidakSetuju = 0;
while ($aRowReview = $db->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;
}
}
$_SESSION['selected_user'] = array();
$_SESSION['selected_user'][] = $selectednim;
if ($stat['status_usulan'] == 0) {
$statusPraoutline = ' - <span class="label label-default">Dalam Proses</span>';
} elseif ($stat['status_usulan'] == 1) {
$statusPraoutline = ' - <span class="label label-success">Judul Diterima</span>';
} elseif ($stat['status_usulan'] == 2) {
$statusPraoutline = ' - <span class="label label-danger">Judul Ditolak</span>';
} elseif ($stat['status_usulan'] == 3) {
$statusPraoutline = ' - <span class="label label-danger">Judul Gugur</span>';
}
$kelompokKeahlian = ' <span class="label label-success" style="background-color:#A9A9A9">Tidak Ada Kelompok Keahlian</span>';
$idKelompokKeahlian = $stat['kelompokKeahlian'];
if (isset($dataKK[$idKelompokKeahlian])) {
$kelompokKeahlian = ' - <span class="label label-'.$dataKK[$idKelompokKeahlian]['label'].'">'.$dataKK[$idKelompokKeahlian]['nama'].'</span>';
} ?>
<div class="row">
<div class="col-sm-12">
<p><h3 style="text-align:left;margin-top:0"><?php echo strtoupper($stat['judul']); ?></h3></p>
<?php echo $stat['deskripsi']; ?>
<div class="row">
<div class="col-sm-8">
<p>Kelompok Keahlian : <?php echo $kelompokKeahlian; ?></p>
<div class="btn-group">
Oleh : <?php echo $stat['nama'].' ('.$stat['nim'].')'.$statusPraoutline; ?> -
</div>
<div class="btn-group">
<a href="#" data-toggle="dropdown" class="btn btn-xs btn-primary dropdown-toggle">
Options <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li role="presentation">
<a href="<?php echo DOMAIN_UTAMA.'/download.php?doc_id='.$stat['id']; ?>" tabindex="-1" role="menuitem" target="_blank">
<small>Download</small>
</a>
</li>
<li role="presentation">
<a target="_blank" href="<?php echo DOMAIN_UTAMA.'/cetak.php?rev_id='.$stat['id']; ?>" tabindex="-1" role="menuitem">
<small>Cetak Isi Review</small>
</a>
</li>
<?php if ($_SESSION['login-dosen']['jenisdosen'] == 'K') {
?>
<li role="presentation">
<a target="_blank" href="?page=praoutline&menu=kep-draft-praoutline&prid=<?php echo $stat['id']; ?>" tabindex="-1" role="menuitem">
<small>Putusan</small>
</a>
</li>
<?php
} ?>
</ul>
</div>
</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>
<!-- UNTUK JUDUL YG SUDAH DI CLOSE -->
<?php
$sqlPraoutline = "SELECT * FROM tbpraoutline WHERE id = '".$stat['id']."'";
$db->runQuery($sqlPraoutline);
$tglUpload = null;
if ($db->dbRows() > 0) {
$dataPraoutline = $db->dbFetch();
$tglUpload = $dataPraoutline['tgl_upload'];
}
$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='".$stat['id']."' AND kep_akhir='".$stat['status_usulan']."' LIMIT 1";
switch ($stat['status_usulan']) {
case '1':
//echo $kep_final;
$db->runQuery($kep_final);
if ($db->dbRows() > 0) {
$kep = $db->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>Diupload</u></strong> <br/>
Tanggal : <?php echo tanggalIndo($tglUpload, 'j F Y'); ?> <br/>
<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']; ?><br/>
<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':
$db->runQuery($kep_final);
if ($db->dbRows() > 0) {
$tolak = $db->dbFetch(); ?>
<div class="alert alert-block alert-danger">
<div class="row">
<div class="col-sm-3">
<strong><u>Ditetapkan</u></strong> <br/>
Tanggal : <?php echo tanggalIndo($tolak['tgl_kep'], 'j F Y'); ?> <br/>
Waktu : <?php echo substr($tolak['wkt_kep'], 0, 5); ?> <br/>
</div>
<div class="col-sm-9">
<strong><u>Catatan</u></strong><br/>
<?php echo $tolak['ket']; ?>
</div>
</div>
</div>
<?php
}
break;
}
if ($stat['ket'] != '' and $_SESSION['login-dosen']['jenisdosen'] == 'K') {
$ket = json_decode($stat['ket'], true);
$dosenpa = $ket['dosenpa'];
$dosenperrekomjudul = $ket['rekomjudul'];
$pilpemb1 = $ket['pilpemb1'];
$pilpemb2 = $ket['pilpemb2'];
$pilpemb3 = $ket['pilpemb3'];
$pilpemb4 = $ket['pilpemb4'];
echo '<div class="alert alert-block alert-info">';
echo '<div class="row">';
echo '<div class="col-md-4">';
echo '<strong>Dosen Pembimbing Akademik (PA) </strong>: <br/>'.$dosenpa;
echo '<br><strong>Dosen Yang Merekomendasikan Judul</strong>: <br/>'.$dosenperrekomjudul;
echo '</div>';
echo '<div class="col-md-4">';
echo '<strong>Dosen Pembimbing Pilihan </strong>: <br/>'.$pilpemb1.'<br/>'.$pilpemb2.'<br/>'.$pilpemb3.'<br/>'.$pilpemb4;
echo '</div>';
echo '</div>';
echo '</div>';
} ?>
</div>
</div>
<?php
if ($banyakReview > 0) {
?>
<div class="row">
<div class="col-sm-12">
<div class="panel panel-default">
<div class="panel-body">
<?php
$rev = "SELECT tr.*, tr.idpraoutline, td.iddosen as idDosen, td.nmLengkap as nmDosen,td.foto as ftdosen, tm.nmLengkap as nmMhs,tm.foto as ftmhs FROM tbreview tr
LEFT JOIN tbdosen td ON (td.nip=tr.reviewer)
LEFT JOIN tbmhs tm ON (tm.nim=tr.reviewer)
HAVING tr.idpraoutline='".$stat['id']."'";
//echo $rev;
$db->runQuery($rev);
if ($db->dbRows() > 0) {
echo '<ol class="discussion">';
while ($r = $db->dbFetch()) {
if ($r['reviewer'] == $selectednim) {
$jenis = 'self';
$nama = '<div style="padding-bottom:5px;"><span style="float:right"><small class="label label-info">'.$r['nmMhs'].'</small> <small class="label label-inverse" style="cursor:pointer;" onclick="location.href=\'?page=praoutline&menu=review&prid='.$_GET['prid'].'&quote='.$r['id'].'#post_review\'">Quote</small></span></div>';
$foto = $r['ftmhs'];
if (!in_array($r['reviewer'], $_SESSION['selected_user'])) {
$_SESSION['selected_user'][] = $r['reviewer'];
}
} else {
$jenis = 'other';
$btnHapus = '';
if ($r['idDosen'] === $_SESSION['login-dosen']['id']) {
$btnHapus = '<small class="label label-danger"><span style="cursor:pointer" onclick="hapusReviewIni('.$r['id'].')">Hapus</span></small> <span id="loadingReview'.$r['id'].'" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>';
}
$nama = '<div style="padding-bottom:5px;"><small class="label label-info">'.$r['nmDosen'].'</small> <small class="label label-inverse"><span style="cursor:pointer" onclick="location.href=\'?page=praoutline&menu=review&prid='.$_GET['prid'].'&quote='.$r['id'].'#post_review\'">Quote</span></small> '.$btnHapus.'</div>';
$foto = $r['ftdosen'];
}
if ($r['putusan'] == '1') {
$putusan = 'Setuju';
} elseif ($r['putusan'] == '0') {
$putusan = 'Tidak Setuju';
} else {
$putusan = '';
} ?>
<li class="<?php echo $jenis; ?>">
<div class="avatar">
<img alt="" style="width:50px;height:50px;" src="../img/<?php echo $foto; ?>">
</div>
<div class="messages">
<?php echo $nama; ?>
<p>
<?php echo bbcode_quote($r['review_text']); ?>
</p><br/>
<span class="time"><small><em><?php echo tanggalIndo($r['tgl'], 'j F Y'); ?>, <?php echo substr($r['wkt'], 0, 5); ?></em></small> <small class="label label-danger"><?php echo $putusan; ?></small></span>
</div>
</li>
<?php
}
echo '</ol>';
} else {
echo '<div class="alert alert-danger">
<i class="clip-cancel-circle"></i>
<strong>Maaf!</strong> Belum Ada Review..
</div>';
} ?>
</div>
</div>
</div>
<?php
if ($_GET['quote']) {
if (ctype_digit($_GET['quote'])) {
$nmReviewer = '';
$text = '';
$q = "SELECT tr.review_text,tr.tgl,tr.wkt, td.nmLengkap as nmDosen, tm.nmLengkap as nmMhs
FROM tbreview tr
LEFT JOIN tbdosen td ON (td.nip=tr.reviewer)
LEFT JOIN tbmhs tm ON (tm.nim=tr.reviewer)
WHERE tr.id='".$_GET['quote']."' LIMIT 1";
$db->runQuery($q);
if ($db->dbRows() > 0) {
$qq = $db->dbFetch();
if ($qq['nmDosen'] != '') {
$nmReviewer = $qq['nmDosen'];
} elseif ($qq['nmMhs'] != '') {
$nmReviewer = $qq['nmMhs'];
}
if ($qq['putusan'] == '1') {
$putusan = 'Setuju';
} elseif ($qq['putusan'] == '0') {
$putusan = 'Tidak Setuju';
} else {
$putusan = '';
}
$text .= '[quote=';
$text .= "$nmReviewer;".tanggalIndo($qq['tgl'], 'j F Y').']';
$text .= $qq['review_text'];
$text .= '[/quote]';
}
}
} ?>
<?php
$tanggapan = true;
$selisih = selisih_tgl($stat['tgl_upload'], date('Y-m-d'));
if ($stat['status_usulan'] == '0') {
$tanggapan = true;
} else {
$tanggapan = false;
}
/*if($_SESSION['login-dosen']['prodi']=="2"){
if($selisih['hari']>7){
if($stat['setuju']>1){
$tanggapan=false;
}else{
$tanggapan=true;
}
}
}*/ ?>
<?php if ($tanggapan == true) {
?>
<div class="col-sm-12">
<div class="panel panel-default">
<!-- <div class="panel-heading"></div> -->
<form id="post_review" method="POST" action="page/praoutline/act.praoutline.php">
<input type="hidden" name="act" value="post_review" />
<input type="hidden" name="idpra" value="<?php echo $stat['id']; ?>" />
<div class="panel-body">
<div class="form-group">
Tanggapan
: <br/>
<textarea name="text_review" rows="12" id="text_review" class=" ckeditor form-control"><?php echo $text; ?></textarea>
</div>
<div class="form-group">
<label class="col-sm-1 control-label" style="padding-top:6px;">
Putusan :
</label>
<div class="col-sm-3">
<select name="putusan" id="putusan" class="form-control">
<option value="">-Pilih-</option>
<option value="1">Setuju</option>
<option value="0">Tidak Setuju</option>
</select>
</div>
<div class="col-sm-6">
<button type="submit" class="btn btn-primary" id="reply"> Submit</button>
<span id="loading" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>
</div>
</div>
</div>
</form>
<button class="mic-button" id="micButton" title="Mulai/Pause Rekaman">
<i class="fas fa-microphone"></i>
</button>
</div>
</div>
<?php
} ?>
</div>
<?php
} else {
//form tanggapan jika review masih kosong
echo "<div class='alert alert-danger'>Belum Ada Review, Silakan Berikan Tanggapan Terhadap Judul ini.</div>"; ?>
<div class="row">
<?php
$tanggapan = true;
$selisih = selisih_tgl($stat['tgl_upload'], date('Y-m-d'));
if ($stat['status_usulan'] == '0') {
$tanggapan = true;
} else {
$tanggapan = false;
}
/*if($_SESSION['login-dosen']['prodi']=="2"){
if($selisih['hari']>7){
if($stat['setuju']>1){
$tanggapan=false;
}else{
$tanggapan=true;
}
}
}*/ ?>
<?php if ($tanggapan == true) {
?>
<div class="col-sm-12">
<div class="panel panel-default">
<!-- <div class="panel-heading"></div> -->
<form id="post_review" method="POST" action="page/praoutline/act.praoutline.php">
<input type="hidden" name="act" value="post_review" />
<input type="hidden" name="idpra" value="<?php echo $stat['id']; ?>" />
<div class="panel-body">
<div class="form-group">
Tanggapan : <br/>
<textarea name="text_review" rows="12" id="text_review" class="ckeditor form-control"></textarea>
</div>
<div class="form-group">
<label class="col-sm-1 control-label" style="padding-top:6px;">
Putusan :
</label>
<div class="col-sm-3">
<select name="putusan" id="putusan" class="form-control">
<option value="">-Pilih-</option>
<option value="1">Setuju</option>
<option value="0">Tidak Setuju</option>
</select>
</div>
<div class="col-sm-6">
<button type="submit" class="btn btn-primary" id="reply"> Submit</button>
<span id="loading" style="display:none"><i class="clip-spin-alt icon-spin"></i><em> Loading..</em></span>
</div>
</div>
</div>
</form>
<button class="mic-button" id="micButton" title="Mulai/Pause Rekaman">
<i class="fas fa-microphone"></i>
</button>
</div>
</div>
<?php
} ?>
</div>
<?php
}
}
} else {
echo "<div class='alert alert-danger'>Maaf. Data Review Untuk Mahasiswa ".$_GET['nim'].' Tidak Ditemukan. </div>';
}
} else {
echo "<div class='alert alert-danger'>Maaf. Data Review Untuk Tidak Ditemukan. </div>";
}
//print_r($_SESSION['new_review_dsn']);
//print_r($_SESSION['selected_user']);
?>
<script>
class SpeechToText {
constructor() {
this.micButton = document.getElementById('micButton');
this.isRecording = false;
this.recognition = null;
this.lastFinalTranscript = '';
this.init();
}
init() {
if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) {
this.showError('Browser tidak mendukung fitur speech recognition');
this.micButton.disabled = true;
return;
}
this.recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
this.setupRecognition();
this.setupEventListeners();
}
setupRecognition() {
this.recognition.lang = 'id-ID';
this.recognition.continuous = true;
this.recognition.interimResults = true;
this.recognition.onstart = () => {
this.isRecording = true;
this.micButton.classList.add('recording');
};
this.recognition.onresult = (event) => {
let finalTranscript = '';
for (let i = event.resultIndex; i < event.results.length; ++i){
const transcript = event.results[i][0].transcript;
if(event.results[i].isFinal){
finalTranscript += transcript;
}
}
if(finalTranscript && finalTranscript !== this.lastFinalTranscript){
this.lastFinalTranscript = finalTranscript;
const editor = CKEDITOR.instances["text_review"];
editor.focus();
editor.insertText(' ' + finalTranscript);
}
};
this.recognition.onend = () => {
this.isRecording = false;
this.micButton.classList.remove('recording');
};
this.recognition.onerror = (event) => {
this.handleError(event.error);
};
}
setupEventListeners() {
this.micButton.addEventListener('click', () => this.toggleRecording());
// Handle window focus changes
window.addEventListener('focus', () => {
if (this.isRecording) {
this.recognition.stop();
this.recognition.start();
}
});
}
toggleRecording() {
if (!this.isRecording) {
this.startRecording();
} else {
this.stopRecording();
}
}
startRecording() {
try {
this.recognition.start();
} catch (error) {
this.handleError(error);
}
}
stopRecording() {
try {
this.recognition.stop();
} catch (error) {
this.handleError(error);
}
}
handleError(error) {
console.error('Speech recognition error:', error);
this.isRecording = false;
this.micButton.classList.remove('recording');
let errorMessage = 'Terjadi kesalahan saat merekam suara';
switch (error) {
case 'no-speech':
errorMessage = 'Tidak terdeteksi suara';
break;
case 'audio-capture':
errorMessage = 'Tidak dapat mengakses mikrofon';
break;
case 'not-allowed':
errorMessage = 'Akses mikrofon ditolak';
break;
}
this.showError(errorMessage);
}
showError(message) {
// Create error notification
const errorDiv = document.createElement('div');
errorDiv.className = 'alert alert-danger';
errorDiv.textContent = message;
document.querySelector('.comment-section').insertBefore(errorDiv, document.querySelector('h3'));
// Remove error after 5 seconds
setTimeout(() => errorDiv.remove(), 5000);
}
cleanup() {
if (this.recognition) {
this.recognition.stop();
}
}
}
// Initialize speech to text
const speechToText = new SpeechToText();
// Cleanup on page unload
window.addEventListener('beforeunload', () => {
speechToText.cleanup();
});
</script>

View File

@@ -0,0 +1,199 @@
<?php $db = new dB($dbsetting); ?>
<div class="row">
<div class="col-sm-12">
<ol class="breadcrumb">
<li>
<i class="clip-home-3"></i>
<a href="<?php echo DOSEN_PAGE; ?>">
Home
</a>
</li>
<li class="active">
Statistik Usulan
</li>
<li class="search-box">
<label><?php echo tanggalIndo(date('Y-m-d H:i:s'), 'j F Y, H:i'); ?></label>
</li>
</ol>
<div class="page-header">
<h1>Statistik Usulan<!-- <small>overview &amp; stats </small> --></h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<h3>Statistik Draft Praoutline</h3>
<table class="table table-striped table-bordered table-hover table-full-width" id="stat-draft-praoutline">
<thead>
<tr>
<th style="width:15%;text-align:center">Semester</th>
<th style="width:8%;text-align:center">Dalam Proses</th>
<th style="width:8%;text-align:center">Disetujui</th>
<th style="width:8%;text-align:center">Ditolak</th>
<th style="width:8%;text-align:center">Gugur</th>
<th style="width:8%;text-align:center">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="6" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
</div>
<div class="col-md-6">
<h3>Statistik Dosen</h3>
<?php
// $qlistsmt = "SELECT DISTINCT(semester) as smt FROM tbpraoutline
// WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' ORDER BY semester DESC";
$qlistsmt = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(smt, '-', 2), '-', -1) as tahunSplit,
SUBSTRING_INDEX(SUBSTRING_INDEX(smt, '-', 1), '-', -1) as semesterSplit, smt FROM (SELECT DISTINCT(semester) as smt FROM tbpraoutline WHERE idProdi='".$_SESSION['login-dosen']['prodi']."') t ORDER BY tahunSplit DESC, semesterSplit DESC";
$db->runQuery($qlistsmt);
if ($db->dbRows() > 0) {
while ($smt = $db->dbFetch()) {
$tahunSplit = intval($smt['tahunSplit']);
$tahunSplitNext = $tahunSplit + 1;
$semsterSplit = $smt['semesterSplit'];
switch ($semsterSplit) {
case 'GAS': $semesterText = 'GAZAL'; break;
case 'GEN': $semesterText = 'GENAP'; break;
default: $semesterText = '-';
}
$periodeFinalText = "$tahunSplit/$tahunSplitNext - $semesterText";
$listsmt[] = [
'periode' => $periodeFinalText,
'val' => $smt['smt'],
];
}
}
if ($_GET['smt'] != '') {
$filtersmt = "'".$_GET['smt']."' ";
} else {
$filtersmt = "(SELECT `values` FROM web_setting WHERE `name`='smt' AND idProdi='".$_SESSION['login-dosen']['prodi']."')";
}
$q = "SELECT COUNT(if(trh.pemb1=td.nip,1,null)) as pemb1,
COUNT(if(trh.pemb2=td.nip,1,null)) as pemb2,
COUNT(if(trh.peng1=td.nip,1,null)) as peng1,
COUNT(if(trh.peng2=td.nip,1,null)) as peng2
FROM tbrekaphasil trh,tbdosen td
WHERE td.nip='".$_SESSION['login-dosen']['nip']."' AND td.idProdi='".$_SESSION['login-dosen']['prodi']."' AND trh.semester=$filtersmt
GROUP BY td.nip";
//echo $q;
$db->runQuery($q);
$rs = $db->dbFetch();
?>
<select class="form-control" onChange="viewDataStat(this.value)">
<?php
for ($c = 0; $c < count($listsmt); ++$c) {
if ($_GET['smt'] == $listsmt[$c]['val']) {
echo '<option selected value="'.$listsmt[$c]['val'].'">'.$listsmt[$c]['periode'].'</option>';
} else {
echo '<option value="'.$listsmt[$c]['val'].'">'.$listsmt[$c]['periode'].'</option>';
}
}
?>
</select>
<br/>
<table class="table table-striped table-bordered table-hover">
<tr>
<td>Nama Dosen</td>
<td>Pembimbing 1</td>
<td>Pembimbing 2</td>
<td>Penguji 1</td>
<td>Penguji 2</td>
</tr>
<tr>
<td><?php echo $_SESSION['login-dosen']['nama_lengkap']; ?></td>
<td><?php echo $rs['pemb1']; ?></td>
<td><?php echo $rs['pemb2']; ?></td>
<td><?php echo $rs['peng1']; ?></td>
<td><?php echo $rs['peng2']; ?></td>
</tr>
</table>
<!--<table class="table table-striped table-bordered table-hover table-full-width" id="stat-dosen">
<thead>
<tr>
<th style="width:15%;text-align:center">Semester</th>
<th style="width:8%;text-align:center">Draft Dalam Proses</th>
<th style="width:8%;text-align:center">Draft Diterima</th>
<th style="width:8%;text-align:center">Draft Ditolak</th>
<th style="width:8%;text-align:center">Draft Gugur</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table> -->
</div>
</div>
<?php
if ($_SESSION['login-dosen']['jenisdosen'] == 'K') {
?>
<div class="row">
<div class="col-md-10">
<hr/>
<h3>Statistik Keseluruhan Dosen</h3>
<select class="form-control" onChange="viewDataKeseluruhan(this.value)">
<option value="all">Semua Periode</option>
<?php
for ($c = 0; $c < count($listsmt); ++$c) {
if ($_GET['smt'] == $listsmt[$c]['val']) {
echo '<option value="'.$listsmt[$c]['val'].'">'.$listsmt[$c]['periode'].'</option>';
} else {
echo '<option value="'.$listsmt[$c]['val'].'">'.$listsmt[$c]['periode'].'</option>';
}
} ?>
</select>
<table class="table table-striped table-bordered table-hover table-full-width" id="stat-keldosen">
<thead>
<tr>
<th style="width:15%;text-align:center">Nama Dosen</th>
<th style="width:10%;text-align:center">NIP</th>
<th style="width:5%;text-align:center">Sbg Pembimbing 1</th>
<th style="width:5%;text-align:center">Sbg Pembimbing 2</th>
<th style="width:5%;text-align:center">Sbg Penguji 1</th>
<th style="width:5%;text-align:center">Sbg Penguji 2</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="6" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal fade" id="mhsmodal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
&times;
</button>
<h4 class="modal-title">Daftar Mahasiswa</h4>
</div>
<div class="modal-body">
<span id="datadaftar"></span>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal">
OK
</button>
</div>
</div>
</div>
</div>
<?php
}
?>