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,184 @@
<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">
Penilaian
</li>
</ol>
<div class="page-header">
<h1> Penilaian Tugas Akhir <small></small></h1>
</div>
</div>
</div>
<?php
$db = new dB($dbsetting);
$nip = $_SESSION['login-dosen']['nip'];
$prodi = $_SESSION['login-dosen']['prodi'];
$check = "SELECT * FROM tbrekaphasil WHERE idProdi='$prodi'";
$db->runQuery($check);
$db2 = new dB($dbsetting);
if ($db->dbRows() > 0) {
$tab = "SELECT tbjadwal.id as idJadwal, tbjadwal.judul, tbjadwal.ruangan, tbjadwal.start, tbjadwal.jenis, t.* FROM tbjadwal LEFT JOIN (SELECT tbrekaphasil.*, tbmhs.idmhs, tbmhs.nmLengkap FROM tbrekaphasil LEFT JOIN tbmhs ON tbrekaphasil.nim = tbmhs.nim) t ON tbjadwal.idMhs = t.idmhs WHERE tbjadwal.jenis = 'Sidang' AND tbjadwal.publish = 'Y' AND (t.pemb1 = '$nip' OR t.pemb2 = '$nip' OR t.peng1 = '$nip' OR t.peng2 = '$nip') ORDER BY start DESC";
$db->runQuery($tab); ?>
<div class="row">
<div class="col-md-12">
<!-- start: DYNAMIC TABLE PANEL -->
<div class="panel panel-default">
<div class="panel-body">
<table class="table table-striped table-bordered table-hover table-full-width" id="sample_1">
<thead>
<tr>
<th></th>
<th width="500px">Tugas Akhir Mahasiswa</th>
<th>Status Saya</th>
<th>Jenis</th>
<th>Waktu Sidang</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
while ($table = $db->dbFetch()) {
$idJadwal = $table['idJadwal'];
$dbPemb1 = $table['pemb1'];
$dbPemb2 = $table['pemb2'];
$dbPeng1 = $table['peng1'];
$dbPeng2 = $table['peng2'];
$jenisSidang = $table['jenis'];
$idRekap = $table['id'];
$sql = "SELECT * FROM tb_nilai WHERE idRekap = '$idRekap' AND tipeSidang = '$jenisSidang' AND idJadwal = '$idJadwal'";
$db2->runQuery($sql);
$sudahDinilai = false;
if ($db2->dbRows() > 0) {
$sudahDinilai = true;
while ($dataNilai = $db2->dbFetch()) {
$nilaiPemb1 = json_decode($dataNilai['nilaipemb1'], 1);
$nilaiPemb2 = json_decode($dataNilai['nilaipemb2'], 1);
$nilaiPeng1 = json_decode($dataNilai['nilaipeng1'], 1);
$nilaiPeng2 = json_decode($dataNilai['nilaipeng2'], 1);
}
}
$labelStatus = '<span class="label label-default">Belum Dinilai</span>';
$statusDosen = '-';
if ($dbPemb1 == $nip) {
$statusDosen = 'Pembimbing 1';
if ($sudahDinilai && $nilaiPemb1 != null) {
$labelStatus = '<span class="label label-success">Success Label</span>';
}
}
if ($dbPemb2 == $nip) {
$statusDosen = 'Pembimbing 2';
if ($sudahDinilai && $nilaiPemb2 != null) {
$labelStatus = '<span class="label label-success">Success Label</span>';
}
}
if ($dbPeng1 == $nip) {
$statusDosen = 'Penguji 1';
if ($sudahDinilai && $nilaiPeng1 != null) {
$labelStatus = '<span class="label label-success">Success Label</span>';
}
}
if ($dbPeng2 == $nip) {
$statusDosen = 'Penguji 2';
if ($sudahDinilai && $nilaiPeng2 != null) {
$labelStatus = '<span class="label label-success">Success Label</span>';
}
}
$dbJenis = $table['jenis'];
$jenisSidang = '-';
switch ($dbJenis) {
case 'Outline': $jenisSidang = 'Sidang Outline'; break;
case 'Sidang': $jenisSidang = 'Sidang Akhir'; break;
case 'SidHas': $jenisSidang = 'Sidang Hasil'; break;
} ?>
<tr>
<td align="center"><i class="clip-bulb"></i></td>
<td><?php echo "<a href=?page=skripsi&menu=history&nim=$table[nim]><b>$table[judul]</b></a><br><br> <p>Oleh <i>$table[nmLengkap]</i></p>"; ?></td>
<td><?php echo $statusDosen; ?></td>
<td><?php echo $jenisSidang; ?></td>
<td><?php echo $table['start']; ?><br>Ruangan : <?php echo $table['ruangan']; ?></td>
<td><?php echo $labelStatus; ?></td>
<td>
<button type="button" class="btn btn-primary" onClick="showFormNilai('<?php echo $idJadwal; ?>')">Nilai</button>
</td>
</tr>
<?php
} ?>
</tbody>
</table>
</div>
</div>
<!-- end: DYNAMIC TABLE PANEL -->
</div>
</div>
<!-- Modal -->
<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
<div class="modal-dialog" role="document" id="penilaianModal">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h5 class="modal-title" id="titlePenilaian">Form Penilaian</h5>
</div>
<div class="modal-body">
<table class="table table-striped table-bordered table-hover table-full-width">
<thead>
<tr><th>No.</th><th>ASPEK-ASPEK YANG DINILAI</th><th>BAKUAN</th><th>NILAI</th></tr>
</thead>
<tbody>
<tr><td>1.</td><td>Isi/Tulisan Skripsi</td><td>100</td><td><input type="text" id="poin1Nilai"></td></tr>
<tr><td>2.</td><td>Kemampuan mempertahankan isi Skripsi/Tugas Akhir</td><td>100</td><td><input type="text" id="poin2Nilai"></td></tr>
<tr><td>3.</td><td>Kemampuan melakukan penalaran, memaparkan pendapat sesuai dengan pertanyaan</td><td>100</td><td><input type="text" id="poin3Nilai"></td></tr>
<tr><td>4.</td><td>Penguasaan materi bidang studi dihubungkan dengan isi Skripsi/Tugas Akhir</td><td>100</td><td><input type="text" id="poin4Nilai"></td></tr>
<tr><td>5.</td><td>Tanggung jawab ilmiah dalam mengutip, memaparkan teori-teori dan menarik kesimpulan</td><td>100</td><td><input type="text" id="poin5Nilai"></td></tr>
<tr><td>6.</td><td>Relevansi Skripsi/Tugas Akhir dengan Program Studi</td><td>100</td><td><input type="text" id="poin6Nilai"></td></tr>
<tr><td>7.</td><td>Tata Tulis dan bahasa ilmiah</td><td>100</td><td><input type="text" id="poin7Nilai"></td></tr>
<tr><td>8.</td><td>Kemampuan memaparkan kegunaan</td><td>100</td><td><input type="text" id="poin8Nilai"></td></tr>
<tr><td></td><td>Jumlah (Rata-rata).................... <span id="rataNilai"></span></td><td>800</td><td><span id="totalNilai"></span></td></tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Simpan</button>
</div>
</div>
</div>
</div>
<!-- End Modal -->
<script>
function showFormNilai(idJadwal){
$('#penilaianModal').modal('show');
}
</script>
<!-- end: PAGE CONTENT-->
<?php
} else {
echo "<div class='alert alert-danger'>Tidak Ada Data</div>";
}
?>