From efdb11db3fb6453187090a716d2e1d7b66365429 Mon Sep 17 00:00:00 2001 From: Power BI Dev Date: Sat, 2 May 2026 10:08:52 +0700 Subject: [PATCH] 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. --- .htaccess | 31 + .user.ini | 15 + admin/.htaccess | 7 + admin/API/list-data-kk.php | 56 + admin/_footer.php | 6 + admin/_header.php | 61 + admin/_navbar.php | 191 + admin/_praoutline.php | 280 + admin/act.auth.php | 100 + admin/dashboard.php | 188 + admin/index.php | 9 + admin/login.php | 160 + admin/page/dashboard/act.dashboard.php | 58 + admin/page/dashboard/dashboard.php | 107 + admin/page/dashboard/json.kalender.php | 36 + admin/page/jadwal/act.jadwal.php | 199 + admin/page/jadwal/daftar-seminar.php | 314 + admin/page/jadwal/jadwal.php | 11 + admin/page/jadwal/json.kalender.php | 36 + admin/page/jadwal/kalender.php | 94 + admin/page/jadwal/list.jadwal.php | 180 + admin/page/manajemendata/_getjurusan.php | 26 + admin/page/manajemendata/act.data-dosen.php | 280 + .../page/manajemendata/act.data-fakultas.php | 51 + admin/page/manajemendata/act.data-jurusan.php | 52 + admin/page/manajemendata/act.data-kk.php | 55 + admin/page/manajemendata/act.data-mhs.php | 279 + admin/page/manajemendata/act.data-prodi.php | 54 + .../page/manajemendata/checkkodefakultas.php | 16 + admin/page/manajemendata/checknim.php | 16 + admin/page/manajemendata/checknipdosen.php | 16 + admin/page/manajemendata/data-dosen.php | 337 + admin/page/manajemendata/data-fakultas.php | 78 + admin/page/manajemendata/data-jurusan.php | 79 + admin/page/manajemendata/data-kk.php | 216 + admin/page/manajemendata/data-mahasiswa.php | 332 + admin/page/manajemendata/data-prodi.php | 80 + admin/page/manajemendata/data.php | 31 + .../page/manajemendata/form-editfakultas.php | 34 + admin/page/manajemendata/form-editjurusan.php | 49 + admin/page/manajemendata/form-editprodi.php | 72 + .../manajemendata/form-tambahfakultas.php | 18 + .../page/manajemendata/form-tambahjurusan.php | 34 + admin/page/manajemendata/form-tambahprodi.php | 42 + admin/page/manajemendata/list-data-kk.php | 178 + admin/page/manajemendata/list.data-dosen.php | 195 + .../page/manajemendata/list.data-fakultas.php | 156 + .../page/manajemendata/list.data-jurusan.php | 157 + .../manajemendata/list.data-mahasiswa.php | 204 + admin/page/manajemendata/list.data-prodi.php | 161 + admin/page/pengaturan/act.pengaturan.php | 44 + admin/page/pengaturan/pengaturan.php | 86 + admin/page/pengumuman/act.pengumuman.php | 66 + admin/page/pengumuman/buat-pengumuman.php | 67 + admin/page/pengumuman/daftar-pengumuman.php | 44 + admin/page/pengumuman/edit-pengumuman.php | 84 + .../pengumuman/list.daftar-pengumuman.php | 191 + admin/page/pengumuman/pengumuman.php | 19 + admin/page/praoutline/act.praoutline.php | 626 + admin/page/praoutline/cari.php | 58 + admin/page/praoutline/daftar-praoutline.php | 55 + admin/page/praoutline/form-reupload.php | 67 + admin/page/praoutline/judul-terbaru.php | 49 + .../page/praoutline/kep.draft.praoutline.php | 246 + admin/page/praoutline/keputusan.php | 41 + admin/page/praoutline/list.judul.php | 142 + admin/page/praoutline/list.judulditerima.php | 149 + .../praoutline/list.kep.draft.praoutline.php | 194 + admin/page/praoutline/pemberitahuan.php | 43 + admin/page/praoutline/praoutline.php | 51 + admin/page/praoutline/review.php | 291 + admin/page/praoutline/statistik.php | 0 admin/page/user/act.user.php | 134 + admin/page/user/checkuser.php | 16 + admin/page/user/daftar-user.php | 78 + admin/page/user/form-edituser.php | 88 + admin/page/user/form-tambahuser.php | 68 + admin/page/user/list.daftar-user.php | 190 + admin/page/user/my-profile.php | 89 + admin/page/user/user.php | 19 + bantuan.php | 10 + cek_banyak_sidang.php | 156 + cektimelimit.php | 7 + cetak.php | 73 + client_api/back_up_profil.php | 174 + client_api/dosen.php | 186 + client_api/jadwal.php | 20 + client_api/login.php | 93 + client_api/logout.php | 38 + client_api/mahasiswa.php | 148 + client_api/pemberitahuan.php | 59 + client_api/pengumuman.php | 115 + client_api/praoutline.php | 874 ++ client_api/profil.php | 223 + client_api/statistik.php | 164 + create-session-wa-gateway.php | 152 + dosen/.htaccess | 8 + dosen/API/getDetailMahasiswa.php | 42 + dosen/API/getEarlyWarningMonitoring.php | 144 + .../getEarlyWarningMonitoringByOutline.php | 147 + dosen/API/list.data.judul.saya.php | 136 + dosen/API/list_filterWaktuBimbingan.php | 83 + dosen/_footer.php | 6 + dosen/_header.php | 94 + dosen/_navbar.php | 242 + dosen/act.auth.php | 141 + dosen/dashboard.php | 204 + dosen/index.php | 9 + dosen/login.php | 173 + dosen/page/dashboard/act.dashboard.php | 58 + dosen/page/dashboard/dashboard.php | 189 + dosen/page/dashboard/json.kalender.php | 36 + dosen/page/early_warning/early_warning.php | 91 + dosen/page/penawaran/act.data-penawaran.php | 166 + dosen/page/penawaran/judul-saya.php | 186 + dosen/page/pengumuman/list.pengumuman.php | 146 + dosen/page/pengumuman/pengumuman.php | 131 + dosen/page/pra-lirs/pra-lirs.php | 199 + dosen/page/praoutline/_navbar.php | 153 + dosen/page/praoutline/act.praoutline.php | 2105 +++ dosen/page/praoutline/cari.php | 59 + dosen/page/praoutline/daftar-praoutline.php | 55 + dosen/page/praoutline/judul-terbaru.php | 153 + .../praoutline/kep.draft.praoutline-kk.php | 319 + .../page/praoutline/kep.draft.praoutline.php | 316 + dosen/page/praoutline/keputusan.php | 63 + dosen/page/praoutline/kkTerkait.php | 113 + dosen/page/praoutline/list.judul.php | 224 + dosen/page/praoutline/list.judulditerima.php | 151 + .../list.kep.draft.praoutline.kk.php | 268 + .../praoutline/list.kep.draft.praoutline.php | 279 + dosen/page/praoutline/list.myreview.php | 163 + dosen/page/praoutline/list.statistikdosen.php | 240 + dosen/page/praoutline/list.statistikdraft.php | 151 + .../praoutline/list_filterWaktuBimbingan.php | 0 dosen/page/praoutline/myreview.php | 45 + dosen/page/praoutline/old_act.praoutline.php | 1740 +++ dosen/page/praoutline/pemberitahuan.php | 43 + dosen/page/praoutline/praoutline.php | 55 + dosen/page/praoutline/review.php | 700 + dosen/page/praoutline/statistik.php | 199 + dosen/page/skripsi/act.skripsi.php | 119 + dosen/page/skripsi/berkas_mahasiswa.php | 310 + dosen/page/skripsi/bimbingan.php | 56 + dosen/page/skripsi/forum.php | 117 + dosen/page/skripsi/forumdosen.php | 146 + dosen/page/skripsi/history.php | 56 + dosen/page/skripsi/jadwal.php | 21 + dosen/page/skripsi/penilaian.php | 184 + dosen/page/skripsi/rev.php | 21 + dosen/page/skripsi/review.php | 379 + dosen/page/skripsi/riwayat.php | 21 + dosen/page/skripsi/skripsi.php | 38 + dosen/page/user/act.user.php | 110 + dosen/page/user/my-profile.php | 94 + dosen/page/user/user.php | 11 + download.php | 58 + gcmuser.php | 39 + hapus_sesi_wa.php | 15 + inc/costum.class.php | 142 + inc/db.pdo.class.php | 234 + inc/gcm_helper.php | 37 + inc/helper.php | 446 + inc/index.html | 0 inc/konfigurasi.php | 47 + inc/web.class.php | 21 + index.php | 157 + json-jadwal.php | 41 + kelompokKeahlianDosen.php | 104 + kodesurat.php | 10716 ++++++++++++++++ listdosen.php | 108 + mahasiswa/.htaccess | 0 mahasiswa/API/getBerkasSidangMahasiswa.php | 0 mahasiswa/API/list.data.judul.php | 117 + mahasiswa/_footer.php | 6 + mahasiswa/_header.php | 137 + mahasiswa/_navbar.php | 184 + mahasiswa/act.auth.php | 323 + mahasiswa/dashboard.php | 197 + mahasiswa/index.php | 10 + mahasiswa/login.php | 136 + mahasiswa/page/dashboard/act.dashboard.php | 58 + mahasiswa/page/dashboard/dashboard.php | 234 + mahasiswa/page/dashboard/json.kalender.php | 36 + .../kelompokkeahlian/kelompokkeahlian.php | 91 + mahasiswa/page/outline/!act.praoutline.php | 217 + mahasiswa/page/outline/!review.php | 280 + mahasiswa/page/outline/act.outline.php | 171 + mahasiswa/page/outline/diskusi.php | 115 + mahasiswa/page/outline/jadwal.php | 227 + mahasiswa/page/outline/jadwal_outline.php | 116 + mahasiswa/page/outline/jadwal_sidHas.php | 111 + mahasiswa/page/outline/jadwal_sidang.php | 218 + mahasiswa/page/outline/list.php | 58 + mahasiswa/page/outline/new.php | 56 + mahasiswa/page/outline/outline.php | 41 + mahasiswa/page/outline/review.php | 235 + .../page/penawaran/act.data-penawaran.php | 77 + mahasiswa/page/penawaran/penawaran.php | 187 + mahasiswa/page/pengumuman/list.pengumuman.php | 146 + mahasiswa/page/pengumuman/pengumuman.php | 131 + mahasiswa/page/praoutline/act.praoutline.php | 500 + .../page/praoutline/daftar-praoutline.php | 55 + mahasiswa/page/praoutline/pemberitahuan.php | 43 + mahasiswa/page/praoutline/praoutline.php | 27 + mahasiswa/page/praoutline/review.php | 595 + mahasiswa/page/praoutline/unduhan.php | 51 + mahasiswa/page/praoutline/upload.php | 188 + mahasiswa/page/user/act.user.php | 126 + mahasiswa/page/user/my-profile.php | 140 + mahasiswa/page/user/user.php | 11 + penawaran_judul.php | 194 + pencarian_judul_spota.php | 0 php.ini | 16 + print/print-close-judul-kk.php | 304 + publikasidosen.php | 1331 ++ recovery.php | 22 + service/koneksi.php | 9 + service/servicespota.php | 138 + statistik.php | 233 + wa-req-forwarder.php | 78 + 221 files changed, 43273 insertions(+) create mode 100644 .htaccess create mode 100644 .user.ini create mode 100644 admin/.htaccess create mode 100644 admin/API/list-data-kk.php create mode 100644 admin/_footer.php create mode 100644 admin/_header.php create mode 100644 admin/_navbar.php create mode 100644 admin/_praoutline.php create mode 100644 admin/act.auth.php create mode 100644 admin/dashboard.php create mode 100644 admin/index.php create mode 100644 admin/login.php create mode 100644 admin/page/dashboard/act.dashboard.php create mode 100644 admin/page/dashboard/dashboard.php create mode 100644 admin/page/dashboard/json.kalender.php create mode 100644 admin/page/jadwal/act.jadwal.php create mode 100644 admin/page/jadwal/daftar-seminar.php create mode 100644 admin/page/jadwal/jadwal.php create mode 100644 admin/page/jadwal/json.kalender.php create mode 100644 admin/page/jadwal/kalender.php create mode 100644 admin/page/jadwal/list.jadwal.php create mode 100644 admin/page/manajemendata/_getjurusan.php create mode 100644 admin/page/manajemendata/act.data-dosen.php create mode 100644 admin/page/manajemendata/act.data-fakultas.php create mode 100644 admin/page/manajemendata/act.data-jurusan.php create mode 100644 admin/page/manajemendata/act.data-kk.php create mode 100644 admin/page/manajemendata/act.data-mhs.php create mode 100644 admin/page/manajemendata/act.data-prodi.php create mode 100644 admin/page/manajemendata/checkkodefakultas.php create mode 100644 admin/page/manajemendata/checknim.php create mode 100644 admin/page/manajemendata/checknipdosen.php create mode 100644 admin/page/manajemendata/data-dosen.php create mode 100644 admin/page/manajemendata/data-fakultas.php create mode 100644 admin/page/manajemendata/data-jurusan.php create mode 100644 admin/page/manajemendata/data-kk.php create mode 100644 admin/page/manajemendata/data-mahasiswa.php create mode 100644 admin/page/manajemendata/data-prodi.php create mode 100644 admin/page/manajemendata/data.php create mode 100644 admin/page/manajemendata/form-editfakultas.php create mode 100644 admin/page/manajemendata/form-editjurusan.php create mode 100644 admin/page/manajemendata/form-editprodi.php create mode 100644 admin/page/manajemendata/form-tambahfakultas.php create mode 100644 admin/page/manajemendata/form-tambahjurusan.php create mode 100644 admin/page/manajemendata/form-tambahprodi.php create mode 100644 admin/page/manajemendata/list-data-kk.php create mode 100644 admin/page/manajemendata/list.data-dosen.php create mode 100644 admin/page/manajemendata/list.data-fakultas.php create mode 100644 admin/page/manajemendata/list.data-jurusan.php create mode 100644 admin/page/manajemendata/list.data-mahasiswa.php create mode 100644 admin/page/manajemendata/list.data-prodi.php create mode 100644 admin/page/pengaturan/act.pengaturan.php create mode 100644 admin/page/pengaturan/pengaturan.php create mode 100644 admin/page/pengumuman/act.pengumuman.php create mode 100644 admin/page/pengumuman/buat-pengumuman.php create mode 100644 admin/page/pengumuman/daftar-pengumuman.php create mode 100644 admin/page/pengumuman/edit-pengumuman.php create mode 100644 admin/page/pengumuman/list.daftar-pengumuman.php create mode 100644 admin/page/pengumuman/pengumuman.php create mode 100644 admin/page/praoutline/act.praoutline.php create mode 100644 admin/page/praoutline/cari.php create mode 100644 admin/page/praoutline/daftar-praoutline.php create mode 100644 admin/page/praoutline/form-reupload.php create mode 100644 admin/page/praoutline/judul-terbaru.php create mode 100644 admin/page/praoutline/kep.draft.praoutline.php create mode 100644 admin/page/praoutline/keputusan.php create mode 100644 admin/page/praoutline/list.judul.php create mode 100644 admin/page/praoutline/list.judulditerima.php create mode 100644 admin/page/praoutline/list.kep.draft.praoutline.php create mode 100644 admin/page/praoutline/pemberitahuan.php create mode 100644 admin/page/praoutline/praoutline.php create mode 100644 admin/page/praoutline/review.php create mode 100644 admin/page/praoutline/statistik.php create mode 100644 admin/page/user/act.user.php create mode 100644 admin/page/user/checkuser.php create mode 100644 admin/page/user/daftar-user.php create mode 100644 admin/page/user/form-edituser.php create mode 100644 admin/page/user/form-tambahuser.php create mode 100644 admin/page/user/list.daftar-user.php create mode 100644 admin/page/user/my-profile.php create mode 100644 admin/page/user/user.php create mode 100644 bantuan.php create mode 100644 cek_banyak_sidang.php create mode 100644 cektimelimit.php create mode 100644 cetak.php create mode 100644 client_api/back_up_profil.php create mode 100644 client_api/dosen.php create mode 100644 client_api/jadwal.php create mode 100644 client_api/login.php create mode 100644 client_api/logout.php create mode 100644 client_api/mahasiswa.php create mode 100644 client_api/pemberitahuan.php create mode 100644 client_api/pengumuman.php create mode 100644 client_api/praoutline.php create mode 100644 client_api/profil.php create mode 100644 client_api/statistik.php create mode 100644 create-session-wa-gateway.php create mode 100644 dosen/.htaccess create mode 100644 dosen/API/getDetailMahasiswa.php create mode 100644 dosen/API/getEarlyWarningMonitoring.php create mode 100644 dosen/API/getEarlyWarningMonitoringByOutline.php create mode 100644 dosen/API/list.data.judul.saya.php create mode 100644 dosen/API/list_filterWaktuBimbingan.php create mode 100644 dosen/_footer.php create mode 100644 dosen/_header.php create mode 100644 dosen/_navbar.php create mode 100644 dosen/act.auth.php create mode 100644 dosen/dashboard.php create mode 100644 dosen/index.php create mode 100644 dosen/login.php create mode 100644 dosen/page/dashboard/act.dashboard.php create mode 100644 dosen/page/dashboard/dashboard.php create mode 100644 dosen/page/dashboard/json.kalender.php create mode 100644 dosen/page/early_warning/early_warning.php create mode 100644 dosen/page/penawaran/act.data-penawaran.php create mode 100644 dosen/page/penawaran/judul-saya.php create mode 100644 dosen/page/pengumuman/list.pengumuman.php create mode 100644 dosen/page/pengumuman/pengumuman.php create mode 100644 dosen/page/pra-lirs/pra-lirs.php create mode 100644 dosen/page/praoutline/_navbar.php create mode 100644 dosen/page/praoutline/act.praoutline.php create mode 100644 dosen/page/praoutline/cari.php create mode 100644 dosen/page/praoutline/daftar-praoutline.php create mode 100644 dosen/page/praoutline/judul-terbaru.php create mode 100644 dosen/page/praoutline/kep.draft.praoutline-kk.php create mode 100644 dosen/page/praoutline/kep.draft.praoutline.php create mode 100644 dosen/page/praoutline/keputusan.php create mode 100644 dosen/page/praoutline/kkTerkait.php create mode 100644 dosen/page/praoutline/list.judul.php create mode 100644 dosen/page/praoutline/list.judulditerima.php create mode 100644 dosen/page/praoutline/list.kep.draft.praoutline.kk.php create mode 100644 dosen/page/praoutline/list.kep.draft.praoutline.php create mode 100644 dosen/page/praoutline/list.myreview.php create mode 100644 dosen/page/praoutline/list.statistikdosen.php create mode 100644 dosen/page/praoutline/list.statistikdraft.php create mode 100644 dosen/page/praoutline/list_filterWaktuBimbingan.php create mode 100644 dosen/page/praoutline/myreview.php create mode 100644 dosen/page/praoutline/old_act.praoutline.php create mode 100644 dosen/page/praoutline/pemberitahuan.php create mode 100644 dosen/page/praoutline/praoutline.php create mode 100644 dosen/page/praoutline/review.php create mode 100644 dosen/page/praoutline/statistik.php create mode 100644 dosen/page/skripsi/act.skripsi.php create mode 100644 dosen/page/skripsi/berkas_mahasiswa.php create mode 100644 dosen/page/skripsi/bimbingan.php create mode 100644 dosen/page/skripsi/forum.php create mode 100644 dosen/page/skripsi/forumdosen.php create mode 100644 dosen/page/skripsi/history.php create mode 100644 dosen/page/skripsi/jadwal.php create mode 100644 dosen/page/skripsi/penilaian.php create mode 100644 dosen/page/skripsi/rev.php create mode 100644 dosen/page/skripsi/review.php create mode 100644 dosen/page/skripsi/riwayat.php create mode 100644 dosen/page/skripsi/skripsi.php create mode 100644 dosen/page/user/act.user.php create mode 100644 dosen/page/user/my-profile.php create mode 100644 dosen/page/user/user.php create mode 100644 download.php create mode 100644 gcmuser.php create mode 100644 hapus_sesi_wa.php create mode 100644 inc/costum.class.php create mode 100644 inc/db.pdo.class.php create mode 100644 inc/gcm_helper.php create mode 100644 inc/helper.php create mode 100644 inc/index.html create mode 100644 inc/konfigurasi.php create mode 100644 inc/web.class.php create mode 100644 index.php create mode 100644 json-jadwal.php create mode 100644 kelompokKeahlianDosen.php create mode 100644 kodesurat.php create mode 100644 listdosen.php create mode 100644 mahasiswa/.htaccess create mode 100644 mahasiswa/API/getBerkasSidangMahasiswa.php create mode 100644 mahasiswa/API/list.data.judul.php create mode 100644 mahasiswa/_footer.php create mode 100644 mahasiswa/_header.php create mode 100644 mahasiswa/_navbar.php create mode 100644 mahasiswa/act.auth.php create mode 100644 mahasiswa/dashboard.php create mode 100644 mahasiswa/index.php create mode 100644 mahasiswa/login.php create mode 100644 mahasiswa/page/dashboard/act.dashboard.php create mode 100644 mahasiswa/page/dashboard/dashboard.php create mode 100644 mahasiswa/page/dashboard/json.kalender.php create mode 100644 mahasiswa/page/kelompokkeahlian/kelompokkeahlian.php create mode 100644 mahasiswa/page/outline/!act.praoutline.php create mode 100644 mahasiswa/page/outline/!review.php create mode 100644 mahasiswa/page/outline/act.outline.php create mode 100644 mahasiswa/page/outline/diskusi.php create mode 100644 mahasiswa/page/outline/jadwal.php create mode 100644 mahasiswa/page/outline/jadwal_outline.php create mode 100644 mahasiswa/page/outline/jadwal_sidHas.php create mode 100644 mahasiswa/page/outline/jadwal_sidang.php create mode 100644 mahasiswa/page/outline/list.php create mode 100644 mahasiswa/page/outline/new.php create mode 100644 mahasiswa/page/outline/outline.php create mode 100644 mahasiswa/page/outline/review.php create mode 100644 mahasiswa/page/penawaran/act.data-penawaran.php create mode 100644 mahasiswa/page/penawaran/penawaran.php create mode 100644 mahasiswa/page/pengumuman/list.pengumuman.php create mode 100644 mahasiswa/page/pengumuman/pengumuman.php create mode 100644 mahasiswa/page/praoutline/act.praoutline.php create mode 100644 mahasiswa/page/praoutline/daftar-praoutline.php create mode 100644 mahasiswa/page/praoutline/pemberitahuan.php create mode 100644 mahasiswa/page/praoutline/praoutline.php create mode 100644 mahasiswa/page/praoutline/review.php create mode 100644 mahasiswa/page/praoutline/unduhan.php create mode 100644 mahasiswa/page/praoutline/upload.php create mode 100644 mahasiswa/page/user/act.user.php create mode 100644 mahasiswa/page/user/my-profile.php create mode 100644 mahasiswa/page/user/user.php create mode 100644 penawaran_judul.php create mode 100644 pencarian_judul_spota.php create mode 100644 php.ini create mode 100644 print/print-close-judul-kk.php create mode 100644 publikasidosen.php create mode 100644 recovery.php create mode 100644 service/koneksi.php create mode 100644 service/servicespota.php create mode 100644 statistik.php create mode 100644 wa-req-forwarder.php diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..c20b79c --- /dev/null +++ b/.htaccess @@ -0,0 +1,31 @@ +DirectoryIndex index.php index.html + +# BEGIN cPanel-generated php ini directives, do not edit +# Manual editing of this file may result in unexpected behavior. +# To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor) +# For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI) + + php_flag display_errors Off + php_value max_execution_time 60 + php_value max_input_time 60 + php_value max_input_vars 1000 + php_value memory_limit 512M + php_value post_max_size 8M + php_value session.gc_maxlifetime 604800 + php_value session.save_path "/tmp/spota_sessions" + php_value upload_max_filesize 8M + php_flag zlib.output_compression Off + + + php_flag display_errors Off + php_value max_execution_time 60 + php_value max_input_time 60 + php_value max_input_vars 1000 + php_value memory_limit 512M + php_value post_max_size 8M + php_value session.gc_maxlifetime 604800 + php_value session.save_path "/tmp/spota_sessions" + php_value upload_max_filesize 8M + php_flag zlib.output_compression Off + +# END cPanel-generated php ini directives, do not edit diff --git a/.user.ini b/.user.ini new file mode 100644 index 0000000..7657ca9 --- /dev/null +++ b/.user.ini @@ -0,0 +1,15 @@ +; cPanel-generated php ini directives, do not edit +; Manual editing of this file may result in unexpected behavior. +; To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor) +; For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI) +[PHP] +display_errors = Off +max_execution_time = 60 +max_input_time = 60 +max_input_vars = 1000 +memory_limit = 512M +post_max_size = 8M +session.gc_maxlifetime = 604800 +session.save_path = "/tmp/spota_sessions" +upload_max_filesize = 8M +zlib.output_compression = Off diff --git a/admin/.htaccess b/admin/.htaccess new file mode 100644 index 0000000..a835c52 --- /dev/null +++ b/admin/.htaccess @@ -0,0 +1,7 @@ + +RewriteEngine On + +RewriteRule ^dashboard/edit-data-dosen/(.*)$ dashboard.php?page=data&menu=data-dosen&act=edit&id=$1 [L] + + + diff --git a/admin/API/list-data-kk.php b/admin/API/list-data-kk.php new file mode 100644 index 0000000..b5d1ae9 --- /dev/null +++ b/admin/API/list-data-kk.php @@ -0,0 +1,56 @@ +connect(); + +header('Content-Type: application/json'); + +if (!isset($_SESSION['login-admin'])) { + echo json_encode(['status' => 403, 'msg' => 'Forbidden']); + exit; +} + +$sql = "SELECT * FROM tbdosen"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listDosen = []; +while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $listDosen[$row['iddosen']] = $row['nmLengkap']; +} + +$sql = 'SELECT * FROM tb_kelompok_keahlian LEFT JOIN tbdosen ON tb_kelompok_keahlian.ketuaKK = tbdosen.iddosen'; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listData = []; +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $idKetua = $row['ketuaKK']; + $idSekretaris = $row['sekretarisKK']; + + $namaKetua = "-"; + $namaSekretaris = "-"; + + if(isset($listDosen[$idKetua])){ + $namaKetua = $listDosen[$idKetua]; + } + + if(isset($listDosen[$idSekretaris])){ + $namaSekretaris = $listDosen[$idSekretaris]; + } + array_push($listData, [ + 'id' => $row['idKK'], + 'nama' => $row['namaKK'], + 'ketua' => $idKetua, + 'namaKetua' => $namaKetua, + 'sekretaris' => $idSekretaris, + 'namaSekretaris' => $namaSekretaris, + ]); +} + +echo json_encode(utf8ize($listData)); diff --git a/admin/_footer.php b/admin/_footer.php new file mode 100644 index 0000000..820af7d --- /dev/null +++ b/admin/_footer.php @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/admin/_header.php b/admin/_header.php new file mode 100644 index 0000000..fc4067e --- /dev/null +++ b/admin/_header.php @@ -0,0 +1,61 @@ + \ No newline at end of file diff --git a/admin/_navbar.php b/admin/_navbar.php new file mode 100644 index 0000000..ca23930 --- /dev/null +++ b/admin/_navbar.php @@ -0,0 +1,191 @@ + + \ No newline at end of file diff --git a/admin/_praoutline.php b/admin/_praoutline.php new file mode 100644 index 0000000..394d9f8 --- /dev/null +++ b/admin/_praoutline.php @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin/act.auth.php b/admin/act.auth.php new file mode 100644 index 0000000..f14cd77 --- /dev/null +++ b/admin/act.auth.php @@ -0,0 +1,100 @@ + false, + 'msg' => 'Gagal Login, Tidak dapat login menggunakan akun dummy.', + ]); + exit(); + } + + $check = "SELECT ta.idAdmin,ta.username,ta.password,ta.nmLengkap,ta.jabatan,ta.email,ta.idProdi,ta.jenisAdmin, tp.nmProdi FROM tbadmin ta LEFT JOIN tbprodi tp ON (ta.idProdi=tp.idProdi) WHERE ta.username='$username' AND ta.aktif='Y' LIMIT 1"; + $db->runQuery($check); + + if ($db->dbRows() > 0) { + $log = $db->dbFetch(); + if ($log['password'] == md5($password)) { + $sesilogin = [ + 'username' => $log['username'], + 'prodi' => $log['idProdi'], + 'nmprodi' => $log['nmProdi'], + 'lvl' => $log['jenisAdmin'], + 'nama_lengkap' => $log['nmLengkap'], + 'id' => $log['idAdmin'], + 'jabatan' => $log['jabatan'], + ]; + + $_SESSION['login-admin'] = $sesilogin; + echo json_encode( + [ + 'result' => true, + 'msg' => 'Login Sukses.', + ]); + } else { + //password salah + echo json_encode( + [ + 'result' => false, + 'msg' => 'Gagal Login, Password anda tidak sesuai/salah.', + ]); + } + } else { + //username tidak terdaftar + echo json_encode([ + 'result' => false, + 'msg' => 'Gagal Login, Username Anda tidak terdaftar.', + ]); + } + break; + case 'logout': + unset($_SESSION['login-admin']); + echo json_encode(['result' => true]); + break; + + case 'recoverpass': // coming soon + $email = $_POST['email']; + $query = "SELECT * FROM tbadmin WHERE email='$email' limit 1"; + $db->runQuery($query); + if ($db->dbRows() > 0) { + $r = $db->dbFetch(); + $idadmin = $r['idAdmin']; + $username = $r['username']; + $password = $r['password']; + $date = date('Y-m-d H:i:s'); + $recoverkey = md5($password.$username.$date); + $recover = "INSERT INTO temp_resetpass SET tglrecover='$date', iduser='$idadmin', jenis='A', rkey='$recoverkey'"; + //echo $recover; + $db->runQuery($recover); + + //$linkreset="/~project/spota/admin/request.php?key=$recoverkey"; + //koding kirim email + echo json_encode([ + 'result' => true, + 'msg' => "Terima Kasih, \nSilakan Cek Email Anda untuk reset password", + ]); + } else { + echo json_encode([ + 'result' => false, + 'msg' => 'Email tidak terdaftar.', + ]); + } + break; + + /*default: + break;*/ + } +} diff --git a/admin/dashboard.php b/admin/dashboard.php new file mode 100644 index 0000000..2fb1d60 --- /dev/null +++ b/admin/dashboard.php @@ -0,0 +1,188 @@ + + + + + + + + + + + Dashboard - Halaman Admin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin/index.php b/admin/index.php new file mode 100644 index 0000000..708f2e0 --- /dev/null +++ b/admin/index.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/admin/login.php b/admin/login.php new file mode 100644 index 0000000..8b0962d --- /dev/null +++ b/admin/login.php @@ -0,0 +1,160 @@ + + + + + + + + + + LOGIN ADMINISTRATOR - SPOTA UNTAN + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+

Lupa Password?

+

+ Silakan masukkan email anda. +

+
+ +
+ Ada kesalahan, silakan dicek terlebih dahulu +
+
+
+ + + +
+
+ + +
+
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin/page/dashboard/act.dashboard.php b/admin/page/dashboard/act.dashboard.php new file mode 100644 index 0000000..bf46bc6 --- /dev/null +++ b/admin/page/dashboard/act.dashboard.php @@ -0,0 +1,58 @@ +runQuery($q); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $nama=$r['nmLengkap']; + $nim=$r['nim']; + $judul_skripsi=$r['judul']; + $ruangan=$r['ruangan']; + $jenis=$r['jenis']; + $pemb1=$r['pemb1']; + $pemb2=$r['pemb2']; + $peng1=$r['peng1']; + $peng2=$r['peng2']; + $start=explode(" ", $r['start']); + $tgl=tanggalIndo($start[0], "j F Y"); + $wkt=$start[1]; + echo json_encode(array( + "result"=>true, + "msg"=>"Sukses", + "nama"=>$nama, + "nim"=>$nim, + "judul"=>$judul_skripsi, + "jenis"=>strtoupper($jenis), + "ruangan"=>$ruangan, + "pemb1"=>$pemb1, + "pemb2"=>$pemb2, + "peng1"=>$peng1, + "peng2"=>$peng2, + "tgl"=>$tgl, + "wkt"=>$wkt, + )); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Data Tidak Ditemukan")); + } + } + break; + } +} + +?> \ No newline at end of file diff --git a/admin/page/dashboard/dashboard.php b/admin/page/dashboard/dashboard.php new file mode 100644 index 0000000..72e9d7c --- /dev/null +++ b/admin/page/dashboard/dashboard.php @@ -0,0 +1,107 @@ + + +
+
+ + + +
+
+
+
+
+

Hi,

+

Selamat datang di halaman administrator Sistem Pendukung Outline Tugas Akhir (SPOTA) Universitas Tanjungpura

+
+
+
+
+ +
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/admin/page/dashboard/json.kalender.php b/admin/page/dashboard/json.kalender.php new file mode 100644 index 0000000..1613529 --- /dev/null +++ b/admin/page/dashboard/json.kalender.php @@ -0,0 +1,36 @@ +runQuery($s); +if($db->dbRows()>0){ + while($r=$db->dbFetch()){ + if($r['jenis']=="Sidang"){ + $warna="label-orange text-ellipsis"; + }else if($r['jenis']=="Outline"){ + $warna="label-green text-ellipsis"; + }else if($r['jenis']=="SidHas"){ + $warna="label-yellow text-ellipsis"; + }else{ + $warna="label-default text-ellipsis"; + } + $data['id']=$r['id']; + //$data['title']=$r['nim']; + $data['title']= ucwords(strtolower($r['nmLengkap'])); + $data['start']=$r['start']; + $data['end']=$r['end']; + $data['className']=$warna; + $jadwal[]=$data; + } + echo json_encode($jadwal); +} +?> \ No newline at end of file diff --git a/admin/page/jadwal/act.jadwal.php b/admin/page/jadwal/act.jadwal.php new file mode 100644 index 0000000..6e12ca4 --- /dev/null +++ b/admin/page/jadwal/act.jadwal.php @@ -0,0 +1,199 @@ +runQuery($query)) { + echo json_encode(array('result' => true, 'msg' => $msg)); + } else { + echo json_encode(array('result' => false, 'msg' => 'Aksi Gagal DbError')); + exit; + } + + break; + + case 'update': + $idjadwal = $_POST['idjadwal']; + if (ctype_digit($idjadwal)) { + $idprodi = $_SESSION['login-admin']['prodi']; + if ($_POST['draft'] == 'yes') { + $draft = "publish='N',"; + $msg = 'Jadwal disimpan sebagai draft'; + } else { + $draft = "publish='Y',"; + $msg = 'Jadwal telah diupdate.'; + } + $tgl = explode('-', $_POST['tgl']); + $wkt = $_POST['wkt'].':00'; + $waktu = $tgl[2].'-'.$tgl[1].'-'.$tgl[0].' '.$wkt; + $start = "start='".$waktu."',"; + $end = "end='1970-01-01 00:00:00',"; + + $update = "UPDATE tbjadwal + SET + idMhs='".$_POST['idmhs']."', + judul='".$_POST['judul']."', + ruangan='".$_POST['ruangan']."', + jenis='".$_POST['jenis']."', + $start + $end + $draft + pemb1='".$_POST['pemb1']."', + pemb2='".$_POST['pemb2']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."' + WHERE id='$idjadwal'"; + + //echo $update; + if ($db->runQuery($update)) { + echo json_encode(array('result' => true, 'msg' => $msg)); + } else { + @unlink($thumb_DestRandImageName); + echo json_encode(array('result' => false, 'msg' => 'Aksi Gagal DBError')); + } + } + break; + + case 'publish': + $idjadwal = $_POST['idjadwal']; + if (ctype_digit($idjadwal)) { + $pub = "UPDATE tbjadwal SET publish='Y' WHERE id='$idjadwal'"; + //echo $pub; + if ($db->runQuery($pub)) { + echo json_encode(array('result' => true, 'msg' => 'Jadwal Telah diterbitkan')); + } else { + echo json_encode(array('result' => false, 'msg' => 'Aksi Gagal, DBerror.')); + } + } + break; + + case 'hapusjadwal': + $idjadwal = $_POST['jadwal']; + if (ctype_digit($idjadwal)) { + $del_pengumuman = "DELETE FROM tbjadwal WHERE id='$idjadwal'"; + if ($db->runQuery($del_pengumuman)) { + echo json_encode(array('result' => true, 'msg' => 'Jadwal telah berhasil dihapus')); + } else { + echo json_encode(array('result' => false, 'msg' => 'Aksi Gagal, DBerror.')); + } + } + break; + + case 'detailjadwal': + $id = $_POST['id']; + if (ctype_digit($id)) { + $q = "SELECT tj.*,tm.nmLengkap, tm.nim, tp.nmProdi + FROM tbjadwal tj + LEFT JOIN tbmhs tm ON(tm.idmhs=tj.idMhs) + LEFT JOIN tbprodi tp ON(tp.idProdi=tj.idProdi) + WHERE tj.id='$id'"; + + $db->runQuery($q); + if ($db->dbRows() > 0) { + $r = $db->dbFetch(); + $nama = $r['nmLengkap']; + $nim = $r['nim']; + $judul_skripsi = $r['judul']; + $ruangan = $r['ruangan']; + $jenis = $r['jenis']; + $pemb1 = $r['pemb1']; + $pemb2 = $r['pemb2']; + $peng1 = $r['peng1']; + $peng2 = $r['peng2']; + $start = explode(' ', $r['start']); + $tgl = tanggalIndo($start[0], 'j F Y'); + $wkt = $start[1]; + echo json_encode(array( + 'result' => true, + 'msg' => 'Sukses', + 'nama' => $nama, + 'nim' => $nim, + 'judul' => $judul_skripsi, + 'jenis' => strtoupper($jenis), + 'ruangan' => $ruangan, + 'pemb1' => $pemb1, + 'pemb2' => $pemb2, + 'peng1' => $peng1, + 'peng2' => $peng2, + 'tgl' => $tgl, + 'wkt' => $wkt, + )); + } else { + echo json_encode(array('result' => false, 'msg' => 'Data Tidak Ditemukan')); + } + } + break; + + case 'getinfo': + $idmhs = $_POST['idmhs']; + if (!ctype_digit($idmhs)) { + echo json_encode(array('result' => false, 'msg' => 'Invalid ID')); + exit(); + } + + $q = "SELECT nim from tbmhs WHERE idmhs='$idmhs' LIMIT 1"; + $db->runQuery($q); + $r = $db->dbFetch(); + $NIM = $r['nim']; + + $q2 = "SELECT trh.judul_final,trh.nim,tdpemb1.nmLengkap as dosenpemb1,tdpemb2.nmLengkap as dosenpemb2,tdpeng1.nmLengkap as dosenpeng1,tdpeng2.nmLengkap as dosenpeng2 FROM tbrekaphasil trh + LEFT JOIN tbdosen tdpemb1 ON (tdpemb1.nip=trh.pemb1) + LEFT JOIN tbdosen tdpemb2 ON (tdpemb2.nip=trh.pemb2) + LEFT JOIN tbdosen tdpeng1 ON (tdpeng1.nip=trh.peng1) + LEFT JOIN tbdosen tdpeng2 ON (tdpeng2.nip=trh.peng2) + WHERE trh.nim='$NIM' AND trh.kep_akhir='1' ORDER BY trh.tgl_kep ASC LIMIT 1"; + $db->runQuery($q2); + if ($db->dbRows() > 0) { + $info = $db->dbFetch(); + echo json_encode( + array( + 'result' => true, + 'msg' => 'Data ditemukan', + 'data' => array( + 'judul' => $info['judul_final'], + 'pemb1' => $info['dosenpemb1'], + 'pemb2' => $info['dosenpemb2'], + 'peng1' => $info['dosenpeng1'], + 'peng2' => $info['dosenpeng2'], ), )); + } else { + echo json_encode(array('result' => false, 'msg' => 'Data tidak ditemukan')); + } + break; + } +} diff --git a/admin/page/jadwal/daftar-seminar.php b/admin/page/jadwal/daftar-seminar.php new file mode 100644 index 0000000..1a2312c --- /dev/null +++ b/admin/page/jadwal/daftar-seminar.php @@ -0,0 +1,314 @@ + + +
+
+ + +
+
+ Tambah Data +
+
+
+ + + + + + + + + + + + + + + +
NamaJudulTanggalAksi
Loading data from server
+ + +
+
+ +
+
+ + +
+
+
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + +
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ + + +
+
+
+ +
+
+ + +
+
+ runQuery($e); + if ($db->dbRows() > 0) { + $r = $db->dbFetch(); + $start = explode(' ', $r['start']); + $tgl = explode('-', $start[0]); + $etgl = $tgl[2].'-'.$tgl[1].'-'.$tgl[0]; + + $wkt = $start[1]; ?> +
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + +
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ + + +
+
+
+ + + diff --git a/admin/page/jadwal/jadwal.php b/admin/page/jadwal/jadwal.php new file mode 100644 index 0000000..035b995 --- /dev/null +++ b/admin/page/jadwal/jadwal.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/admin/page/jadwal/json.kalender.php b/admin/page/jadwal/json.kalender.php new file mode 100644 index 0000000..89271b4 --- /dev/null +++ b/admin/page/jadwal/json.kalender.php @@ -0,0 +1,36 @@ +runQuery($s); +if($db->dbRows()>0){ + while($r=$db->dbFetch()){ + if($r['jenis']=="Sidang"){ + $warna="label-orange"; + }else if($r['jenis']=="Outline"){ + $warna="label-green"; + }else if($r['jenis']=="SidHas"){ + $warna="label-yellow"; + }else{ + $warna="label-default"; + } + $data['id']=$r['id']; + $data['title']=$r['nim']; + $data['start']=$r['start']; + $data['end']=$r['end']; + $data['className']=$warna; + $jadwal[]=$data; + } + echo json_encode($jadwal); +} +?> \ No newline at end of file diff --git a/admin/page/jadwal/kalender.php b/admin/page/jadwal/kalender.php new file mode 100644 index 0000000..ece734a --- /dev/null +++ b/admin/page/jadwal/kalender.php @@ -0,0 +1,94 @@ + +
+
+ + +
+
+
+
+
+
+
+

Keterangan

+
+
+ + Seminar Outline +
+
+ + Sidang Hasil +
+
+ + Sidang Akhir +
+
+ + Lainnya +
+
+
+
+ + + + + \ No newline at end of file diff --git a/admin/page/jadwal/list.jadwal.php b/admin/page/jadwal/list.jadwal.php new file mode 100644 index 0000000..9eaef1f --- /dev/null +++ b/admin/page/jadwal/list.jadwal.php @@ -0,0 +1,180 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result = $db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(tj.id) as total FROM $sTable $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 = [ + 'sEcho' => intval($_GET['sEcho']), + 'iTotalRecords' => $iTotal, + 'iTotalDisplayRecords' => $iFilteredTotal, + 'aaData' => [], + ]; + + while ($aRow = $db->dbFetch($result)) { + //print_r($aRow); + $row = []; + $tujuan = ''; + if ($aRow['publish'] == 'N') { + $publish = ' -draft '; + $terbit = '
  • + + Terbitkan + +
  • '; + $tombol = 'btn-warning'; + } else { + $publish = ''; + $terbit = ''; + $tombol = 'btn-primary'; + } + + $row[0] = $aRow['nmLengkap'].' ('.$aRow['nim'].')'.$publish; + $row[1] = '['.strtoupper($aRow['jenis']).'] '.$aRow['judul']; + $row[2] = tanggalIndo($aRow['start'], 'j F Y H:i'); + $jenisSidang = $aRow['jenis']; + $btnLihatBerkas = ''; + switch ($jenisSidang) { + case 'Sidang': $btnLihatBerkas = '
  • + + Lihat Berkas + +
  • '; break; + case 'SidHas': $btnLihatBerkas = '
  • + + Lihat Berkas + +
  • '; break; + case 'Outline': $btnLihatBerkas = '
  • + + Lihat Berkas + +
  • '; break; + } + $tombolaksi = '
    + + + + +
    '; + + $row[3] = $tombolaksi; + + $output['aaData'][] = $row; + // print_r($row); + } + + echo json_encode($output); diff --git a/admin/page/manajemendata/_getjurusan.php b/admin/page/manajemendata/_getjurusan.php new file mode 100644 index 0000000..5cacb85 --- /dev/null +++ b/admin/page/manajemendata/_getjurusan.php @@ -0,0 +1,26 @@ +runQuery($q); + if($db->dbRows()>0){ + echo ''; + while($r=$db->dbFetch()){ + echo ''; + } + }else{ + echo ''; + } + break; + } +} + +?> \ No newline at end of file diff --git a/admin/page/manajemendata/act.data-dosen.php b/admin/page/manajemendata/act.data-dosen.php new file mode 100644 index 0000000..0da0184 --- /dev/null +++ b/admin/page/manajemendata/act.data-dosen.php @@ -0,0 +1,280 @@ +false,"msg"=>"File gambar yang didukung hanya *.jpg,*.png,*.gif")); + exit; + + break; + } + + list($CurWidth,$CurHeight)=getimagesize($TempSrc); + //Get file extension from Image name, this will be re-added after random name + $ImageExt = substr($ImageName, strrpos($ImageName, '.')); + $ImageExt = str_replace('.','',$ImageExt); + + $ImageName = "dosen"; + + $NewImageName = $ImageName.'_'.$RandomNumber.'.'.$ImageExt; + $thumb_DestRandImageName = $DestinationDirectory.$NewImageName; //Thumb name + + if(!resizeImage($CurWidth,$CurHeight,$BigImageMaxSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType)) + { + echo json_encode(array("result"=>false,"msg"=>"Upload Gambar gagal")); + exit; + }else{ + $msg="Data Dosen telah ditambahkan."; + + if($_SESSION['login-admin']['lvl']=='S'){ + $prodi="idProdi='".$_POST['prodi']."',"; + }else{ + $prodi="idProdi='".$_SESSION['login-admin']['prodi']."',"; + } + + $query="INSERT into tbdosen + SET + nip='".$_POST['nip_dosen']."', + nmLengkap='".$_POST['nmLengkap']."', + password='".md5(trim($_POST['password']))."', + email='".$_POST['email']."', + nohp='".$_POST['nohp']."', + $prodi + jenis='".$_POST['jabatan']."', + foto='".$NewImageName."', + status='A' + "; + } + + } + + if($db->runQuery($query)){ + echo json_encode(array("result"=>true,"msg"=>$msg)); + }else{ + if($_POST['slider']=="Y"){ + @unlink($DestRandImageName); + @unlink($thumb_DestRandImageName); + } + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DbError")); + exit; + } + break; + + case 'update': + $id=$_POST['dosen']; + if(ctype_digit($id)){ + if(!isset($_FILES['foto']) || !is_uploaded_file($_FILES['foto']['tmp_name'])){ + if($_SESSION['login-admin']['lvl']=='S'){ + $prodi="idProdi='".$_POST['prodi']."', "; + }else{ + $prodi="idProdi='".$_SESSION['login-admin']['prodi']."', "; + } + + if($_POST['password']!=""){ + $pass="password='".md5(trim($_POST['password']))."', "; + }else{ + $pass=""; + } + $msg="Data Dosen telah diupdate."; + + $queryupdate="UPDATE tbdosen + SET + nip='".$_POST['nip_dosen']."', + nmLengkap='".$_POST['nmLengkap']."', + $pass + email='".$_POST['email']."', + nohp='".$_POST['nohp']."', + $prodi + jenis='".$_POST['jabatan']."' + WHERE iddosen='$id' + "; + + }else{ + + $ThumbSquareSize = 200; //Thumbnail will be 150x150 + $BigImageMaxSize = 200; //Image Maximum height or width + $ThumbPrefix = "thumb_"; //Normal thumb Prefix + $DestinationDirectory = DIR_GAMBAR; //Upload Directory ends with / (slash) + $Quality = 90; + + $RandomNumber = rand(0, 9999999999); + + $ImageName = str_replace(' ','-',strtolower($_FILES['foto']['name'])); + $ImageSize = $_FILES['foto']['size']; // Obtain original image size + $TempSrc = $_FILES['foto']['tmp_name']; // Tmp name of image file stored in PHP tmp folder + $ImageType = $_FILES['foto']['type']; //Obtain file type, returns "image/png", image/jpeg, text/plain etc. + + switch(strtolower($ImageType)) + { + case 'image/png': + $CreatedImage = imagecreatefrompng($_FILES['foto']['tmp_name']); + break; + case 'image/gif': + $CreatedImage = imagecreatefromgif($_FILES['foto']['tmp_name']); + break; + case 'image/jpeg': + case 'image/pjpeg': + $CreatedImage = imagecreatefromjpeg($_FILES['foto']['tmp_name']); + break; + default: + echo json_encode(array("result"=>false,"msg"=>"File gambar yang didukung hanya *.jpg,*.png,*.gif")); + exit; + + break; + } + + list($CurWidth,$CurHeight)=getimagesize($TempSrc); + $ImageExt = substr($ImageName, strrpos($ImageName, '.')); + $ImageExt = str_replace('.','',$ImageExt); + + $ImageName = "dosen"; + + $NewImageName = $ImageName.'_'.$RandomNumber.'.'.$ImageExt; + $thumb_DestRandImageName = $DestinationDirectory.$NewImageName; //Thumb name + if(!resizeImage($CurWidth,$CurHeight,$BigImageMaxSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType)) + { + echo json_encode(array("result"=>false,"msg"=>"Upload Gambar gagal")); + exit; + + }else{ + $msg="Data Dosen telah diupdate."; + if($_SESSION['login-admin']['lvl']=='S'){ + $prodi="idProdi='".$_POST['prodi']."',"; + }else{ + $prodi="idProdi='".$_SESSION['login-admin']['prodi']."',"; + } + + if($_POST['password']==""){ + $pass="password='".md5(trim($_POST['password']))."', "; + }else{ + $pass=""; + } + + $queryupdate="UPDATE tbdosen + SET + nip='".$_POST['nip_dosen']."', + nmLengkap='".$_POST['nmLengkap']."', + $pass + email='".$_POST['email']."', + nohp='".$_POST['nohp']."', + $prodi + foto='".$NewImageName."', + jenis='".$_POST['jabatan']."' + WHERE iddosen='$id' + "; + @unlink(DIR_GAMBAR.$_POST['img']); + } + } + if($db->runQuery($queryupdate)){ + echo json_encode(array("result"=>true,"msg"=>$msg)); + + }else{ + if($_POST['slider']=="Y"){ + @unlink($DestRandImageName); + @unlink($thumb_DestRandImageName); + } + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DbError")); + exit; + } + } + + break; + + case 'hapusdosen': + $id=$_POST['iddosen']; + if(ctype_digit($id)){ + $hapus="DELETE FROM tbdosen WHERE iddosen='$id'"; + if($db->runQuery($hapus)){ + echo json_encode(array("result"=>true,"msg"=>"Data Dosen telah dihapus.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + + case 'enable': + $id=$_POST['id']; + if(ctype_digit($id)){ + $enable="UPDATE tbdosen SET status='A' WHERE iddosen='$id'"; + if($db->runQuery($enable)){ + echo json_encode(array("result"=>true,"msg"=>"Akun sudah diaktifkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal.")); + } + } + break; + + case 'disable': + $id=$_POST['id']; + if(ctype_digit($id)){ + $enable="UPDATE tbdosen SET status='N' WHERE iddosen='$id'"; + if($db->runQuery($enable)){ + echo json_encode(array("result"=>true,"msg"=>"Akun sudah dinonaktifkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal.")); + } + } + break; + } +} +} +?> \ No newline at end of file diff --git a/admin/page/manajemendata/act.data-fakultas.php b/admin/page/manajemendata/act.data-fakultas.php new file mode 100644 index 0000000..c2967bd --- /dev/null +++ b/admin/page/manajemendata/act.data-fakultas.php @@ -0,0 +1,51 @@ +runQuery($insert)){ + echo json_encode(array("result"=>true,"msg"=>"Data Fakultas baru berhasil ditambahkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DBERROR.")); + } + break; + + case 'update': + $id=$_POST['idFak']; + if(ctype_alpha($id)){ + $update="UPDATE tbfakultas SET + nmFakultas='".$_POST['nmFakultas']."' WHERE idFak='$id'"; + //echo $update; + if($db->runQuery($update)){ + echo json_encode(array("result"=>true,"msg"=>"Data Fakultas telah diupdate.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi update Gagal DBERROR.")); + } + } + break; + + case 'hapusfak': + $id=$_POST['idFak']; + if(ctype_alpha($id)){ + $hapus="DELETE FROM tbfakultas WHERE idFak='$id'"; + if($db->runQuery($hapus)){ + echo json_encode(array("result"=>true,"msg"=>"Data Fakultas telah dihapus.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + } +} +?> \ No newline at end of file diff --git a/admin/page/manajemendata/act.data-jurusan.php b/admin/page/manajemendata/act.data-jurusan.php new file mode 100644 index 0000000..9aae6d8 --- /dev/null +++ b/admin/page/manajemendata/act.data-jurusan.php @@ -0,0 +1,52 @@ +runQuery($insert)){ + echo json_encode(array("result"=>true,"msg"=>"Data Jurusan berhasil ditambahkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DBERROR.")); + } + break; + + case 'update': + $id=$_POST['idJur']; + if(ctype_digit($id)){ + $update="UPDATE tbjurusan SET + idFak='".$_POST['idFak']."', + nmJurusan='".$_POST['nmJurusan']."' WHERE idJur='$id'"; + //echo $update; + if($db->runQuery($update)){ + echo json_encode(array("result"=>true,"msg"=>"Data Jurusan telah diupdate.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi update Gagal DBERROR.")); + } + } + break; + + case 'hapusjur': + $id=$_POST['idJur']; + if(ctype_digit($id)){ + $hapus="DELETE FROM tbjurusan WHERE idJur='$id'"; + if($db->runQuery($hapus)){ + echo json_encode(array("result"=>true,"msg"=>"Data Jurusan telah dihapus.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + } +} +?> \ No newline at end of file diff --git a/admin/page/manajemendata/act.data-kk.php b/admin/page/manajemendata/act.data-kk.php new file mode 100644 index 0000000..da48016 --- /dev/null +++ b/admin/page/manajemendata/act.data-kk.php @@ -0,0 +1,55 @@ +runQuery($insert)) { + echo json_encode(['result' => true, 'msg' => 'Data Kelompok Keahlian baru berhasil ditambahkan.']); + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal DBERROR.']); + } + break; + + case 'update': + $id = $_POST['idKK']; + if (ctype_digit($id)) { + $update = "UPDATE tb_kelompok_keahlian SET + namaKK='".$_POST['namaKK']."', + ketuaKK='".$_POST['ketuaKK']."', + sekretarisKK='".$_POST['sekretarisKK']."' + WHERE idKK='$id'"; + //echo $update; + if ($db->runQuery($update)) { + echo json_encode(['result' => true, 'msg' => 'Data Kelompok Keahlian telah diupdate.']); + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi update Gagal DBERROR.']); + } + } + break; + + case 'hapuskk': + $id = $_POST['idKK']; + if (ctype_digit($id)) { + $hapus = "DELETE FROM tb_kelompok_keahlian WHERE idKK='$id'"; + if ($db->runQuery($hapus)) { + echo json_encode(['result' => true, 'msg' => 'Data Kelompok Keahlian telah dihapus.']); + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi gagal DBERROR.']); + } + } + break; + } +} diff --git a/admin/page/manajemendata/act.data-mhs.php b/admin/page/manajemendata/act.data-mhs.php new file mode 100644 index 0000000..f35dd76 --- /dev/null +++ b/admin/page/manajemendata/act.data-mhs.php @@ -0,0 +1,279 @@ +false,"msg"=>"File gambar yang didukung hanya *.jpg,*.png,*.gif")); + exit; + + break; + } + + list($CurWidth,$CurHeight)=getimagesize($TempSrc); + //Get file extension from Image name, this will be re-added after random name + $ImageExt = substr($ImageName, strrpos($ImageName, '.')); + $ImageExt = str_replace('.','',$ImageExt); + + $ImageName = "dosen"; + + $NewImageName = $ImageName.'_'.$RandomNumber.'.'.$ImageExt; + $thumb_DestRandImageName = $DestinationDirectory.$NewImageName; //Thumb name + + if(!resizeImage($CurWidth,$CurHeight,$BigImageMaxSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType)) + { + echo json_encode(array("result"=>false,"msg"=>"Upload Gambar gagal")); + exit; + }else{ + $msg="Data Mahasiswa telah ditambahkan."; + + if($_SESSION['login-admin']['lvl']=='S'){ + $prodi="idProdi='".$_POST['prodi']."',"; + }else{ + $prodi="idProdi='".$_SESSION['login-admin']['prodi']."',"; + } + + $query="INSERT into tbmhs + SET + nim='".$_POST['nim']."', + nmLengkap='".$_POST['nmLengkap']."', + password='".md5(trim($_POST['password']))."', + email='".$_POST['email']."', + $prodi + thnmasuk='".$_POST['thnmasuk']."', + foto='".$NewImageName."', + status='A' + "; + } + + } + + if($db->runQuery($query)){ + echo json_encode(array("result"=>true,"msg"=>$msg)); + }else{ + //if($_POST['slider']=="Y"){ + @unlink($DestRandImageName); + @unlink($thumb_DestRandImageName); + //} + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DbError")); + exit; + } + break; + + case 'update': + $id=$_POST['mhs']; + if(ctype_digit($id)){ + if(!isset($_FILES['foto']) || !is_uploaded_file($_FILES['foto']['tmp_name'])){ + if($_SESSION['login-admin']['lvl']=='S'){ + $prodi="idProdi='".$_POST['prodi']."',"; + }else{ + $prodi="idProdi='".$_SESSION['login-admin']['prodi']."',"; + } + + if($_POST['password']!=""){ + $pass="password='".md5(trim($_POST['password']))."', "; + }else{ + $pass=""; + } + $msg="Data Mahasiswa telah diupdate."; + + $queryupdate="UPDATE tbmhs + SET + nim='".$_POST['nim']."', + nmLengkap='".$_POST['nmLengkap']."', + $pass + email='".$_POST['email']."', + $prodi + thnmasuk='".$_POST['thnmasuk']."', + bolehUploadDraft = '".$_POST['dropdownBolehUpload']."', + status='A' + WHERE idmhs='$id' + "; + + }else{ + + $ThumbSquareSize = 200; //Thumbnail will be 150x150 + $BigImageMaxSize = 200; //Image Maximum height or width + $ThumbPrefix = "thumb_"; //Normal thumb Prefix + $DestinationDirectory = DIR_GAMBAR; //Upload Directory ends with / (slash) + $Quality = 90; + + $RandomNumber = rand(0, 9999999999); + + $ImageName = str_replace(' ','-',strtolower($_FILES['foto']['name'])); + $ImageSize = $_FILES['foto']['size']; // Obtain original image size + $TempSrc = $_FILES['foto']['tmp_name']; // Tmp name of image file stored in PHP tmp folder + $ImageType = $_FILES['foto']['type']; //Obtain file type, returns "image/png", image/jpeg, text/plain etc. + + switch(strtolower($ImageType)) + { + case 'image/png': + $CreatedImage = imagecreatefrompng($_FILES['foto']['tmp_name']); + break; + case 'image/gif': + $CreatedImage = imagecreatefromgif($_FILES['foto']['tmp_name']); + break; + case 'image/jpeg': + case 'image/pjpeg': + $CreatedImage = imagecreatefromjpeg($_FILES['foto']['tmp_name']); + break; + default: + echo json_encode(array("result"=>false,"msg"=>"File gambar yang didukung hanya *.jpg,*.png,*.gif")); + exit; + + break; + } + + list($CurWidth,$CurHeight)=getimagesize($TempSrc); + $ImageExt = substr($ImageName, strrpos($ImageName, '.')); + $ImageExt = str_replace('.','',$ImageExt); + + $ImageName = "mhs"; + + $NewImageName = $ImageName.'_'.$RandomNumber.'.'.$ImageExt; + $thumb_DestRandImageName = $DestinationDirectory.$NewImageName; //Thumb name + if(!resizeImage($CurWidth,$CurHeight,$BigImageMaxSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType)) + { + echo json_encode(array("result"=>false,"msg"=>"Upload Gambar gagal")); + exit; + + }else{ + $msg="Data Mahasiswa telah diupdate."; + if($_SESSION['login-admin']['lvl']=='S'){ + $prodi="idProdi='".$_POST['prodi']."',"; + }else{ + $prodi="idProdi='".$_SESSION['login-admin']['prodi']."',"; + } + + if($_POST['password']!=""){ + $pass="password='".md5(trim($_POST['password']))."', "; + }else{ + $pass=""; + } + + $queryupdate="UPDATE tbmhs + SET + nim='".$_POST['nim']."', + nmLengkap='".$_POST['nmLengkap']."', + $pass + email='".$_POST['email']."', + $prodi + thnmasuk='".$_POST['thnmasuk']."', + foto='".$NewImageName."', + status='A' + WHERE idmhs='$id' + "; + @unlink(DIR_GAMBAR.$_POST['img']); + } + } + if($db->runQuery($queryupdate)){ + echo json_encode(array("result"=>true,"msg"=>$msg)); + + }else{ + //if($_POST['slider']=="Y"){ + @unlink($DestRandImageName); + @unlink($thumb_DestRandImageName); + //} + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DbError")); + exit; + } + } + + break; + + case 'hapusmhs': + $id=$_POST['idmhs']; + if(ctype_digit($id)){ + $hapus="DELETE FROM tbmhs WHERE idmhs='$id'"; + if($db->runQuery($hapus)){ + echo json_encode(array("result"=>true,"msg"=>"Data Mahasiswa telah dihapus.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + + case 'enable': + $id=$_POST['id']; + if(ctype_digit($id)){ + $enable="UPDATE tbmhs SET status='A' WHERE idmhs='$id'"; + if($db->runQuery($enable)){ + echo json_encode(array("result"=>true,"msg"=>"Akun sudah diaktifkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal.")); + } + } + break; + + case 'disable': + $id=$_POST['id']; + if(ctype_digit($id)){ + $enable="UPDATE tbmhs SET status='N' WHERE idmhs='$id'"; + if($db->runQuery($enable)){ + echo json_encode(array("result"=>true,"msg"=>"Akun sudah dinonaktifkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal.")); + } + } + break; + } +} +} +?> \ No newline at end of file diff --git a/admin/page/manajemendata/act.data-prodi.php b/admin/page/manajemendata/act.data-prodi.php new file mode 100644 index 0000000..fb9e26c --- /dev/null +++ b/admin/page/manajemendata/act.data-prodi.php @@ -0,0 +1,54 @@ +runQuery($insert)){ + echo json_encode(array("result"=>true,"msg"=>"Data Program Studi baru berhasil ditambahkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DBERROR.")); + } + break; + + case 'update': + $id=$_POST['idProdi']; + if(ctype_digit($id)){ + $update="UPDATE tbprodi SET + idFak='".$_POST['idFak']."', + idJur='".$_POST['idJur']."', + nmProdi='".$_POST['nmProdi']."' WHERE idProdi='$id'"; + //echo $update; + if($db->runQuery($update)){ + echo json_encode(array("result"=>true,"msg"=>"Data Fakultas telah diupdate.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi update Gagal DBERROR.")); + } + } + break; + + case 'hapusprodi': + $id=$_POST['idProdi']; + if(ctype_digit($id)){ + $hapus="DELETE FROM tbprodi WHERE idProdi='$id'"; + if($db->runQuery($hapus)){ + echo json_encode(array("result"=>true,"msg"=>"Data Program Studi telah dihapus.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + } +} +?> \ No newline at end of file diff --git a/admin/page/manajemendata/checkkodefakultas.php b/admin/page/manajemendata/checkkodefakultas.php new file mode 100644 index 0000000..b813049 --- /dev/null +++ b/admin/page/manajemendata/checkkodefakultas.php @@ -0,0 +1,16 @@ +runQuery("SELECT idFak FROM tbfakultas WHERE idFak='".$_POST['idFak']."' LIMIT 1"); + if($db->dbRows()>0){ + echo "false"; + }else{ + echo "true"; + } + } +?> \ No newline at end of file diff --git a/admin/page/manajemendata/checknim.php b/admin/page/manajemendata/checknim.php new file mode 100644 index 0000000..201f83b --- /dev/null +++ b/admin/page/manajemendata/checknim.php @@ -0,0 +1,16 @@ +runQuery("SELECT idmhs FROM tbmhs WHERE nim='".$_POST['nim']."' LIMIT 1"); + if($db->dbRows()>0){ + echo "false"; + }else{ + echo "true"; + } + } +?> \ No newline at end of file diff --git a/admin/page/manajemendata/checknipdosen.php b/admin/page/manajemendata/checknipdosen.php new file mode 100644 index 0000000..5c933d3 --- /dev/null +++ b/admin/page/manajemendata/checknipdosen.php @@ -0,0 +1,16 @@ +runQuery("SELECT iddosen FROM tbdosen WHERE nip='".$_POST['nip_dosen']."' AND idProdi='".$_POST['prodi']."' LIMIT 1"); + if($db->dbRows()>0){ + echo "false"; + }else{ + echo "true"; + } + } +?> \ No newline at end of file diff --git a/admin/page/manajemendata/data-dosen.php b/admin/page/manajemendata/data-dosen.php new file mode 100644 index 0000000..4532a0d --- /dev/null +++ b/admin/page/manajemendata/data-dosen.php @@ -0,0 +1,337 @@ + + +
    +
    + + +
    +
    + + + + Tambah Data +
    +
    +
    + + + + + + + + Program Studi'; + } ?> + + + + + + + + +
    Nama LengkapNIPEmailAksi
    " class="dataTables_empty">Loading data from server
    + + +
    +
    + +
    + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    + +
    + + +
    + +
    + + +
    +
    +
    +
    +
    + +
    +
    +
    +runQuery($e); + if($db->dbRows()>0){ + $edit=$db->dbFetch(); + ?> +
    + + + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    + +
    + + +
    + +
    + +
    + +

    + +
    +
    +
    +
    +
    + +
    +
    +
    + + + \ No newline at end of file diff --git a/admin/page/manajemendata/data-fakultas.php b/admin/page/manajemendata/data-fakultas.php new file mode 100644 index 0000000..6d068c1 --- /dev/null +++ b/admin/page/manajemendata/data-fakultas.php @@ -0,0 +1,78 @@ + +
    +
    + + +
    +
    + Tambah Fakultas Baru +
    +
    +
    + + + + + + + + + + + + + + +
    Kode FakultasNama FakultasAksi
    Loading data from server
    + + +
    +
    + + + + + + + \ No newline at end of file diff --git a/admin/page/manajemendata/data-jurusan.php b/admin/page/manajemendata/data-jurusan.php new file mode 100644 index 0000000..28ba6ae --- /dev/null +++ b/admin/page/manajemendata/data-jurusan.php @@ -0,0 +1,79 @@ + +
    +
    + + +
    +
    + Tambah Jurusan Baru +
    +
    +
    + + + + + + + + + + + + + + + +
    Kode FakultasNama FakultasNama JurusanAksi
    Loading data from server
    + + +
    +
    + + + + + + + diff --git a/admin/page/manajemendata/data-kk.php b/admin/page/manajemendata/data-kk.php new file mode 100644 index 0000000..633823b --- /dev/null +++ b/admin/page/manajemendata/data-kk.php @@ -0,0 +1,216 @@ +runQuery($query); + +$listDosen = []; +while ($r = $db->dbFetch()) { + array_push($listDosen, [ + 'id' => $r['iddosen'], + 'nama' => $r['nmLengkap'], + ]); +} +?> +
    +
    + + +
    +
    + + + Tambah Data +
    +
    +
    + +
    + + + +
    +
    + +
    + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    + +
    +
    +
    +runQuery($e); + if ($db->dbRows() > 0) { + $edit = $db->dbFetch(); ?> +
    + + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + +
    +
    + + \ No newline at end of file diff --git a/admin/page/manajemendata/data-mahasiswa.php b/admin/page/manajemendata/data-mahasiswa.php new file mode 100644 index 0000000..8ca8c1b --- /dev/null +++ b/admin/page/manajemendata/data-mahasiswa.php @@ -0,0 +1,332 @@ + +
    +
    + + +
    +
    + + + Tambah Data +
    +
    +
    + + + + + + + + + Program Studi'; + } ?> + + + + + + + + +
    Nama LengkapNimAngkatanBoleh Upload Draft PraoutlineAksi
    " class="dataTables_empty">Loading data from server
    + + +
    +
    + +
    + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    + +
    + + +
    + +
    + + +
    +
    +
    +
    +
    + +
    +
    +
    +runQuery($e); + if($db->dbRows()>0){ + $edit=$db->dbFetch(); + ?> +
    + + + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    + +
    + + +
    + +
    + +
    + +

    + +
    +
    +
    +
    +
    + +
    +
    +
    + \ No newline at end of file diff --git a/admin/page/manajemendata/data-prodi.php b/admin/page/manajemendata/data-prodi.php new file mode 100644 index 0000000..7106671 --- /dev/null +++ b/admin/page/manajemendata/data-prodi.php @@ -0,0 +1,80 @@ + +
    +
    + + +
    +
    + Tambah Program Studi +
    +
    +
    + + + + + + + + + + + + + + + + +
    Kode FakultasNama FakultasNama JurusanNama Program StudiAksi
    Loading data from server
    + + +
    +
    + + + +
    + + + diff --git a/admin/page/manajemendata/data.php b/admin/page/manajemendata/data.php new file mode 100644 index 0000000..bc78e70 --- /dev/null +++ b/admin/page/manajemendata/data.php @@ -0,0 +1,31 @@ +location.href='".ADMIN_PAGE."dashboard.php?page=data&menu=data-mahasiswa'"; + break; +} diff --git a/admin/page/manajemendata/form-editfakultas.php b/admin/page/manajemendata/form-editfakultas.php new file mode 100644 index 0000000..dabf5ac --- /dev/null +++ b/admin/page/manajemendata/form-editfakultas.php @@ -0,0 +1,34 @@ +runQuery($query); + if($db->dbRows()>0){ + $e=$db->dbFetch(); + ?> + +
    + +
    + +
    +
    +
    + +
    + +
    +
    + + + diff --git a/admin/page/manajemendata/form-editjurusan.php b/admin/page/manajemendata/form-editjurusan.php new file mode 100644 index 0000000..49b1404 --- /dev/null +++ b/admin/page/manajemendata/form-editjurusan.php @@ -0,0 +1,49 @@ +runQuery($query); + if($db->dbRows()>0){ + $e=$db->dbFetch(); + ?> + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    + diff --git a/admin/page/manajemendata/form-editprodi.php b/admin/page/manajemendata/form-editprodi.php new file mode 100644 index 0000000..1fa4bfa --- /dev/null +++ b/admin/page/manajemendata/form-editprodi.php @@ -0,0 +1,72 @@ +runQuery($query); + if($db->dbRows()>0){ + $e=$db->dbFetch(); + ?> + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + diff --git a/admin/page/manajemendata/form-tambahfakultas.php b/admin/page/manajemendata/form-tambahfakultas.php new file mode 100644 index 0000000..a3ba8a9 --- /dev/null +++ b/admin/page/manajemendata/form-tambahfakultas.php @@ -0,0 +1,18 @@ + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    + \ No newline at end of file diff --git a/admin/page/manajemendata/form-tambahjurusan.php b/admin/page/manajemendata/form-tambahjurusan.php new file mode 100644 index 0000000..2e102f3 --- /dev/null +++ b/admin/page/manajemendata/form-tambahjurusan.php @@ -0,0 +1,34 @@ + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    + \ No newline at end of file diff --git a/admin/page/manajemendata/form-tambahprodi.php b/admin/page/manajemendata/form-tambahprodi.php new file mode 100644 index 0000000..e0e44aa --- /dev/null +++ b/admin/page/manajemendata/form-tambahprodi.php @@ -0,0 +1,42 @@ + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + \ No newline at end of file diff --git a/admin/page/manajemendata/list-data-kk.php b/admin/page/manajemendata/list-data-kk.php new file mode 100644 index 0000000..59a7a26 --- /dev/null +++ b/admin/page/manajemendata/list-data-kk.php @@ -0,0 +1,178 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result = $db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = ' + SELECT COUNT(idmhs) as total FROM tbmhs + '; + $db->runQuery($sQuery2); + $aResultTotal = $db->dbFetch(); + $iTotal = $aResultTotal['total']; + + $output = [ + 'sEcho' => intval($_GET['sEcho']), + 'iTotalRecords' => $iTotal, + 'iTotalDisplayRecords' => $iFilteredTotal, + 'aaData' => [], + ]; + + while ($aRow = $db->dbFetch($result)) { + //print_r($aRow); + $row = []; + + if ($aRow['status'] == 'N') { + $badge = ' - tidak aktif'; + $tombol = '
  • + + Aktifkan Akun + +
  • '; + } else { + $badge = ''; + $tombol = '
  • + + Nonaktifkan + +
  • '; + } + + $row[0] = $aRow['nmLengkap'].$badge; + $row[1] = $aRow['nim']; + $row[2] = $aRow['thnmasuk']; + $aksi = '
    + + + + +
    '; + if ($_SESSION['login-admin']['lvl'] == 'S') { + $row[3] = $aRow['nmProdi']; + $row[4] = $aksi; + } else { + $row[3] = $aksi; + } + + $output['aaData'][] = $row; + // print_r($row); + } + + echo json_encode($output); diff --git a/admin/page/manajemendata/list.data-dosen.php b/admin/page/manajemendata/list.data-dosen.php new file mode 100644 index 0000000..979cf68 --- /dev/null +++ b/admin/page/manajemendata/list.data-dosen.php @@ -0,0 +1,195 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(iddosen) as total FROM tbdosen + "; + $db->runQuery($sQuery2); + $aResultTotal = $db->dbFetch(); + $iTotal = $aResultTotal['total']; + + $output = array( + "sEcho" => intval($_GET['sEcho']), + "iTotalRecords" => $iTotal, + "iTotalDisplayRecords" => $iFilteredTotal, + "aaData" => array() + ); + + while ( $aRow = $db->dbFetch($result) ) + { + //print_r($aRow); + $row = array(); + + if($aRow['status']=="N"){ + $badge=' - tidak aktif'; + $tombol='
  • + + Aktifkan Akun + +
  • '; + }else{ + $badge=''; + $tombol='
  • + + Nonaktifkan + +
  • '; + } + + $row[0]=$aRow['nmLengkap'].$badge; + $row[1]=$aRow['nip']; + $row[2]=$aRow['email']; + $aksi='
    + + + + +
    '; + if($_SESSION['login-admin']['lvl']=='S'){ + $row[3]=$aRow['nmProdi']; + $row[4]=$aksi; + }else{ + $row[3]=$aksi; + } + + + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/manajemendata/list.data-fakultas.php b/admin/page/manajemendata/list.data-fakultas.php new file mode 100644 index 0000000..4d4e032 --- /dev/null +++ b/admin/page/manajemendata/list.data-fakultas.php @@ -0,0 +1,156 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(idFak) as total FROM tbfakultas + "; + $db->runQuery($sQuery2); + $aResultTotal = $db->dbFetch(); + $iTotal = $aResultTotal['total']; + + $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['idFak'].'
    '; + $row[1]=$aRow['nmFakultas']; + $aksi='
    + + + + +
    '; + $row[2]=$aksi; + + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/manajemendata/list.data-jurusan.php b/admin/page/manajemendata/list.data-jurusan.php new file mode 100644 index 0000000..9752b35 --- /dev/null +++ b/admin/page/manajemendata/list.data-jurusan.php @@ -0,0 +1,157 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(tj.idJur) as total FROM tbjurusan tj LEFT JOIN tbfakultas tf ON (tf.idFak=tj.idFak) + "; + $db->runQuery($sQuery2); + $aResultTotal = $db->dbFetch(); + $iTotal = $aResultTotal['total']; + + $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['idFak'].'
    '; + $row[1]='
    '.$aRow['nmFakultas'].'
    '; + $row[2]=$aRow['nmJurusan']; + $aksi='
    + + + + +
    '; + $row[3]=$aksi; + + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/manajemendata/list.data-mahasiswa.php b/admin/page/manajemendata/list.data-mahasiswa.php new file mode 100644 index 0000000..f56bf7a --- /dev/null +++ b/admin/page/manajemendata/list.data-mahasiswa.php @@ -0,0 +1,204 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(idmhs) as total FROM tbmhs + "; + $db->runQuery($sQuery2); + $aResultTotal = $db->dbFetch(); + $iTotal = $aResultTotal['total']; + + $output = array( + "sEcho" => intval($_GET['sEcho']), + "iTotalRecords" => $iTotal, + "iTotalDisplayRecords" => $iFilteredTotal, + "aaData" => array() + ); + + while ( $aRow = $db->dbFetch($result) ) + { + //print_r($aRow); + $row = array(); + + if($aRow['status']=="N"){ + $badge=' - tidak aktif'; + $tombol='
  • + + Aktifkan Akun + +
  • '; + }else{ + $badge=''; + $tombol='
  • + + Nonaktifkan + +
  • '; + } + + $row[0]=$aRow['nmLengkap'].$badge; + $row[1]=$aRow['nim']; + $row[2]=$aRow['thnmasuk']; + + $bolehUploadDraft = $aRow['bolehUploadDraft']; + $labelBolehUpload = ''; + + if($bolehUploadDraft == "1"){ + $labelBolehUpload = ''; + } + + $row[3]= $labelBolehUpload; + $aksi='
    + + + + +
    '; + if($_SESSION['login-admin']['lvl']=='S'){ + $row[4]=$aRow['nmProdi']; + $row[5]=$aksi; + }else{ + $row[4]=$aksi; + } + + + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/manajemendata/list.data-prodi.php b/admin/page/manajemendata/list.data-prodi.php new file mode 100644 index 0000000..ab5bbc9 --- /dev/null +++ b/admin/page/manajemendata/list.data-prodi.php @@ -0,0 +1,161 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(tp.idProdi) as total FROM tbprodi tp + LEFT JOIN tbjurusan tj ON (tp.idJur=tj.idJur) + LEFT JOIN tbfakultas tf ON (tp.idFak=tf.idFak) + "; + $db->runQuery($sQuery2); + $aResultTotal = $db->dbFetch(); + $iTotal = $aResultTotal['total']; + + $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['idFak'].'
    '; + $row[1]='
    '.$aRow['nmFakultas'].'
    '; + $row[2]='
    '.$aRow['nmJurusan'].'
    '; + $row[3]=$aRow['nmProdi']; + $aksi='
    + + + + +
    '; + $row[4]=$aksi; + + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/pengaturan/act.pengaturan.php b/admin/page/pengaturan/act.pengaturan.php new file mode 100644 index 0000000..be543d1 --- /dev/null +++ b/admin/page/pengaturan/act.pengaturan.php @@ -0,0 +1,44 @@ +false,"msg"=>"Request Not Found")); + break; + + case 'simpan': + $idprodi=$_SESSION['login-admin']['prodi']; + $semester=$_POST['smt']; + $thnajaran=$_POST['thn_ajaran']; + $minsetuju=$_POST['min_setuju']; + + $c="SELECT * FROM web_setting WHERE idProdi='$idprodi'"; + $db->runQuery($c); + if($db->dbRows()>0){ + $p="UPDATE web_setting SET `values`='$semester' WHERE name='smt' AND idProdi='$idprodi';"; + $q="UPDATE web_setting SET `values`='$thnajaran' WHERE name='thn_ajaran' AND idProdi='$idprodi';"; + $r="UPDATE web_setting SET `values`='$minsetuju' WHERE name='min_close' AND idProdi='$idprodi';"; + }else{ + $p="INSERT INTO web_setting SET `values`='$semester', name='smt', idProdi='$idprodi';"; + $q="INSERT INTO web_setting SET `values`='$thnajaran', name='thn_ajaran', idProdi='$idprodi';"; + $r="INSERT INTO web_setting SET `values`='$minsetuju', name='min_close', idProdi='$idprodi';"; + } + + /*echo $p; + echo $q; + echo $r;*/ + if($db->runQuery($p) AND $db->runQuery($q) AND $db->runQuery($r)){ + echo json_encode(array("result"=>true,"msg"=>"Pengaturan Disimpan")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal, DBError")); + } + break; + } +} +?> \ No newline at end of file diff --git a/admin/page/pengaturan/pengaturan.php b/admin/page/pengaturan/pengaturan.php new file mode 100644 index 0000000..8b151f2 --- /dev/null +++ b/admin/page/pengaturan/pengaturan.php @@ -0,0 +1,86 @@ + +
    +
    + + +
    +
    +runQuery($conf); +$smt=""; +$thnajaran=""; +$min_setuju=""; +if($db->dbRows()>0){ + while($p=$db->dbFetch()){ + switch($p['name']){ + case 'smt': + $smt=$p['values']; + break; + + case 'thn_ajaran'; + $thnajaran=$p['values']; + break; + + case 'min_close': + $min_setuju=$p['values']; + break; + } + } +} + +?> +
    +
    +
    + +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    +
    +
    +
    + \ No newline at end of file diff --git a/admin/page/pengumuman/act.pengumuman.php b/admin/page/pengumuman/act.pengumuman.php new file mode 100644 index 0000000..724425f --- /dev/null +++ b/admin/page/pengumuman/act.pengumuman.php @@ -0,0 +1,66 @@ +runQuery("INSERT INTO tbpengumuman SET idProdi='{$_SESSION['login-admin']['prodi']}',judul='{$_POST['judul']}',isi='{$_POST['isi_pengumuman']}', tujuan='{$_POST['tujuan']}', tgl='".NOW."', author='{$_SESSION['login-admin']['id']}',publish='".$publish."' "); + if($in){ + echo json_encode(array("result"=>true,"msg"=>"Pengumuman Berhasil Ditambahkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal")); + } + break; + + case 'update': + $idpengumuman=$_POST['pengumuman']; + if(ctype_digit($idpengumuman)){ + $sql="UPDATE tbpengumuman SET judul='{$_POST['judul']}',isi='{$_POST['isi_pengumuman']}', tujuan='{$_POST['tujuan']}', publish='".$publish."' WHERE id='$idpengumuman'"; + if($db->runQuery($sql)){ + echo json_encode(array("result"=>true,"msg"=>"Pengumuman Berhasil Update.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal")); + } + }else{ + echo json_encode(array("result"=>false,"msg"=>"Invalid ID")); + } + break; + + case 'hapuspengumuman': + $idpengumuman=$_POST['pengumuman']; + if(ctype_digit($idpengumuman)){ + if($db->runQuery("DELETE FROM tbpengumuman WHERE id='$idpengumuman'")){ + echo json_encode(array("result"=>true,"msg"=>"Pengumuman Berhasil Dihapus.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal")); + } + }else{ + echo json_encode(array("result"=>false,"msg"=>"Invalid ID")); + } + break; + + case 'publish': + if(ctype_digit($_POST['idpengumuman'])){ + if($db->runQuery("UPDATE tbpengumuman SET publish='Y' WHERE id='{$_POST['idpengumuman']}'")){ + echo json_encode(array("result"=>true,"msg"=>"Pengumuman Berhasil Diterbitkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal")); + } + }else{ + echo json_encode(array("result"=>false,"msg"=>"Invalid ID")); + } + break; + + } + } +} \ No newline at end of file diff --git a/admin/page/pengumuman/buat-pengumuman.php b/admin/page/pengumuman/buat-pengumuman.php new file mode 100644 index 0000000..2f7afea --- /dev/null +++ b/admin/page/pengumuman/buat-pengumuman.php @@ -0,0 +1,67 @@ + +
    +
    + + +
    +
    + +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + + +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/admin/page/pengumuman/daftar-pengumuman.php b/admin/page/pengumuman/daftar-pengumuman.php new file mode 100644 index 0000000..b4d5c42 --- /dev/null +++ b/admin/page/pengumuman/daftar-pengumuman.php @@ -0,0 +1,44 @@ + +
    +
    + + +
    +
    +
    +
    + + + + + + + + + + + + + + + +
    PengumumanKepadaTanggalAksi
    Loading data from server
    + + +
    +
    \ No newline at end of file diff --git a/admin/page/pengumuman/edit-pengumuman.php b/admin/page/pengumuman/edit-pengumuman.php new file mode 100644 index 0000000..4e2b7f6 --- /dev/null +++ b/admin/page/pengumuman/edit-pengumuman.php @@ -0,0 +1,84 @@ + +
    +
    + + +
    +
    +runQuery($query); + if($db->dbRows()>0){ + $b=$db->dbFetch(); + ?> +
    + + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + + +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/admin/page/pengumuman/list.daftar-pengumuman.php b/admin/page/pengumuman/list.daftar-pengumuman.php new file mode 100644 index 0000000..2f6740f --- /dev/null +++ b/admin/page/pengumuman/list.daftar-pengumuman.php @@ -0,0 +1,191 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(tp.id) as total FROM $sTable $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); + $row = array(); + $tujuan=""; + if($aRow['publish']=="N"){ + $publish=" -draft "; + $terbit='
  • + + Terbitkan + +
  • '; + $tombol="btn-warning"; + }else{ + + if($aRow['slide']=='Y'){ + $publish=' - Slider '; + }else{ + $publish=""; + } + + $terbit=""; + $tombol="btn-primary"; + } + switch($aRow['tujuan']){ + case 'A': + $tujuan="Semua"; + break; + case 'D': + $tujuan="Dosen"; + break; + case 'M': + $tujuan="Mahasiswa"; + break; + } + + $row[0]=$aRow['judul'].$publish; + $row[1]=$tujuan; + $row[2]=tanggalIndo($aRow['tgl'],'j F Y, H:i'); + $tombolaksi='
    + + + + +
    '; + + $row[3]=$tombolaksi; + + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/pengumuman/pengumuman.php b/admin/page/pengumuman/pengumuman.php new file mode 100644 index 0000000..2cc24e1 --- /dev/null +++ b/admin/page/pengumuman/pengumuman.php @@ -0,0 +1,19 @@ +location.href='".ADMIN_PAGE."dashboard.php?page=pengumuman&menu=daftar-pengumuman'"; + break; +} +?> \ No newline at end of file diff --git a/admin/page/praoutline/act.praoutline.php b/admin/page/praoutline/act.praoutline.php new file mode 100644 index 0000000..2f08042 --- /dev/null +++ b/admin/page/praoutline/act.praoutline.php @@ -0,0 +1,626 @@ +runQuery($cari); + if($db->dbRows()>0){ + ?> +

    Hasil Pencarian ''

    +
    + dbFetch()){ + if($rcari['status_usulan']==0){ + $statusPraoutline=' - Dalam Proses'; + }else if($rcari['status_usulan']==1){ + $statusPraoutline=' - Judul Diterima'; + }else if($rcari['status_usulan']==2){ + $statusPraoutline=' - Judul Ditolak'; + }else if($rcari['status_usulan']==3){ + $statusPraoutline=' - Judul Gugur'; + } + ?> +
    +
    +

    + +
    +
    +

    Oleh - Download File

    +
    +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + runQuery($kep_final); + if($db2->dbRows()>0){ + $kep=$db2->dbFetch(); + ?> +
    + +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    + + Catatan
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + } + + break; + + case '2': + break; + } + ?> +
    + + + + + Maaf! Data Tidak Ditemukan.. + '; + } + break; + + case 'open_judul': + $idpraoutline=$_POST['idpr']; + $q1="DELETE FROM tbrekaphasil WHERE idpraoutline='".$idpraoutline."'"; + $q2="UPDATE tbpraoutline SET status_usulan='0' WHERE id='".$idpraoutline."' "; + if($db->runQuery($q1)){ + echo json_encode(array("result"=>true,"msg"=>"Review Draft Praoutline Telah Dibuka Kembali.")); + $db->runQuery($q2); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal.")); + } + break; + + case 'update_putusan': + $idpraoutline=$_POST['idpr']; + $idputusan=$_POST['idputusan']; + $nim=$_POST['nim']; + $putusan=$_POST['putusan']; + $keterangan=$_POST['ket']; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + while ($r = $db->dbFetch()) { + $idMhs = $r['idmhs']; + $namaMahasiswa = $r['nmLengkap']; + $noHPMahasiswa = $r['noHP']; + $namaMahasiswa = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $dataMahasiswa = [ + 'nim' => $r['nim'], + 'nama' => $r['nmLengkap'], + 'email'=> $r['email'], + 'hp' => $r['noHP'], + 'urlFoto' => $foto, + ]; + } + + $g = "SELECT * FROM tbpraoutline LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + $namaKK = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + $idKelompokKeahlian = $r['kelompokKeahlian']; + $namaKK = $r['namaKK']; + if(empty($namaKK)){ + $namaKK = "-"; + } + } + + + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $pembimbing1 = null; + $pembimbing2 = null; + $penguji1 = null; + $penguji2 = null; + + switch ($putusan) { + case '1': + $q1="UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + judul_final='".$_POST['judul_final']."', + pemb1='".$_POST['pemb1']."', + pemb2='".$_POST['pemb2']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-admin']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan="Pemberitahuan Terbaru. Selamat, Draft Praoutline Yang Anda Ajukan Disetujui"; + break; + + case '2': + $q1="UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + pemb1='', + pemb2='', + peng1='', + peng2='', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-admin']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan="Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui"; + break; + + case '3': + $q1="UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + pemb1='', + pemb2='', + peng1='', + peng2='', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-admin']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan="Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Gugur"; + break; + } + + $g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."') OR jenis = 'K'"; + $db->runQuery($g); + + while ($r = $db->dbFetch()) { + $noHPDosen = $r['nohp']; + if ($r['nip'] == $_POST['pemb1']) { + $namaPemb1 = $r['nmLengkap']; + $noPemb1 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $pembimbing1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['pemb2']) { + $namaPemb2 = $r['nmLengkap']; + $noPemb2 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $pembimbing2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng1']) { + $namaPeng1 = $r['nmLengkap']; + $noPeng1 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $penguji1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng2']) { + $namaPeng2 = $r['nmLengkap']; + $noPeng2 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $penguji2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + } + + if($putusan == "1"){ + $dataPembimbing = [$pembimbing1, $pembimbing2]; + $dataPenguji = [$penguji1, $penguji2]; + if($penguji1 == null){ + $dataPenguji = []; + } + + $g = "SELECT * FROM tbrekaphasil WHERE id = '$idputusan'"; + $db->runQuery($g); + $smtSekarang = "-"; + $thnSekarang = "-"; + $tanggalKeputusanWilly = '-'; + $waktuKeputusanWilly = '-'; + + while ($r = $db->dbFetch()) { + $smtSekarang = $r['semester']; + $thnSekarang = $r['tahun_ajaran']; + $tanggalKeputusanWilly = $r['tgl_kep']; + $waktuKeputusanWilly = $r['wkt_kep']; + } + + $g = "SELECT * FROM tbjadwal WHERE idMhs = '$idMhs' ORDER BY start DESC LIMIT 1"; + $db->runQuery($g); + + $tipePengajuan = "Outline"; + while ($r = $db->dbFetch()) { + $tipePengajuan = $r['jenis']; + switch($tipePengajuan){ + case "Outline" : $tipePengajuan = 'SidHas'; break; + case "SidHas" : $tipePengajuan = 'Sidang'; break; + } + } + + + $postDataWilly = [ + 'id' => $idputusan, + 'judul' => $_POST['judul_final'], + 'kelompok_keahlian' => $namaKK, + 'token' => "spota_token_sinkronisasi_api", + ]; + + + $urlAPIWilly = 'https://edoxid.untan.ac.id/api/submission/update'; + $postDataWilly = json_encode($postDataWilly); + $opts = ['http' => + [ + 'method' => 'POST', + 'ignore_errors' => true, + 'header' => 'Content-Type: application/json', + 'content' => $postDataWilly, + + ], + "ssl"=>[ + "verify_peer"=>false, + "verify_peer_name"=>false, + ], + ]; + + $context = stream_context_create($opts); + $response = file_get_contents($urlAPIWilly, false, $context); + + $responseDecoded = json_decode($response, true); + $statusResponse = $responseDecoded['status']; + $g = "INSERT INTO tb_post_ke_doxid(postData, result, status) VALUES ('$postDataWilly','$response', '$statusResponse')"; + $db->runQuery($g); + } + + $q2="UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + if($db->runQuery($q1)){ + echo json_encode(array("result"=>true,"msg"=>"Update Putusan Draft Praoutline Sukses")); + $db->runQuery($q2); + $db->runQuery($notif); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal.")); + } + break; + + case 'close_judul': + /* + -insert data ke rekaphasil + -insert data ke notif_r + -update data ke tbpraoutline + hapus semua data notif_r konten yg sudah terbaca + */ + $idpraoutline=$_POST['idpr']; + $nim=$_POST['nim']; + $putusan=$_POST['putusan']; + $keterangan=$_POST['ket']; + switch ($putusan) { + case '1': + $q1="INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-admin']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + judul_final='".$_POST['judul_final']."', + pemb1='".$_POST['pemb1']."', + pemb2='".$_POST['pemb2']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-admin']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-admin']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-admin']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan="Selamat, Draft Praoutline Yang Anda Ajukan Disetujui"; + break; + + case '2': + $q1="INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-admin']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-admin']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-admin']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-admin']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan="Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui"; + break; + + case '3': + $q1="INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-admin']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-admin']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-admin']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-admin']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan="Maaf, Draft Praoutline Yang Anda Ajukan Gugur"; + break; + } + + $q2="UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + /*if($_POST['pemb1']!="" AND $_POST['pemb2']!="" AND $_POST['peng1']!="" AND $_POST['peng2']!="" ){*/ + if($db->runQuery($q1)){ + echo json_encode(array("result"=>true,"msg"=>"Putusan Draft Praoutline Sukses")); + $db->runQuery($q2); + $db->runQuery($notif); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal.")); + } + /*}else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal. Silakan Tentukan Dosen Pembimbing dan Penguji")); + exit(); + }*/ + + break; + + case 'reupload': + $nim=$_POST['nim']; + $idpraoutline=$_POST['prid']; + + //get old berkas + $old="SELECT berkas FROM tbpraoutline WHERE id='$idpraoutline' LIMIT 1"; + $db->runQuery($old); + $rold=$db->dbFetch(); + + $oldberkas=$rold['berkas']; + + if(!isset($_FILES['berkas']) || !is_uploaded_file($_FILES['berkas']['tmp_name'])){ + echo json_encode(array("result"=>false,"msg"=>"Pastikan File Sudah dipilih")); + exit; + }else{ + $dir=LAMPIRAN_FILE; + if(!is_dir($dir) && !@mkdir($dir, 0777, true) && !is_dir($dir)){ + echo json_encode(array("result"=>false,"msg"=>"Folder upload tidak tersedia.")); + exit; + } + + //$supportlist=array('pdf','zip','doc','docx'); + $namaberkas=$_FILES['berkas']['name']; + $type=$_FILES['berkas']['type']; + $tmpname=$_FILES['berkas']['tmp_name']; + $ext=get_ext($namaberkas); + + if($ext!='pdf'){ + echo json_encode(array("result"=>false,"msg"=>"Hanya Mendukung file pdf")); + exit; + } + + $pathfile=$dir."new_".$idpraoutline."-".$nim.".".$ext; + //echo $pathfile; + if (move_uploaded_file($tmpname,$pathfile)){ + $query="UPDATE tbpraoutline SET berkas='new_".$idpraoutline."-".$nim.".".$ext."' WHERE id='$idpraoutline'"; + //echo $query; + if(!$db->runQuery($query)){ + echo json_encode(array("result"=>false,"msg"=>"Upload Berkas Gagal DbError")); + @unlink($pathfile); + exit; + }else{ + echo json_encode(array("result"=>true,"msg"=>"Re-Upload Berkas Praoutline Berhasil")); + if($dir.$oldberkas!=$pathfile){ + @unlink($dir.$oldberkas); + } + } + }else{ + echo json_encode(array("result"=>false,"msg"=>"Upload Berkas Gagal")); + exit; + } + + } + break; + } +} +} +?> diff --git a/admin/page/praoutline/cari.php b/admin/page/praoutline/cari.php new file mode 100644 index 0000000..5e67299 --- /dev/null +++ b/admin/page/praoutline/cari.php @@ -0,0 +1,58 @@ + +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    + +
    +
    \ No newline at end of file diff --git a/admin/page/praoutline/daftar-praoutline.php b/admin/page/praoutline/daftar-praoutline.php new file mode 100644 index 0000000..49dc467 --- /dev/null +++ b/admin/page/praoutline/daftar-praoutline.php @@ -0,0 +1,55 @@ +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    + +
    +
    \ No newline at end of file diff --git a/admin/page/praoutline/form-reupload.php b/admin/page/praoutline/form-reupload.php new file mode 100644 index 0000000..8b56d95 --- /dev/null +++ b/admin/page/praoutline/form-reupload.php @@ -0,0 +1,67 @@ +
    +
    + + +
    +
    +runQuery($q); + $pra=$db->dbFetch(); +} +?> +
    + + +
    +
    +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + + Kembali +
    +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/admin/page/praoutline/judul-terbaru.php b/admin/page/praoutline/judul-terbaru.php new file mode 100644 index 0000000..c32e921 --- /dev/null +++ b/admin/page/praoutline/judul-terbaru.php @@ -0,0 +1,49 @@ + +
    +
    + + +
    +
    +
    +
    + + + + + + + + + + + + + + + +
    Nama MahasiswaJudul Tugas AkhirTahun AjaranTanggal
    Loading data from server
    + + +
    +
    + \ No newline at end of file diff --git a/admin/page/praoutline/kep.draft.praoutline.php b/admin/page/praoutline/kep.draft.praoutline.php new file mode 100644 index 0000000..18ecbc3 --- /dev/null +++ b/admin/page/praoutline/kep.draft.praoutline.php @@ -0,0 +1,246 @@ + +
    +
    + + +
    +
    +
    +
    + + + + + + + + + + + + + + + +
    Nama MahasiswaJudul Tugas AkhirTahun AjaranTanggalAksi
    Loading data from server
    + + +
    +
    + +
    +
    + + +
    +
    + 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"; + $idputusan=''; + } + + $q="SELECT tp.*,(SELECT nmLengkap FROM tbmhs WHERE nim=tp.nim) as nama FROM tbpraoutline tp WHERE tp.id='$idpraoutline'"; + $db->runQuery($q); + if($db->dbRows()>0){ + $pr=$db->dbFetch(); + ?> +
    +
    +

    + +
    +
    +

    Oleh :

    +
    +
    +
    +
    +
    + + + + +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + " name="judul_final" id="judul_final" class="form-control" /> +
    +
    + +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/admin/page/praoutline/keputusan.php b/admin/page/praoutline/keputusan.php new file mode 100644 index 0000000..63e62c1 --- /dev/null +++ b/admin/page/praoutline/keputusan.php @@ -0,0 +1,41 @@ +
    +
    + + +
    +
    +
    +
    + + + + + + + + + + + + + + +
    Nama MahasiswaJudul Tugas AkhirTahun AjaranTanggal Putusan
    Loading data from server
    + + +
    diff --git a/admin/page/praoutline/list.judul.php b/admin/page/praoutline/list.judul.php new file mode 100644 index 0000000..1d7068d --- /dev/null +++ b/admin/page/praoutline/list.judul.php @@ -0,0 +1,142 @@ +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 = 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']."
    NIM: ".$aRow['nim']; + $row[1]=''.$aRow['judul'].''; + $row[2]=$aRow['thn_ajaran']." - ".$aRow['semester']; + $row[3]=tanggalIndo($aRow['tgl_upload']." ".$aRow['wkt_upload'],'j F Y, H:i'); + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/praoutline/list.judulditerima.php b/admin/page/praoutline/list.judulditerima.php new file mode 100644 index 0000000..96fb50a --- /dev/null +++ b/admin/page/praoutline/list.judulditerima.php @@ -0,0 +1,149 @@ +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']."
    NIM: ".$aRow['nim']; + $row[1]=''.$aRow['judul_final'].'
    '; + $row[1].='Pembimbing 1: '.$aRow['dpemb1'].' | Pembimbing 2: '.$aRow['dpemb2'].'
    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'].'
    2. '.$aRow['dpemb2']; + $row[5]='1. '.$aRow['dpeng1'].'
    2. '.$aRow['dpeng2'];*/ + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/praoutline/list.kep.draft.praoutline.php b/admin/page/praoutline/list.kep.draft.praoutline.php new file mode 100644 index 0000000..ab2c3d5 --- /dev/null +++ b/admin/page/praoutline/list.kep.draft.praoutline.php @@ -0,0 +1,194 @@ +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']; + + $sQuery3="SELECT `values` FROM web_setting WHERE name='min_close' AND idProdi='$idprodi' LIMIT 1"; + //echo $sQuery3; + $db->runQuery($sQuery3); + $minimal_setuju=""; + if($db->dbRows()>0){ + $s=$db->dbFetch(); + $minimal_setuju=$s['values']; + }else{ + $minimal_setuju=10; + } + + /* + * Output + */ + + $output = array( + "sEcho" => intval($_GET['sEcho']), + "iTotalRecords" => $iTotal, + "iTotalDisplayRecords" => $iFilteredTotal, + "aaData" => array() + ); + + while ( $aRow = $db->dbFetch($result) ) + { + //print_r($aRow); + $row = array(); + + if($aRow['status_usulan']==0){ + $statusPraoutline=''; + }else if($aRow['status_usulan']==1){ + $statusPraoutline='| Judul Diterima'; + }else if($aRow['status_usulan']==2){ + $statusPraoutline='| Judul Ditolak'; + }else if($aRow['status_usulan']==3){ + $statusPraoutline='| Judul Gugur'; + } + + + $row[0]=$aRow['nm_mhs']."
    NIM: ".$aRow['nim']; + $row[1]=''.$aRow['judul'].''; + $row[1].='

    Jumlah Review : '.$aRow['jlhreview'].' | Setuju : '.$aRow['setuju'].' | Tidak Setuju : '.$aRow['tdk_setuju'].' '.$statusPraoutline.'

    '; + $row[2]=$aRow['thn_ajaran']." - ".$aRow['semester']; + $row[3]=tanggalIndo($aRow['tgl_upload'],'j F Y, H:i'); + + + if($aRow['found']==0){ + $act_p="Putusan"; + }else{ + $act_p="Edit Putusan"; + } + $aksi=''; + $row[4]=$aksi; + if($aRow['status_usulan']==1){ + $output['aaData'][] = $row; + }else{ + if($aRow['setuju']>=$minimal_setuju){ + $output['aaData'][] = $row; + } + } + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/praoutline/pemberitahuan.php b/admin/page/praoutline/pemberitahuan.php new file mode 100644 index 0000000..33b2b17 --- /dev/null +++ b/admin/page/praoutline/pemberitahuan.php @@ -0,0 +1,43 @@ +
    +
    + + +
    +
    +
    +
    + + runQuery($Q_notif_review); + if($jlh_notif_review>0){ + while($r=$db->dbFetch()){ + echo ' + + + '; + } + }else{ + echo ' + + '; + } + ?> +
    '.tanggalIndo($r['tgl'],'j F Y, H:i').' '.$r['msg'].'
    Tidak Ada Pemberitahuan Terbaru
    +
    +
    \ No newline at end of file diff --git a/admin/page/praoutline/praoutline.php b/admin/page/praoutline/praoutline.php new file mode 100644 index 0000000..ff6e22f --- /dev/null +++ b/admin/page/praoutline/praoutline.php @@ -0,0 +1,51 @@ +location.href='".ADMIN_PAGE."dashboard.php'"; + break; +} +?> \ No newline at end of file diff --git a/admin/page/praoutline/review.php b/admin/page/praoutline/review.php new file mode 100644 index 0000000..b03768a --- /dev/null +++ b/admin/page/praoutline/review.php @@ -0,0 +1,291 @@ + +
    +
    + + +
    +
    +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; + + } + } + + + if($stat['status_usulan']==0){ + $statusPraoutline=' - Dalam Proses'; + }else if($stat['status_usulan']==1){ + $statusPraoutline=' - Judul Diterima'; + }else if($stat['status_usulan']==2){ + $statusPraoutline=' - Judul Ditolak'; + }else if($stat['status_usulan']==3){ + $statusPraoutline=' - Judul Gugur'; + } + ?> +
    +
    +

    +
    +
    + +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + + runQuery($kep_final); + if($db->dbRows()>0){ + $kep=$db->dbFetch(); + ?> +
    + +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    +
    + Catatan
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + }*/ + break; + + case '2': + $db->runQuery($kep_final); + if($db->dbRows()>0){ + $tolak=$db->dbFetch(); + ?> +
    +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    +
    +
    + Catatan
    + +
    +
    +
    + +
    +
    + 0){ + ?> +
    +
    +
    +
    + runQuery($rev); + if($db->dbRows()>0){ + echo '
      '; + while($r=$db->dbFetch()){ + if(!ctype_digit($r['reviewer'])){ + $jenis="self"; + $nama='
      '.$r['nmMhs'].' Quote
      '; + $foto=$r['ftmhs']; + }else{ + $jenis="other"; + $nama='
      '.$r['nmDosen'].' Quote
      '; + $foto=$r['ftdosen']; + } + + if($r['putusan']=='1'){ + $putusan="Setuju"; + }else if($r['putusan']=='0'){ + $putusan="Tidak Setuju"; + }else{ + $putusan=""; + } + + ?> +
    1. +
      + +
      +
      + +

      + +


      + , +
      +
    2. + '; + }else{ + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } + ?> + +
    +
    +
    +
    + Belum Ada Review."; + ?> + Maaf. Draft Praoutline Tidak Ditemukan. "; + } +}else{ + echo "
    Maaf. Draft Praoutline Tidak Ditemukan.
    "; +} + +//print_r($_SESSION['new_review_dsn']); +?> \ No newline at end of file diff --git a/admin/page/praoutline/statistik.php b/admin/page/praoutline/statistik.php new file mode 100644 index 0000000..e69de29 diff --git a/admin/page/user/act.user.php b/admin/page/user/act.user.php new file mode 100644 index 0000000..89498dd --- /dev/null +++ b/admin/page/user/act.user.php @@ -0,0 +1,134 @@ +runQuery($insert)){ + echo json_encode(array("result"=>true,"msg"=>"Admin baru berhasil ditambahkan.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DBERROR.")); + } + break; + + case 'update': + $id=$_POST['id']; + if(ctype_digit($id)){ + $level="P"; + + if($_POST['reset_pwd']=='yes'){ + $password="password='".md5($_POST['username']."12345")."',"; + }else{ + $password=""; + } + + $update="UPDATE tbadmin SET + nmLengkap='".$_POST['nama_lengkap']."', + jabatan='".$_POST['jabatan']."', + nip='".$_POST['nip']."', + email='".$_POST['emailuser']."', + idProdi='".$_POST['prodi']."', + $password + notelp='".$_POST['telp']."', + jenisAdmin='".$level."' + WHERE idAdmin='$id'"; + //echo $update; + if($db->runQuery($update)){ + echo json_encode(array("result"=>true,"msg"=>"Data admin telah diupdate.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi update Gagal DBERROR.")); + } + } + break; + + case 'updatemyprofile': + $id=$_POST['id']; + if($_POST['pwd']!=""){ + $pwd_lama=md5($_POST['pwd_lama']); + $check="SELECT idAdmin FROM tbadmin WHERE idAdmin='$id' AND password='$pwd_lama' LIMIT 1"; + //echo $check; + $db->runQuery($check); + if($db->dbRows()>0){ + $password="password='".md5($_POST['pwd'])."',"; + }else{ + echo json_encode(array("result"=>false,"msg"=>"Password lama anda tidak cocok, silakan masukkan password dengan benar untuk mengganti password.")); + exit; + } + }else{ + $password=""; + } + $queryUpdate="UPDATE tbadmin SET + nmLengkap='".$_POST['nama_lengkap']."', + jabatan='".$_POST['jabatan']."', + nip='".$_POST['nip']."', + email='".$_POST['emailuser']."', + $password + notelp='".$_POST['telp']."' + WHERE idAdmin='$id' + "; + //echo $queryUpdate; + if($db->runQuery($queryUpdate)){ + echo json_encode(array("result"=>true,"msg"=>"Profil telah diupdate.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Profil gagal diupdate DBERROR.")); + } + break; + + case 'hapususer': + $id=$_POST['id']; + if(ctype_digit($id)){ + $hapus="DELETE FROM tbadmin WHERE idAdmin='$id'"; + if($db->runQuery($hapus)){ + echo json_encode(array("result"=>true,"msg"=>"Data Admin telah dihapus.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + + case 'aktifkanuser': + $id=$_POST['id']; + if(ctype_digit($id)){ + $aktifkan="UPDATE tbadmin SET aktif='Y' WHERE idAdmin='$id'"; + if($db->runQuery($aktifkan)){ + echo json_encode(array("result"=>true,"msg"=>"Status Admin Aktif.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + + case 'nonaktifkanuser': + $id=$_POST['id']; + if(ctype_digit($id)){ + $nonaktifkan="UPDATE tbadmin SET aktif='N' WHERE idAdmin='$id'"; + if($db->runQuery($nonaktifkan)){ + echo json_encode(array("result"=>true,"msg"=>"Status Admin Non Aktif.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + } +} +?> \ No newline at end of file diff --git a/admin/page/user/checkuser.php b/admin/page/user/checkuser.php new file mode 100644 index 0000000..75ad157 --- /dev/null +++ b/admin/page/user/checkuser.php @@ -0,0 +1,16 @@ +runQuery("SELECT idAdmin FROM tbadmin WHERE username='".$_POST['username']."' LIMIT 1"); + if($db->dbRows()>0){ + echo "false"; + }else{ + echo "true"; + } + } +?> \ No newline at end of file diff --git a/admin/page/user/daftar-user.php b/admin/page/user/daftar-user.php new file mode 100644 index 0000000..11a806b --- /dev/null +++ b/admin/page/user/daftar-user.php @@ -0,0 +1,78 @@ + +
    +
    + + +
    +
    + + Buat User Baru +
    +
    +
    + + + + + + + + + + + + + + + + +
    Nama & UsernameJabatanNIPProgram StudiAksi
    Loading data from server
    + + +
    +
    + + + + + + + \ No newline at end of file diff --git a/admin/page/user/form-edituser.php b/admin/page/user/form-edituser.php new file mode 100644 index 0000000..6c38e9e --- /dev/null +++ b/admin/page/user/form-edituser.php @@ -0,0 +1,88 @@ +runQuery($query); + if($db->dbRows()>0){ + $e=$db->dbFetch(); + ?> + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + + diff --git a/admin/page/user/form-tambahuser.php b/admin/page/user/form-tambahuser.php new file mode 100644 index 0000000..1e8e1a5 --- /dev/null +++ b/admin/page/user/form-tambahuser.php @@ -0,0 +1,68 @@ + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    \ No newline at end of file diff --git a/admin/page/user/list.daftar-user.php b/admin/page/user/list.daftar-user.php new file mode 100644 index 0000000..3838344 --- /dev/null +++ b/admin/page/user/list.daftar-user.php @@ -0,0 +1,190 @@ + $idlogin"; + }else{ + $where2="WHERE ta.idAdmin <> $idlogin"; + } + + /* + * SQL queries + * Get data to display + */ + $sQuery0 = " + SELECT ta.idAdmin,tp.nmProdi,ta.username,ta.password,ta.jenisAdmin,ta.nmLengkap,ta.jabatan,ta.nip,ta.email,ta.aktif + FROM $sTable LEFT JOIN tbprodi tp ON(tp.idProdi=ta.idProdi) + $sWhere + $where2 + $sOrder + "; + + $db->runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(idAdmin) as total FROM tbadmin WHERE idAdmin<> '$idlogin' + "; + $db->runQuery($sQuery2); + $aResultTotal = $db->dbFetch(); + $iTotal = $aResultTotal['total']; + + $output = array( + "sEcho" => intval($_GET['sEcho']), + "iTotalRecords" => $iTotal, + "iTotalDisplayRecords" => $iFilteredTotal, + "aaData" => array() + ); + + while ( $aRow = $db->dbFetch($result) ) + { + //print_r($aRow); + $row = array(); + + if($aRow['aktif']=="N"){ + $badge=' - tidak aktif'; + $tombol='
  • + + Aktifkan User + +
  • '; + }else{ + $badge=''; + $tombol='
  • + + Nonaktifkan + +
  • '; + } + + $row[0]=$aRow['nmLengkap'].$badge."
    (".$aRow['username'].")"; + $row[1]=$aRow['jabatan']; + $row[2]=$aRow['nip']; + $aksi='
    + + + + +
    '; + $row[3]=$aRow['nmProdi']; + $row[4]=$aksi; + + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/admin/page/user/my-profile.php b/admin/page/user/my-profile.php new file mode 100644 index 0000000..b8e0f52 --- /dev/null +++ b/admin/page/user/my-profile.php @@ -0,0 +1,89 @@ +runQuery("SELECT * FROM tbadmin WHERE idAdmin='$id'"); +if($db->dbRows()>0){ + $u=$db->dbFetch(); + +} +?> +
    +
    + + +
    +
    +
    +
    +
    + + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    + *kosongkan jika tidak mengganti password +
    +
    + +
    + +
    + *Wajib diisi jika ingin mengganti password +
    +
    + + +
    +
    +
    \ No newline at end of file diff --git a/admin/page/user/user.php b/admin/page/user/user.php new file mode 100644 index 0000000..6702b44 --- /dev/null +++ b/admin/page/user/user.php @@ -0,0 +1,19 @@ +location.href='".ADMIN_PAGE."dashboard.php?page=user&menu=man-user'"; + break; +} +?> \ No newline at end of file diff --git a/bantuan.php b/bantuan.php new file mode 100644 index 0000000..ca0e9c8 --- /dev/null +++ b/bantuan.php @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/cek_banyak_sidang.php b/cek_banyak_sidang.php new file mode 100644 index 0000000..938820f --- /dev/null +++ b/cek_banyak_sidang.php @@ -0,0 +1,156 @@ + + + + + + + Data Presensi Seminar/Sidang Skripsi + + + + + + + + + + +connect(); + + $getBanyakSidang = file_get_contents("https://gis.my.id/_API/getListCountPresensiSidangByAngkatan.php"); + $decodedBanyakSidang = json_decode($getBanyakSidang, true); + $listBanyakSidang = $decodedBanyakSidang['data']; + + $getListMahasiswa = file_get_contents("https://informatika.untan.ac.id/API/public/data_mahasiswa_per_angkatan.php?angkatan=$angkatan&key=MfQE6ej2ffxEKgVx7YXVA3HbHg3d4hRhXyBnRnYgkjwuSaLNW2V5PxeVSKWySUsbbhVyEWVSs", true); + $decodedBanyakMahasiswa = json_decode($getListMahasiswa, true); + + $listData = []; + foreach($decodedBanyakMahasiswa as $key => $val){ + $nim = strtoupper(trim($val['nim'])); + $nama = strtoupper(trim($val['nama'])); + + $dataSidang = [ + 'proposal' => 0, + 'hasil' => 0, + 'akhir' => 0, + ]; + + if(isset($listBanyakSidang[$nim])){ + $dataSidang = $listBanyakSidang[$nim]; + } + + + array_push($listData, [ + 'nim' => $nim, + 'nama' => $nama, + 'banyak' => $dataSidang, + ]); + } + + + $no = 1; + foreach($listData as $key=>$val){ + $nama = $val['nama']; + $nim = $val['nim']; + $banyakSidang = $val['banyak']; + $bProposal = $banyakSidang['proposal']; + $bHasil = $banyakSidang['hasil']; + $bAkhir = $banyakSidang['akhir']; + + $colorProp = ""; + $colorAkhir = ""; + + if($bProposal < 10){ + $colorProp = " style='background-color:yellow' "; + } + + if($bAkhir < 10){ + $colorAkhir = " style='background-color:yellow' "; + } + + $isiTabel .= "$no$nama$nim$bProposal$bAkhir"; + $no++; + } + + if(sizeof($listData) == 0){ + $isiTabel = "Tidak ada data mahasiswa untuk angkatan ini"; + } + +echo ' + +'; +?> +
    +

    Data Presensi Seminar/Sidang Skripsi

    +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    NoNamaNIMBanyak Seminar ProposalBanyak Sidang Akhir
    +
    + + + + + + + + + \ No newline at end of file diff --git a/cektimelimit.php b/cektimelimit.php new file mode 100644 index 0000000..2910bcb --- /dev/null +++ b/cektimelimit.php @@ -0,0 +1,7 @@ +'.date('d-m-Y H:i:s'); diff --git a/cetak.php b/cetak.php new file mode 100644 index 0000000..4578896 --- /dev/null +++ b/cetak.php @@ -0,0 +1,73 @@ + + + + + + + + + + + + +
    +

    REVIEW SPOTA MAHASISWA

    +runQuery($rev); + if($db->dbRows()>0){ + echo ''; + while($r=$db->dbFetch()){ + if(!ctype_digit($r['reviewer'])){ + $nama=$r['nmMhs']; + }else{ + $nama=$r['nmDosen']; + } + + if($r['putusan']=='1'){ + $putusan="Setuju"; + }else if($r['putusan']=='0'){ + $putusan="Tidak Setuju"; + }else{ + $putusan=""; + } + + ?> + + + + + + '; + echo 'Dicetak pada : '.NOW.''; + }else{ + echo '
    + + Maaf! Belum Ada Review.. +
    '; + } +?> + + + + + + \ No newline at end of file diff --git a/client_api/back_up_profil.php b/client_api/back_up_profil.php new file mode 100644 index 0000000..f59f7d3 --- /dev/null +++ b/client_api/back_up_profil.php @@ -0,0 +1,174 @@ +runQuery($qu); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["profil"] = array(); + + $detail['nama_lengkap']=$r['nmLengkap']; + $detail['id_user']=$r['idmhs']; + $detail['id_prodi']=$r['idProdi']; + $detail['username']=$r['nim']; + $detail['email']=$r['email']; + $detail['angkatan']=$r['thnmasuk']; + $detail['foto']=LINK_GAMBAR.$r['foto']; + + $response["success"] = "1"; + $response["msg"] = "Data Loaded"; + array_push($response["profil"], $detail); + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed (Data Not Found)"; + echo json_encode($response); + } + }else if($jenis=="D" OR $jenis=="K"){ + $qu="SELECT * FROM tbdosen WHERE idDosen='$id' LIMIT 1"; + $db->runQuery($qu); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["profil"] = array(); + + $detail['nama_lengkap']=$r['nmLengkap']; + $detail['id_user']=$r['iddosen']; + $detail['id_prodi']=$r['idProdi']; + $detail['username']=$r['nip']; + $detail['email']=$r['email']; + $detail['nohp']=$r['jenis']; + $detail['jabatan']=$r['jenis']; + $detail['foto']=LINK_GAMBAR.$r['foto']; + + $response["success"] = "1"; + $response["msg"] = "Data Loaded"; + array_push($response["profil"], $detail); + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed (Data Not Found)"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed"; + echo json_encode($response); + } + break; + + case 'update': + $id=$_POST['id']; + $jenis=$_POST['j']; + if(ctype_digit($id)){ + if($jenis=="M"){ + $u="UPDATE tbmhs SET + nmLengkap='".$_POST['nama']."', + email='".$_POST['email']."' + WHERE idmhs='$id'"; + }else if($jenis=="D" OR $jenis=="K"){ + $u="UPDATE tbdosen SET + nmLengkap='".$_POST['nama']."', + email='".$_POST['email']."', + nohp='".$_POST['nohp']."', + jabatan='".$_POST['jabatan']."' + WHERE iddosen='$id'"; + } + + if($db->runQuery($u)){ + $response["success"] = "1"; + $response["profil"] = null; + $response["msg"] = "Profil Berhasil Diupdate"; + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Gagal Update Data - "; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Sorry, Cant Process Your Request"; + echo json_encode($response); + } + break; + + case 'update_pwd': + $id=$_POST['id']; + $jenis=$_POST['j']; + $pwd=$_POST['pwd']; + $u=""; + if(ctype_digit($id)){ + if($jenis=="M"){ + $s="SELECT password FROM tbmhs WHERE idmhs='$id' LIMIT 1"; + $db->runQuery($s); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + if($r['password']==md5($pwd)){ + $u="UPDATE tbmhs SET password='".md5($pwd)."' WHERE idmhs='$id'"; + }else{ + echo json_encode(array("success"=>"0", + "profil"=>null, + "msg"=>"Password Lama Tidak Sesuai")); + } + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Data Not Found")); + } + }else if($jenis=="D" OR $jenis=="K"){ + $s="SELECT password FROM tbdosen WHERE iddosen='$id' LIMIT 1"; + $db->runQuery($s); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + if($r['password']==md5($pwd)){ + $u="UPDATE tbdosen SET password='".md5($pwd)."' WHERE iddosen='$id'"; + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Password Lama Tidak Sesuai")); + } + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Data Not Found")); + } + } + + if($db->runQuery($u)){ + echo json_encode(array("success"=>"1","profil"=>null,"msg"=>"Profil Berhasil diupdate")); + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Gagal Update Data")); } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Sorry, Cant Process Your Request"; + echo json_encode($response); + } + break; + } +}else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} \ No newline at end of file diff --git a/client_api/dosen.php b/client_api/dosen.php new file mode 100644 index 0000000..20ef2d5 --- /dev/null +++ b/client_api/dosen.php @@ -0,0 +1,186 @@ +runQuery($qu); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["profil"] = array(); + + $detail['nama_lengkap']=$r['nmLengkap']; + $detail['id_user']=$r['iddosen']; + $detail['id_prodi']=$r['idProdi']; + $detail['username']=$r['nip']; + $detail['email']=$r['email']; + $detail['nohp']=$r['nohp']; + $detail['jabatan']=$r['jenis']; + $detail['foto']=LINK_GAMBAR.$r['foto']; + + $response["success"] = "1"; + $response["msg"] = "Data Loaded"; + array_push($response["profil"], $detail); + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed (Data Not Found)"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed"; + echo json_encode($response); + } + break; + + case 'update': + $id=$_POST['id']; + $jenis=$_POST['j']; + + if(ctype_digit($id)){ + + $RandomNumber = rand(0, 9999999999); + $ImageName = "dosen"; + $NewImageName = $ImageName.'_'.$RandomNumber.'.jpg'; + + if($_POST['pic']!=""){ + base64_to_jpeg($_POST['pic'],DIR_GAMBAR.$NewImageName); + $foto=" foto='".$NewImageName."', "; + }else{ + $foto=""; + } + + $oldpic="SELECT foto FROM tbdosen WHERE iddosen='$id'"; + $db->runQuery($oldpic); + $rpic=$db->dbFetch(); + $gambarlama=$rpic['foto']; + + $u="UPDATE tbdosen SET + nmLengkap='".$_POST['nama']."', + email='".$_POST['email']."', + nohp='".$_POST['nohp']."', + $foto + jabatan='".$_POST['jabatan']."' + WHERE iddosen='$id'"; + + if($db->runQuery($u)){ + $response["success"] = "1"; + $response["profil"] = null; + $response["msg"] = "Profil Berhasil Diupdate"; + if($_POST['pic']!=""){ + @unlink(DIR_GAMBAR.$gambarlama); + } + echo json_encode($response); + }else{ + @unlink(DIR_GAMBAR.$NewImageName); + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Gagal Update Data - "; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Sorry, Cant Process Your Request"; + echo json_encode($response); + } + break; + + case 'update_pwd': + $id=$_POST['id']; + $jenis=$_POST['j']; + $pwdbaru=$_POST['pwdbaru']; + $pwdlama=$_POST['pwdlama']; + $u=""; + if(ctype_digit($id)){ + $s="SELECT password FROM tbdosen WHERE iddosen='$id' LIMIT 1"; + $db->runQuery($s); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + if($r['password']==md5($pwdlama)){ + $u="UPDATE tbdosen SET password='".md5($pwdbaru)."' WHERE iddosen='$id'"; + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Password Lama Tidak Sesuai")); + } + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Data Not Found")); + } + + if($db->runQuery($u)){ + echo json_encode(array("success"=>"1","profil"=>null,"msg"=>"Ganti Password Berhasil")); + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"DBError")); } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Sorry, Cant Process Your Request"; + echo json_encode($response); + } + break; + + case 'listdosen': + $prodi=$_POST['idprodi']; + $q="SELECT * FROM tbdosen WHERE idProdi='$prodi'"; + $db->runQuery($q); + if($db->dbRows()>0){ + $response=array(); + $response["data"]=array(); + + //$dosen=array(); + + //$dosen['nip']=""; + //$dosen['namadosen']="Pilih Dosen"; + //array_push($response["data"], $dosen); + + while($r=$db->dbFetch()){ + $dosen=array(); + + $dosen['nip']=$r['nip']; + $dosen['namadosen']=$r['nmLengkap']; + array_push($response["data"], $dosen); + } + $response["success"] = "1"; + $response["msg"] = "Sukses"; + echo json_encode($response); + } + break; + + default: + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); + break; + } +}else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} + +function base64_to_jpeg($base64_string, $output_file) { + $ifp = fopen($output_file, "wb"); + + fwrite($ifp, base64_decode($base64_string)); + fclose($ifp); + + return $output_file; +} \ No newline at end of file diff --git a/client_api/jadwal.php b/client_api/jadwal.php new file mode 100644 index 0000000..ad7b1ae --- /dev/null +++ b/client_api/jadwal.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/client_api/login.php b/client_api/login.php new file mode 100644 index 0000000..6ca6c72 --- /dev/null +++ b/client_api/login.php @@ -0,0 +1,93 @@ +runQuery($qu); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $dbpass=$r['password']; + $response=array(); + $response["login"] = array(); + if($r['status']=='A'){ + if($dbpass==md5($password)){ + if($jenis_user=="MHS"){ + $detail['nama_lengkap']=$r['nmLengkap']; + $detail['id_user']=$r['idmhs']; + $detail['id_prodi']=$r['idProdi']; + $detail['username']=$r['nim']; + $detail['email']=$r['email']; + $detail['jenis']="M"; + + $gcm_reg="REPLACE INTO gcm_service SET + iduser='".$r['nim']."', + jenisuser='M', + regid='".$regid."', + aktif='Y'"; + + }else{ + $detail['nama_lengkap']=$r['nmLengkap']; + $detail['id_user']=$r['iddosen']; + $detail['id_prodi']=$r['idProdi']; + $detail['username']=$r['nip']; + $detail['email']=$r['email']; + $detail['jenis']=$r['jenis']; + + $gcm_reg="REPLACE INTO gcm_service SET + iduser='".$r['nip']."', + jenisuser='".$r['jenis']."', + regid='".$regid."', + aktif='Y'"; + } + //comingsoon + $db->runQuery($gcm_reg); + + $response["success"] = "1"; + $response["msg"] = "Login Sukses"; + array_push($response["login"], $detail); + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["login"] = null; + $response["msg"] = "Password Salah"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["login"] = null; + $response["msg"] = "Akun anda tidak aktif"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["login"] = null; + $response["msg"] = "Anda Tidak Terdaftar"; + echo json_encode($response); + } +}else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} + +?> \ No newline at end of file diff --git a/client_api/logout.php b/client_api/logout.php new file mode 100644 index 0000000..5e193da --- /dev/null +++ b/client_api/logout.php @@ -0,0 +1,38 @@ +runQuery($q)){ + $response["success"] = "1"; + $response["data"] = null; + $response["msg"] = "Logout Berhasil"; + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Logout Gagal"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Registration id not Found"; + echo json_encode($response); + } +}else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} \ No newline at end of file diff --git a/client_api/mahasiswa.php b/client_api/mahasiswa.php new file mode 100644 index 0000000..e0d2d9d --- /dev/null +++ b/client_api/mahasiswa.php @@ -0,0 +1,148 @@ +runQuery($qu); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["profil"] = array(); + + $detail['nama_lengkap']=$r['nmLengkap']; + $detail['id_user']=$r['idmhs']; + $detail['id_prodi']=$r['idProdi']; + $detail['username']=$r['nim']; + $detail['email']=$r['email']; + $detail['angkatan']=$r['thnmasuk']; + $detail['foto']=LINK_GAMBAR.$r['foto']; + + $response["success"] = "1"; + $response["msg"] = "Data Loaded"; + array_push($response["profil"], $detail); + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed (Data Not Found)"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed"; + echo json_encode($response); + } + break; + + case 'update': + $id=$_POST['id']; + + if(ctype_digit($id)){ + + $RandomNumber = rand(0, 9999999999); + $ImageName = "mhs"; + $NewImageName = $ImageName.'_'.$RandomNumber.'.jpg'; + + if($_POST['pic']!=""){ + base64_to_jpeg($_POST['pic'],DIR_GAMBAR.$NewImageName); + $foto=" foto='".$NewImageName."', "; + }else{ + $foto=""; + } + + $oldpic="SELECT foto FROM tbmhs WHERE idmhs='$id'"; + $db->runQuery($oldpic); + $rpic=$db->dbFetch(); + $gambarlama=$rpic['foto']; + + $u="UPDATE tbmhs SET + nmLengkap='".$_POST['nama']."', + $foto + email='".$_POST['email']."' + WHERE idmhs='$id'"; + + if($db->runQuery($u)){ + $response["success"] = "1"; + $response["profil"] = null; + $response["msg"] = "Profil Berhasil Diupdate"; + if($_POST['pic']!=""){ + @unlink(DIR_GAMBAR.$gambarlama); + } + echo json_encode($response); + }else{ + @unlink(DIR_GAMBAR.$NewImageName); + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Gagal Update Data - "; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Sorry, Cant Process Your Request"; + echo json_encode($response); + } + break; + + case 'update_pwd': + $id=$_POST['id']; + $pwdbaru=$_POST['pwdbaru']; + $pwdlama=$_POST['pwdlama']; + $u=""; + if(ctype_digit($id)){ + $s="SELECT password FROM tbmhs WHERE idmhs='$id' LIMIT 1"; + $db->runQuery($s); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + if($r['password']==md5($pwdlama)){ + $u="UPDATE tbmhs SET password='".md5($pwdbaru)."' WHERE idmhs='$id'"; + }else{ + echo json_encode(array("success"=>"0", + "profil"=>null, + "msg"=>"Password Lama Tidak Sesuai")); + } + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Data Not Found")); + } + + if($db->runQuery($u)){ + echo json_encode(array("success"=>"1","profil"=>null,"msg"=>"Ganti Password Berhasil")); + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"DBError")); } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Sorry, Cant Process Your Request"; + echo json_encode($response); + } + break; + } +}else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} + +function base64_to_jpeg($base64_string, $output_file) { + $ifp = fopen($output_file, "wb"); + + fwrite($ifp, base64_decode($base64_string)); + fclose($ifp); + + return $output_file; +} \ No newline at end of file diff --git a/client_api/pemberitahuan.php b/client_api/pemberitahuan.php new file mode 100644 index 0000000..1d3ed27 --- /dev/null +++ b/client_api/pemberitahuan.php @@ -0,0 +1,59 @@ +runQuery($q); + if($db->dbRows()>0){ + + $response=array(); + $response["data"]=array(); + while($p=$db->dbFetch()){ + $draft=array(); + $draft['idkonten']=$p['idkonten']; + $draft['tgl']=tanggalIndo($p['tgl'],'j F Y H:i:s'); + $draft['pesan']=$p['msg']; + $draft['read']=$p['read']; + array_push($response["data"], $draft); + } + + $response["success"] = "1"; + $response["msg"] = "Sukses"; + + echo json_encode($response); + }else{ + $response["success"] = "1"; + $response["data"] = null; + $response["msg"] = "Tidak Ada Pemberitahuan Terbaru"; + echo json_encode($response); + } + +}else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} \ No newline at end of file diff --git a/client_api/pengumuman.php b/client_api/pengumuman.php new file mode 100644 index 0000000..e5515da --- /dev/null +++ b/client_api/pengumuman.php @@ -0,0 +1,115 @@ +runQuery($p); + if($db->dbRows()>0){ + $response=array(); + $response["data"] = array(); + while($r=$db->dbFetch()){ + $peng=array(); + $peng['id']=$r['id']; + $peng['judul']=str_replace('"', '`', $r['judul']); + $peng['tgl']=tanggalIndo($r['tgl'],'j F Y'); + $peng['baca']=$r['baca']; + array_push($response["data"], $peng); + } + $response["success"] = "1"; + $response["msg"] = "Get List Pengumuman Success"; + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Tidak Ada Pengumuman"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); + } + break; + + case 'detail': + $id_prodi=$_POST['prodi']; + $id_pengumuman=$_POST['id']; + $iduser=$_POST['iduser']; + $jenis=$_POST['j']; + + $s="SELECT judul, isi, tgl FROM tbpengumuman WHERE idProdi='$id_prodi' AND publish='Y' AND id='$id_pengumuman' LIMIT 1"; + $db->runQuery($s); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["data"] = array(); + + $detail['judul']=str_replace('"', '`', $r['judul']); + $detail['isi']=str_replace('"', '`', $r['isi']); + $detail['tgl']=tanggalIndo($r['tgl'],'j F Y'); + + $response["success"] = "1"; + $response["msg"] = "Data Loaded"; + array_push($response["data"], $detail); + + $checknotif="SELECT COUNT(id) as jlh FROM tmp_notif WHERE idkonten='$id_pengumuman' AND idProdi='$id_prodi' AND iduser='$iduser' AND typeuser='$jenis' AND jenis='P'"; + $db->runQuery($checknotif); + $r=$db->dbFetch(); + if($r['jlh']==0){ + $db->runQuery("INSERT INTO tmp_notif SET idkonten='$id_pengumuman', idProdi='$id_prodi',iduser='$iduser',typeuser='$jenis',jenis='P', `date`=NOW()"); + } + + echo json_encode($response); + + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Data Pengumuman Tidak Ditemukan"; + echo json_encode($response); + } + break; + + default: + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request act not found"; + echo json_encode($response); + break; + } + +}else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} +?> \ No newline at end of file diff --git a/client_api/praoutline.php b/client_api/praoutline.php new file mode 100644 index 0000000..dec50e9 --- /dev/null +++ b/client_api/praoutline.php @@ -0,0 +1,874 @@ +runQuery($cari); + if($db->dbRows()>0){ + $response=array(); + $response["data"]=array(); + while($rcari=$db->dbFetch()){ + $draft=array(); + + if($rcari['status_usulan']==0){ + $draft['status']='Dalam Proses'; + }else if($rcari['status_usulan']==1){ + $draft['status']='Judul Diterima'; + }else if($rcari['status_usulan']==2){ + $draft['status']='Judul Ditolak'; + }else if($rcari['status_usulan']==3){ + $draft['status']='Judul Gugur'; + } + + $draft['iddraft']=$rcari['id']; + $draft['judul']=$rcari['judul']; + $draft['tgl']=tanggalIndo($rcari['tgl_upload'],'j F Y'); + $draft['setuju']=$rcari['setuju']." Setuju"; + $draft['tolak']=$rcari['tdk_setuju']." Tidak Setuju"; + $draft['nim']=$rcari['nim']; + $draft['namamhs']=$rcari['nama']; + $draft['jlhrev']=$rcari['jlhreview']; + + array_push($response["data"], $draft); + } + $response["success"] = "1"; + $response["msg"] = "Sukses"; + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Data Tidak Ada"; + echo json_encode($response); + } + break; + + //menampilkan informasi draft praoutline + case 'lihat': + $id=$_POST['iddraft']; + $username=$_POST['username']; + $iduser=$_POST['iduser']; + $jenisuser=$_POST['jenisuser']; + $prodi=$_POST['idprodi']; + if($id!=""){ + $q="SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.berkas, + tp.status_usulan, + tm.foto, + 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 + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE tp.id='$id'"; + + $db->runQuery($q); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["data"]=array(); + + if($r['status_usulan']==0){ + $draft['status']='Dalam Proses'; + }else if($r['status_usulan']==1){ + $draft['status']='Judul Diterima'; + }else if($r['status_usulan']==2){ + $draft['status']='Judul Ditolak'; + }else if($r['status_usulan']==3){ + $draft['status']='Judul Gugur'; + } + + $draft['iddraft']=$r['id']; + $draft['idprodi']=$r['idProdi']; + $draft['judul']=$r['judul']; + $draft['berkas']=DOMAIN_UTAMA."/download.php?doc_id=".$r['id']; + $draft['tgl']=tanggalIndo($r['tgl_upload'],'j F Y'); + $draft['setuju']=$r['setuju']." Setuju"; + $draft['tolak']=$r['tdk_setuju']." Tidak Setuju"; + $draft['jlhreview']=$r['jlhreview']." Tanggapan"; + $draft['nim']=$r['nim']; + $draft['kdstatus']=$r['status_usulan']; + $draft['namamhs']=$r['nama']; + $draft['foto']=LINK_GAMBAR.$r['foto']; + + $q_rekap_hasil="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 kep_akhir='".$r['status_usulan']."' AND idpraoutline='".$r['id']."' LIMIT 1"; + $db->runQuery($q_rekap_hasil); + if($db->dbRows()>0){ + $rkh=$db->dbFetch(); + $draft['kep_judul']=$rkh['judul_final']; + $draft['kep_pemb1']=$rkh['dpemb1']; + $draft['kep_pemb2']=$rkh['dpemb2']; + $draft['kep_peng1']=$rkh['dpeng1']; + $draft['kep_peng2']=$rkh['dpeng2']; + $draft['kep_tgl']=tanggalIndo($rkh['tgl_kep']." ".$rkh['wkt_kep'],'j F Y H:i'); + $draft['kep_ket']=($rkh['ket']!="")?$rkh['ket']:"Tidak Ada."; + $draft['kep_smt']=$rkh['semester']; + $draft['kep_thn_ajaran']=$rkh['tahun_ajaran']; + } + + //------------ + //aksi untuk insert ke tmp_notif dan tmp_notif_r untuk judul terbaru dan pemberitahuan terbaru + if($jenisuser=="K"){ + $jenisuser="D"; + } + $notifr="UPDATE tmp_notif_r SET `read`='Y' WHERE idkonten='$id' AND idProdi='$prodi' AND user='$username' AND jns_usr='$jenisuser' AND `read`='N'"; + $db->runQuery($notifr); + + $checknotif="SELECT COUNT(id) as jlh FROM tmp_notif WHERE idkonten='$id' AND idProdi='$prodi' AND iduser='$iduser' AND typeuser='$jenisuser' AND jenis='J'"; + $db->runQuery($checknotif); + $r=$db->dbFetch(); + if($r['jlh']==0){ + $db->runQuery("INSERT INTO tmp_notif SET idkonten='$id', idProdi='$prodi',iduser='$iduser',typeuser='$jenisuser',jenis='J', `date`='".NOW."'"); + } + //----------- + $response["success"] = "1"; + $response["msg"] = "Sukses "; + array_push($response["data"], $draft); + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Data Tidak Ada"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); + } + break; + + //menampilka data review dari draft praoutline + case 'review': + $id=$_POST['iddraft']; + $prodi=$_POST['idprodi']; + if($id!=""){ + $rev="SELECT tr.*,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) + WHERE tr.idProdi='$prodi' + GROUP BY tr.id HAVING tr.idpraoutline='".$id."' + ORDER BY id DESC"; + $db->runQuery($rev); + if($db->dbRows()>0){ + $response=array(); + $response["data"]=array(); + + while($r=$db->dbFetch()){ + $review=array(); + + if($r['putusan']=='1'){ + $review['putusan']="Setuju"; + }else if($r['putusan']=='0'){ + $review['putusan']="Tidak Setuju"; + }else{ + $review['putusan']=""; + } + + $review['revid']=$r['id']; + $review['reviewer']=($r['nmMhs']!="")?$r['nmMhs']:$r['nmDosen']; + $review['revtext']=strip_tags(bbcode_quote($r['review_text'],"webapi")); + // $review['revwebtext']=bbcode_quote(strip_tags($r['review_text'])); + $review['revwebtext']=bbcode_quote(($r['review_text'])); + $review['revtgl']=tanggalIndo($r['tgl']." ".$r['wkt'],'j F Y H:i'); + + array_push($response["data"], $review); + } + $response["success"] = "1"; + $response["msg"] = "Sukses"; + + echo json_encode($response); + + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Data Tidak Ada"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); + } + break; + + //aksi post tanggapan / review untuk draft praoutline + case 'postrev': + $idpraoutline=$_POST['iddraft']; + $reviewer=$_POST['reviewer']; + $prodi=$_POST['prodi']; + $jenisuser=$_POST['juser']; + $nama_reviewer=""; + $putusan=$_POST['putusan']; + if($putusan!=""){ + $jenisrev=" jenis_review='1', "; + }else{ + $jenisrev=" jenis_review='0', "; + if($putusan!=""){ + $kep="jenis_review='1', putusan='".$putusan."',"; + $check="SELECT id FROM tbreview WHERE idProdi='$prodi' AND idpraoutline='$idpraoutline' + AND reviewer='$reviewer' AND (putusan IS NOT NULL AND putusan <> '')"; + $db->runQuery($check); + if($db->dbRows()>0){ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Maaf, Anda Telah Memberikan Keputusan pada Draft Praoutline ini"; + echo json_encode($response); + exit; + } + } + } + $revtext=$_POST['revtext']; + if(ctype_digit($idpraoutline)){ + $insert="INSERT INTO tbreview SET + idpraoutline='".$idpraoutline."', + idProdi='".$prodi."', + reviewer='".$reviewer."', + review_text='".$revtext."', + putusan='".$putusan."', + $jenisrev + tgl='".CURDATE."', + wkt='".CURTIME."'"; + + if($db->runQuery($insert)){ + $response["success"] = "1"; + $response["data"] = null; + $response["msg"] = "Sukses Menambahkan Tanggapan"; + echo json_encode($response); + + if($jenisuser=="M"){ + $nmq="SELECT nmLengkap FROM tbmhs WHERE nim='$reviewer'"; + $jenis=" jns_usr='D', "; + }else{ + $nmq="SELECT nmLengkap FROM tbdosen WHERE nip='$reviewer'"; + $jenis=" jns_usr='M', "; + } + $db->runQuery($nmq); + if($db->dbRows()>0){ + $x=$db->dbFetch(); + $nama_reviewer=$x['nmLengkap']; + } + + $notif="SELECT DISTINCT(reviewer),gs.regid + FROM tbreview + LEFT JOIN gcm_service gs ON (gs.iduser=tbreview.reviewer) + WHERE reviewer<>'$reviewer' AND idpraoutline='$idpraoutline'"; + //echo $notif; + $db->runQuery($notif); + if($db->dbRows()>0){ + $revnama=array(); + $registrationid=array(); + while($r=$db->dbFetch()){ + $revnama[]=$r['reviewer']; + array_push($registrationid, $r['regid']); + } + if(count($revnama)>0){ + for($ss=0;$ssrunQuery($setnotif); + } + //gcm + //----------------------------------------------------------------------------- + $isipesan=$nama_reviewer. " Menambahkan Tanggapan Baru"; + $pesan=json_encode(array("jenisnotif"=>"P","pesan"=>$isipesan)); + $message = array("spota" => $pesan); + + sendPushNotificationToGCM($registrationid, $message); + //-------------------------------------------------------------------------------- + } + + } + + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Gagal Menambahkan Tanggapan, DBError"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found la"; + echo json_encode($response); + } + break; + + //aksi close draft praoutline + case 'closedraft': + $idpraoutline=$_POST['idpraoutline']; + $nim=$_POST['nim']; + $putusan=$_POST['putusan']; + $keterangan=$_POST['ket']; + $idprodi=$_POST['idprodi']; + switch ($putusan) { + case '1': + $q1="INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$idprodi."', + nim='".$nim."', + kep_akhir='".$putusan."', + judul_final='".$_POST['judulfinal']."', + pemb1='".$_POST['pemb1']."', + pemb2='".$_POST['pemb2']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$idprodi."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$idprodi."' AND `name`='thn_ajaran'), + ket='".$keterangan."'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$idprodi."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan="Selamat, Draft Praoutline Yang Anda Ajukan Disetujui"; + break; + + case '2': + $q1="INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$idprodi."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$idprodi."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$idprodi."' AND `name`='thn_ajaran'), + ket='".$keterangan."'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$idprodi."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan="Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui"; + break; + + case '3': + $q1="INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$idprodi."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$idprodi."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$idprodi."' AND `name`='thn_ajaran'), + ket='".$keterangan."'"; + + $notif="INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$idprodi."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan="Maaf, Draft Praoutline Yang Anda Ajukan Gugur"; + break; + } + + $q2="UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + if($db->runQuery($q1)){ + echo json_encode(array("success"=>"1","data"=>null,"msg"=>"Putusan Draft Praoutline Sukses")); + $db->runQuery($q2); + $db->runQuery($notif); + //gcm + //----------------------------------------------------------------------------- + $g="SELECT regid FROM gcm_service WHERE jenisuser IN('M') AND iduser='$nim'"; + $db->runQuery($g); + $registrationid=array(); + while($r=$db->dbFetch()){ + array_push($registrationid, $r['regid']); + } + $pesan=json_encode(array("jenisnotif"=>"P","pesan"=>$isipesan)); + $message = array("spota" => $pesan); + + sendPushNotificationToGCM($registrationid, $message); + //-------------------------------------------------------------------------------- + }else{ + echo json_encode(array("success"=>"0","data"=>null,"msg"=>"Aksi Gagal.")); + } + + break; + + //aksi mengambil id draft praoutline aktif (untuk mahasiswa) + case 'getid': + $nim=$_POST['nim']; + if(ctype_alnum($nim)){ + $cq="SELECT id FROM tbpraoutline WHERE nim='$nim' ORDER BY tgl_upload DESC, wkt_upload DESC LIMIT 1"; + $db->runQuery($cq); + if($db->dbRows()>0){ + $d=$db->dbFetch(); + $idpra=$d['id']; + + $response["success"] = "1"; + $response["data"] = $idpra; + $response["msg"] = "Sukses"; + echo json_encode($response); + + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Anda Belum Mengupload Draft Praoutline, Silakan Upload Terlebih Dahulu Pada Website SPOTA Teknik Informatika Untan."; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); + } + break; + + //menampilkan daftar draft praoutline yang baru di upload mahasiswa (untuk dosen) + case 'new': + $iduser=$_POST['iddosen']; + $prodi=$_POST['idprodi']; + $new="SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.status_usulan, + COUNT(tr.id) as jlhreview, + COUNT(if(tr.jenis_review='0',1,null)) as komentar, + COUNT(if(tr.jenis_review='1',1,null)) as putusan, + COUNT(if(tr.putusan='1',1,null)) as setuju, + count(if(tr.putusan='0',1,null)) as tdk_setuju + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE tp.idProdi='$prodi' AND tp.id NOT IN (SELECT idkonten FROM tmp_notif WHERE iduser='$iduser' AND typeuser IN ('D','K')) + AND tp.status_usulan='0' + GROUP BY tp.id"; + + $db->runQuery($new); + if($db->dbRows()>0){ + + $response=array(); + $response["data"]=array(); + while($r=$db->dbFetch()){ + $draft=array(); + if($r['status_usulan']==0){ + $draft['status']='Dalam Proses'; + }else if($r['status_usulan']==1){ + $draft['status']='Judul Diterima'; + }else if($r['status_usulan']==2){ + $draft['status']='Judul Ditolak'; + }else if($r['status_usulan']==3){ + $draft['status']='Judul Gugur'; + } + + $draft['iddraft']=$r['id']; + $draft['idprodi']=$r['idProdi']; + $draft['judul']=$r['judul']; + $draft['berkas']=DOMAIN_UTAMA."/download.php?doc_id=".$r['id']; + $draft['tgl']=tanggalIndo($r['tgl_upload'],'j F Y'); + $draft['setuju']=$r['setuju']." Setuju"; + $draft['tolak']=$r['tdk_setuju']." Tidak Setuju"; + $draft['jlhreview']=$r['jlhreview']." Tanggapan"; + $draft['nim']=$r['nim']; + $draft['kdstatus']=$r['status_usulan']; + $draft['namamhs']=$r['nama']; + + array_push($response["data"], $draft); + } + + $response["success"] = "1"; + $response["msg"] = "Sukses"; + + echo json_encode($response); + }else{ + $response["success"] = "1"; + $response["data"] = null; + $response["msg"] = "Data Tidak Ada"; + echo json_encode($response); + } + break; + + //menampilkan daftar draft praoutline yang siap di close dari batas minimum jumlah setuju + case 'accepted': + $prodi=$_POST['idprodi']; + $new="SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.status_usulan, + COUNT(tr.id) as jlhreview, + COUNT(if(tr.jenis_review='0',1,null)) as komentar, + COUNT(if(tr.jenis_review='1',1,null)) as putusan, + COUNT(if(tr.putusan='1',1,null)) as setuju, + count(if(tr.putusan='0',1,null)) as tdk_setuju + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE tp.idProdi='$prodi' AND tp.status_usulan='0' + GROUP BY tp.id + HAVING (COUNT(if(tr.putusan='1',1,null))) >= (SELECT `values` FROM web_setting WHERE `name`='min_close' AND idProdi='$prodi')"; + + $db->runQuery($new); + if($db->dbRows()>0){ + + $response=array(); + $response["data"]=array(); + while($r=$db->dbFetch()){ + $draft=array(); + if($r['status_usulan']==0){ + $draft['status']='Dalam Proses'; + }else if($r['status_usulan']==1){ + $draft['status']='Judul Diterima'; + }else if($r['status_usulan']==2){ + $draft['status']='Judul Ditolak'; + }else if($r['status_usulan']==3){ + $draft['status']='Judul Gugur'; + } + + $draft['iddraft']=$r['id']; + $draft['idprodi']=$r['idProdi']; + $draft['judul']=$r['judul']; + $draft['berkas']=DOMAIN_UTAMA."/download.php?doc_id=".$r['id']; + $draft['tgl']=tanggalIndo($r['tgl_upload'],'j F Y'); + $draft['setuju']=$r['setuju']." Setuju"; + $draft['tolak']=$r['tdk_setuju']." Tidak Setuju"; + $draft['jlhreview']=$r['jlhreview']." Tanggapan"; + $draft['nim']=$r['nim']; + $draft['kdstatus']=$r['status_usulan']; + $draft['namamhs']=$r['nama']; + + array_push($response["data"], $draft); + } + + $response["success"] = "1"; + $response["msg"] = "Sukses"; + + echo json_encode($response); + }else{ + $response["success"] = "1"; + $response["data"] = null; + $response["msg"] = "Data Tidak Ada"; + echo json_encode($response); + } + break; + + //menampilkan daftar draft praoutline yang pernah di komentari/ditanggapi oleh dosen + case 'history': + $nipdosen=$_POST['nip']; + $prodi=$_POST['idprodi']; + //$optional="(SELECT CONCAT(tgl," ",wkt)FROM tbreview WHERE reviewer='$nipdosen' AND idpraoutline=tp.id ORDER BY tgl DESC,wkt DESC LIMIT 1)lastcomment,"; + $history="SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.berkas, + tp.status_usulan, + COUNT(tr.id) as jlhreview, + COUNT(if(tr.jenis_review='0',1,null)) as komentar, + COUNT(if(tr.jenis_review='1',1,null)) as putusan, + COUNT(if(tr.putusan='1',1,null)) as setuju, + COUNT(if(tr.putusan='0',1,null)) as tdk_setuju + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE tp.idProdi='$prodi' AND tp.id IN + (SELECT idpraoutline + FROM tbreview + WHERE reviewer='$nipdosen') + GROUP BY tp.id + ORDER BY (select tgl FROM tbreview where reviewer='$nipdosen' AND idpraoutline=tp.id ORDER BY tgl DESC, wkt DESC LIMIT 1) DESC + "; + + $db->runQuery($history); + if($db->dbRows()>0){ + $response=array(); + $response["data"]=array(); + while($r=$db->dbFetch()){ + $draft=array(); + + if($r['status_usulan']==0){ + $draft['status']='Dalam Proses'; + }else if($r['status_usulan']==1){ + $draft['status']='Judul Diterima'; + }else if($r['status_usulan']==2){ + $draft['status']='Judul Ditolak'; + }else if($r['status_usulan']==3){ + $draft['status']='Judul Gugur'; + } + + $draft['iddraft']=$r['id']; + $draft['idprodi']=$r['idProdi']; + $draft['judul']=$r['judul']; + $draft['berkas']=DOMAIN_UTAMA."/download.php?doc_id=".$r['id']; + $draft['tgl']=tanggalIndo($r['tgl_upload'],'j F Y'); + $draft['setuju']=$r['setuju']." Setuju"; + $draft['tolak']=$r['tdk_setuju']." Tidak Setuju"; + $draft['jlhreview']=$r['jlhreview']." Tanggapan"; + $draft['nim']=$r['nim']; + $draft['kdstatus']=$r['status_usulan']; + $draft['namamhs']=$r['nama']; + array_push($response["data"], $draft); + } + + $response["success"] = "1"; + $response["msg"] = "Sukses"; + + echo json_encode($response); + }else{ + $response["success"] = "1"; + $response["data"] = null; + $response["msg"] = "Data Tidak Ada"; + echo json_encode($response); + } + break; + + //menampilkan daftar draft praoutline yang pernah di komentari/ditanggapi oleh dosen + case 'notreviewed': + $nipdosen=$_POST['nip']; + $prodi=$_POST['idprodi']; + $notrev="SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.berkas, + tp.status_usulan, + COUNT(tr.id) as jlhreview, + COUNT(if(tr.jenis_review='0',1,null)) as komentar, + COUNT(if(tr.jenis_review='1',1,null)) as putusan, + COUNT(if(tr.putusan='1',1,null)) as setuju, + COUNT(if(tr.putusan='0',1,null)) as tdk_setuju + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE tp.idProdi='$prodi' AND tp.status_usulan='0' AND tp.id NOT IN + (SELECT idpraoutline + FROM tbreview + WHERE reviewer='$nipdosen') + GROUP BY tp.id"; + + $db->runQuery($notrev); + if($db->dbRows()>0){ + $response=array(); + $response["data"]=array(); + while($r=$db->dbFetch()){ + $draft=array(); + + if($r['status_usulan']==0){ + $draft['status']='Dalam Proses'; + }else if($r['status_usulan']==1){ + $draft['status']='Judul Diterima'; + }else if($r['status_usulan']==2){ + $draft['status']='Judul Ditolak'; + }else if($r['status_usulan']==3){ + $draft['status']='Judul Gugur'; + } + + $draft['iddraft']=$r['id']; + $draft['idprodi']=$r['idProdi']; + $draft['judul']=$r['judul']; + $draft['berkas']=DOMAIN_UTAMA."/download.php?doc_id=".$r['id']; + $draft['tgl']=tanggalIndo($r['tgl_upload'],'j F Y'); + $draft['setuju']=$r['setuju']." Setuju"; + $draft['tolak']=$r['tdk_setuju']." Tidak Setuju"; + $draft['jlhreview']=$r['jlhreview']." Tanggapan"; + $draft['nim']=$r['nim']; + $draft['kdstatus']=$r['status_usulan']; + $draft['namamhs']=$r['nama']; + array_push($response["data"], $draft); + } + + $response["success"] = "1"; + $response["msg"] = "Sukses"; + + echo json_encode($response); + }else{ + $response["success"] = "1"; + $response["data"] = null; + $response["msg"] = "Data Tidak Ada"; + echo json_encode($response); + } + break; + + //menampilkan daftar draft praoutline hasil keputusan dimana dosen menjadi salah satu bagian dari team. + case 'keputusan': + $nipdosen=$_POST['nip']; + $prodi=$_POST['idprodi']; + $kep="SELECT trh.*, + (SELECT nmLengkap FROM tbdosen WHERE nip=trh.pemb1) as dpemb1, + (SELECT nmLengkap FROM tbdosen WHERE nip=trh.pemb2) as dpemb2, + (SELECT nmLengkap FROM tbdosen WHERE nip=trh.peng1) as dpeng1, + (SELECT nmLengkap FROM tbdosen WHERE nip=trh.peng2) as dpeng2, + (SELECT nmLengkap FROM tbmhs WHERE nim=trh.nim) as nm_mhs + FROM tbrekaphasil trh + WHERE trh.idProdi='$prodi' AND trh.kep_akhir='1' AND (trh.pemb1='$nipdosen' OR trh.pemb2='$nipdosen' OR trh.peng1='$nipdosen' OR trh.peng2='$nipdosen') + ORDER BY trh.tgl_kep DESC, trh.wkt_kep DESC"; + + $db->runQuery($kep); + if($db->dbRows()>0){ + $response=array(); + $response["data"]=array(); + while($r=$db->dbFetch()){ + $draft=array(); + + if($r['pemb1']==$nipdosen){ + $draft['stat_sebagai']='Sebagai Pembimbing 1'; + } + if($r['pemb2']==$nipdosen){ + $draft['stat_sebagai']='Sebagai Pembimbing 2'; + } + if($r['peng1']==$nipdosen){ + $draft['stat_sebagai']='Sebagai Penguji 1'; + } + if($r['peng2']==$nipdosen){ + $draft['stat_sebagai']='Sebagai Penguji 2'; + } + + $draft['iddraft']=$r['idpraoutline']; + $draft['idprodi']=$r['idProdi']; + $draft['judul']=$r['judul_final']; + $draft['tgl']=tanggalIndo($r['tgl_kep']." ".$r['wkt_kep'],'j F Y H:i'); + $draft['nim']=$r['nim']; + $draft['namamhs']=$r['nm_mhs']; + array_push($response["data"], $draft); + } + + $response["success"] = "1"; + $response["msg"] = "Sukses"; + + echo json_encode($response); + }else{ + $response["success"] = "1"; + $response["data"] = null; + $response["msg"] = "Data Tidak Ada"; + echo json_encode($response); + } + break; + + default: + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); + break; + + } +}else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} \ No newline at end of file diff --git a/client_api/profil.php b/client_api/profil.php new file mode 100644 index 0000000..bddee71 --- /dev/null +++ b/client_api/profil.php @@ -0,0 +1,223 @@ +runQuery($qu); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["profil"] = array(); + + $detail['nama_lengkap']=$r['nmLengkap']; + $detail['id_user']=$r['idmhs']; + $detail['id_prodi']=$r['idProdi']; + $detail['username']=$r['nim']; + $detail['email']=$r['email']; + $detail['angkatan']=$r['thnmasuk']; + $detail['foto']=LINK_GAMBAR.$r['foto']; + + $response["success"] = "1"; + $response["msg"] = "Data Loaded"; + array_push($response["profil"], $detail); + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed (Data Not Found)"; + echo json_encode($response); + } + }else if($jenis=="D" OR $jenis=="K"){ + $qu="SELECT * FROM tbdosen WHERE idDosen='$id' AND idProdi='$prodi' LIMIT 1"; + $db->runQuery($qu); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["profil"] = array(); + + $detail['nama_lengkap']=$r['nmLengkap']; + $detail['id_user']=$r['iddosen']; + $detail['id_prodi']=$r['idProdi']; + $detail['username']=$r['nip']; + $detail['email']=$r['email']; + $detail['nohp']=$r['nohp']; + $detail['jabatan']=$r['jenis']; + $detail['foto']=LINK_GAMBAR.$r['foto']; + + $response["success"] = "1"; + $response["msg"] = "Data Loaded"; + array_push($response["profil"], $detail); + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed (Data Not Found)"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed"; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Load Data Failed"; + echo json_encode($response); + } + break; + + case 'update': + $id=$_POST['id']; + $jenis=$_POST['j']; + + if(ctype_digit($id)){ + + $RandomNumber = rand(0, 9999999999); + + if($jenis=="M"){ + $ImageName = "mhs"; + }else{ + $ImageName = "dosen"; + } + $NewImageName = $ImageName.'_'.$RandomNumber.'.jpg'; + + if($_POST['pic']!=""){ + base64_to_jpeg($_POST['pic'],DIR_GAMBAR.$NewImageName); + $foto=" foto='".$NewImageName."', "; + }else{ + $foto=""; + } + + + if($jenis=="M"){ + $oldpic="SELECT foto FROM tbmhs WHERE idmhs='$id'"; + $db->runQuery($oldpic); + $rpic=$db->dbFetch(); + $gambarlama=$rpic['foto']; + + $u="UPDATE tbmhs SET + nmLengkap='".$_POST['nama']."', + $foto + email='".$_POST['email']."' + WHERE idmhs='$id'"; + }else if($jenis=="D" OR $jenis=="K"){ + $oldpic="SELECT foto FROM tbdosen WHERE iddosen='$id'"; + $db->runQuery($oldpic); + $rpic=$db->dbFetch(); + $gambarlama=$rpic['foto']; + + $u="UPDATE tbdosen SET + nmLengkap='".$_POST['nama']."', + email='".$_POST['email']."', + nohp='".$_POST['nohp']."', + $foto + jabatan='".$_POST['jabatan']."' + WHERE iddosen='$id'"; + } + + if($db->runQuery($u)){ + $response["success"] = "1"; + $response["profil"] = null; + $response["msg"] = "Profil Berhasil Diupdate"; + if($_POST['pic']!=""){ + @unlink(DIR_GAMBAR.$gambarlama); + } + echo json_encode($response); + }else{ + @unlink(DIR_GAMBAR.$NewImageName); + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Gagal Update Data - "; + echo json_encode($response); + } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Sorry, Cant Process Your Request"; + echo json_encode($response); + } + break; + + case 'update_pwd': + $id=$_POST['id']; + $jenis=$_POST['j']; + $pwdbaru=$_POST['pwdbaru']; + $pwdlama=$_POST['pwdlama']; + $u=""; + if(ctype_digit($id)){ + if($jenis=="M"){ + $s="SELECT password FROM tbmhs WHERE idmhs='$id' LIMIT 1"; + $db->runQuery($s); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + if($r['password']==md5($pwdlama)){ + $u="UPDATE tbmhs SET password='".md5($pwdbaru)."' WHERE idmhs='$id'"; + }else{ + echo json_encode(array("success"=>"0", + "profil"=>null, + "msg"=>"Password Lama Tidak Sesuai")); + } + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Data Not Found")); + } + }else if($jenis=="D" OR $jenis=="K"){ + $s="SELECT password FROM tbdosen WHERE iddosen='$id' LIMIT 1"; + $db->runQuery($s); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + if($r['password']==md5($pwdlama)){ + $u="UPDATE tbdosen SET password='".md5($pwdbaru)."' WHERE iddosen='$id'"; + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Password Lama Tidak Sesuai")); + } + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"Data Not Found")); + } + } + + if($db->runQuery($u)){ + echo json_encode(array("success"=>"1","profil"=>null,"msg"=>"Ganti Password Berhasil")); + }else{ + echo json_encode(array("success"=>"0","profil"=>null,"msg"=>"DBError")); } + }else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Sorry, Cant Process Your Request"; + echo json_encode($response); + } + break; + } +}else{ + $response["success"] = "0"; + $response["profil"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} + +function base64_to_jpeg($base64_string, $output_file) { + $ifp = fopen($output_file, "wb"); + + //$data = explode(',', $base64_string); + + fwrite($ifp, base64_decode($base64_string)); + fclose($ifp); + + return $output_file; +} \ No newline at end of file diff --git a/client_api/statistik.php b/client_api/statistik.php new file mode 100644 index 0000000..95565b6 --- /dev/null +++ b/client_api/statistik.php @@ -0,0 +1,164 @@ +runQuery($qs); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["data"]=array(); + + $stat['smt']=$r['semester']; + $stat['jlhterima']=$r['terima']; + $stat['jlhtolak']=$r['tolak']; + $stat['jlhgugur']=$r['gugur']; + $stat['jlhproses']=$r['proses']; + + + $response["success"] = "1"; + $response["msg"] = "Statistik Draft Praoutline Berdasarkan Tgl Pengajuan Per Semester"; + array_push($response["data"], $stat); + echo json_encode($response); + }else{ + $response=array(); + $response["data"]=array(); + + $stat['smt']=$smt; + $stat['jlhterima']=0; + $stat['jlhtolak']=0; + $stat['jlhgugur']=0; + $stat['jlhproses']=0; + + + $response["success"] = "1"; + $response["msg"] = "Statistik Draft Praoutline Berdasarkan Tgl Pengajuan Per Semester"; + array_push($response["data"], $stat); + echo json_encode($response); + } + + break; + + case 'dosen': + $nip=$_POST['nip']; + $prodi=$_POST['idprodi']; + $smt=$_POST['smt']; + + if($smt!=""){ + $filtersmt="AND trh.semester='".$smt."' "; + }else{ + $filtersmt="AND trh.semester= (SELECT `values` FROM web_setting WHERE `name`='smt' AND idProdi='".$prodi."') "; + } + + $q="SELECT td.nmLengkap,trh.semester,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='".$nip."' $filtersmt AND td.idProdi='".$prodi."' + GROUP BY td.nip"; + + //echo $q; + $db->runQuery($q); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $response=array(); + $response["data"]=array(); + + $stat['nip']=$nip; + $stat['smt']=$r['semester']; + $stat['pemb1']=$r['pemb1']; + $stat['pemb2']=$r['pemb2']; + $stat['peng1']=$r['peng1']; + $stat['peng2']=$r['peng2']; + + + $response["success"] = "1"; + $response["msg"] = "Statistik Dosen Per Semester"; + array_push($response["data"], $stat); + echo json_encode($response); + }else{ + $response=array(); + $response["data"]=array(); + + $stat['nip']=$nip; + $stat['smt']=$smt; + $stat['pemb1']=0; + $stat['pemb2']=0; + $stat['peng1']=0; + $stat['peng2']=0; + + $response["success"] = "1"; + $response["msg"] = "Sukses"; + array_push($response["data"], $stat); + echo json_encode($response); + } + break; + + case 'listsmt': + $prodi=$_POST['idprodi']; + $q="SELECT DISTINCT(semester) as smt FROM tbpraoutline + WHERE idProdi='$prodi' ORDER BY semester DESC"; + $db->runQuery($q); + if($db->dbRows()>0){ + $response=array(); + $response["data"]=array(); + while($s=$db->dbFetch()){ + $smt['smt']=$s['smt']; + + array_push($response["data"], $smt); + } + + $response["success"] = "1"; + $response["msg"] = "Data found"; + echo json_encode($response); + }else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Data not found"; + echo json_encode($response); + } + break; + + default: + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); + break; + } +}else{ + $response["success"] = "0"; + $response["data"] = null; + $response["msg"] = "Request not found"; + echo json_encode($response); +} \ No newline at end of file diff --git a/create-session-wa-gateway.php b/create-session-wa-gateway.php new file mode 100644 index 0000000..b4f193d --- /dev/null +++ b/create-session-wa-gateway.php @@ -0,0 +1,152 @@ + array( 'method' => 'DELETE' ) )) ); + //} + + $data = [ + 'id' => $nomor, + 'isLegacy' => false, + ]; + +/** + $curl = curl_init(); + + curl_setopt_array($curl, [ + CURLOPT_URL => $base_url.':8000/session/add', + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => '', + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 0, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => 'POST', + CURLOPT_POSTFIELDS => http_build_query($data), + ]); + + $response = curl_exec($curl); +*/ + + $postData = http_build_query($data); + $opts = ['http' => + [ + 'method' => 'POST', + 'ignore_errors' => true, + 'header' => 'Content-Type: application/x-www-form-urlencoded', + 'content' => $postData + ] + ]; + $context = stream_context_create($opts); + $response = file_get_contents($base_url.':8000/session/add', false, $context); + + $decodedResponse = json_decode($response, true); + + $resultQR = ""; + + + if(isset($decodedResponse['success'])){ + $success = (bool) $decodedResponse['success']; + $msg = $decodedResponse['message']; + + if($success){ + $base64QR = $decodedResponse['data']['qr']; + $resultQR = "status : $success, pesan : $msg"."
    "."qr-code"; + } + }else{ + $resultQR = $response.' '.'Tidak dapat terhubung dengan API'; + } + +} +?> + + + + + + + + List Session WA Gateway + + + + + + + + + + + + +
    +

    List Sesi WA Gateway

    +

    ,
    + + + + + + + + + $val){ + $btnHapusSesi = ""; + echo ""; + + $no++; + } + ?> + +
    No.NomorHapus
    $no$val$btnHapusSesi
    +
    +
    + + +
    + +
    + + + +
    + + + + \ No newline at end of file diff --git a/dosen/.htaccess b/dosen/.htaccess new file mode 100644 index 0000000..00a1bb1 --- /dev/null +++ b/dosen/.htaccess @@ -0,0 +1,8 @@ + +RewriteEngine On + + +RewriteRule ^dashboard/edit-data-dosen/(.*)$ dashboard.php?page=data&menu=data-dosen&act=edit&id=$1 [L] + + + diff --git a/dosen/API/getDetailMahasiswa.php b/dosen/API/getDetailMahasiswa.php new file mode 100644 index 0000000..47d6a40 --- /dev/null +++ b/dosen/API/getDetailMahasiswa.php @@ -0,0 +1,42 @@ +connect(); + +header('Content-Type: application/json'); + +if (!isset($_SESSION['login-dosen'])) { + echo json_encode(['status' => 403, 'msg' => 'Forbidden']); + exit; +} + +$nim = $_GET['nim']; + +$url = "https://informatika.untan.ac.id/API/public/get_detail_mahasiswa.php?key=MfQE6ej2ffxEKgVx7YXVA3HbHg3d4hRhXyBnRnYgkjwuSaLNW2V5PxeVSKWySUsbbhVyEWVSs&nim=$nim"; +$getDetailMahasiswa = file_get_contents($url); +$decodedDetailMahasiswa = json_decode($getDetailMahasiswa, true); + +if(!isset($decodedDetailMahasiswa['status'])){ + echo json_encode([ + 'status' => 0, + 'msg' => 'Tidak dapat mengakses API biodata informatika', + ]); + exit; +} + +if($decodedDetailMahasiswa['status'] == "0"){ + echo json_encode([ + 'status' => 0, + 'msg' => $decodedDetailMahasiswa['msg'], + ]); + exit; +} + +$data = $decodedDetailMahasiswa['data']; + +echo json_encode(utf8ize(['status' => 1, 'data' => $data])); +?> \ No newline at end of file diff --git a/dosen/API/getEarlyWarningMonitoring.php b/dosen/API/getEarlyWarningMonitoring.php new file mode 100644 index 0000000..a0308af --- /dev/null +++ b/dosen/API/getEarlyWarningMonitoring.php @@ -0,0 +1,144 @@ +connect(); + +header('Content-Type: application/json'); + +if (!isset($_SESSION['login-dosen'])) { + echo json_encode(['status' => 403, 'msg' => 'Forbidden']); + exit; +} + +$lewat = intval($_GET['lewat']); +$bimbingan = intval($_GET['bimbingan']); +$nipDosen = $_SESSION['login-dosen']['nip']; + +$whereLewat = ''; +$whereBimbingan = ''; + +$time1Year = strtotime(date('Y-m-d').' -1 year'); +$date1Year = date('Y-m-d', $time1Year); + +if ($lewat == 0) { + $whereLewat = " AND tgl_kep >= '$date1Year'"; +} + +if ($lewat == 1) { + $whereLewat = " AND tgl_kep < '$date1Year'"; +} + +if ($bimbingan == 0) { + $whereBimbingan = " AND (pemb1 = '$nipDosen' OR pemb2 = '$nipDosen') "; +} + +$listTahunMasukMahasiswa = []; +$sql = "SELECT * FROM tbmhs"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $nimDb = $row['nim']; + $thnMasukDb = $row['thnmasuk']; + + $listTahunMasukMahasiswa[$nimDb] = intval($thnMasukDb); +} + +$sql = "SELECT * FROM tbrekaphasil LEFT JOIN (SELECT tbjadwal.id as idJadwal, tbjadwal.idMhs as idMahasiswa, tbmhs.nim as nimMahasiswa FROM tbjadwal LEFT JOIN tbmhs ON tbjadwal.idMhs = tbmhs.idmhs WHERE tbjadwal.jenis = 'Sidang' AND tbjadwal.publish = 'Y') tJadwal ON tbrekaphasil.nim = tJadwal.nimMahasiswa WHERE kep_akhir = 1 $whereLewat $whereBimbingan ORDER BY tgl_kep ASC"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$currentYear = date('Y'); +$limitYear = $currentYear - 8; + +$listData = []; +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $idJadwal = $row['idJadwal']; + $nim = $row['nim']; + + if(isset($listTahunMasukMahasiswa[$nim])){ + $tahunMasuk = $listTahunMasukMahasiswa[$nim]; + if($tahunMasuk < $limitYear){ + continue; + } + } + + + if ($idJadwal == null) { + $nim = $row['nim']; + + $sql = "SELECT * FROM tbmhs WHERE nim = '$nim'"; + $stmt1 = $dbh->prepare($sql); + $stmt1->bindParam(':nim', $nim); + $stmt1->execute(); + + $namaMahasiswa = ''; + $idMhs = ''; + while ($row1 = $stmt1->fetch(PDO::FETCH_ASSOC)) { + $namaMahasiswa = $row1['nmLengkap']; + $idMhs = $row1['idmhs']; + } + + $sql = "SELECT * FROM tbjadwal WHERE idMhs = '$idMhs' AND jenis = 'Outline'"; + $stmt1 = $dbh->prepare($sql); + $stmt1->execute(); + + $tanggalSeminar = null; + + while ($row1 = $stmt1->fetch(PDO::FETCH_ASSOC)) { + $tanggalSeminar = $row1['start']; + $arrTglSeminar = explode(' ', $tanggalSeminar); + if (sizeof($arrTglSeminar) > 0) { + $arrYmd = explode('-', $arrTglSeminar[0]); + $tanggalSeminar = $arrYmd[2].'-'.$arrYmd[1].'-'.$arrYmd[0]; + } + } + + $tglKep = $row['tgl_kep']; + + $date1 = date_create(date('Y-m-d')); + $date2 = date_create($tglKep); + $diff = date_diff($date1, $date2); + + $diffHari = intval($diff->format('%a')); + $lewatHari = intval($diff->format('%d')); + $diffTahun = intval($diff->format('%y')); + $diffBulan = intval($diff->format('%m')); + + if ($diffTahun > 0) { + $diffBulan = ($diffTahun * 12) + $diffBulan; + } + + if ($lewatHari > 0) { + ++$diffBulan; + } + + if ($diffBulan > 12) { + $diffBulan = 12; + } + + array_push($listData, [ + 'id' => $row['idpraoutline'], + 'nama' => $namaMahasiswa, + 'nim' => $row['nim'], + 'judul' => $row['judul_final'], + 'pemb1' => $row['pemb1'], + 'pemb2' => $row['pemb2'], + 'peng1' => $row['peng1'], + 'peng2' => $row['peng2'], + 'tglKeputusan' => date('d-m-Y', strtotime($row['tgl_kep'])), + 'semester' => $row['semester'], + 'tahun' => $row['tahun_ajaran'], + 'waktuBerjalan' => $diffHari, + 'bulanBerjalan' => $diffBulan, + 'tanggalSeminar' => $tanggalSeminar, + ]); + } +} + +echo json_encode(utf8ize($listData)); diff --git a/dosen/API/getEarlyWarningMonitoringByOutline.php b/dosen/API/getEarlyWarningMonitoringByOutline.php new file mode 100644 index 0000000..f72f7c3 --- /dev/null +++ b/dosen/API/getEarlyWarningMonitoringByOutline.php @@ -0,0 +1,147 @@ +connect(); + +header('Content-Type: application/json'); + +if (!isset($_SESSION['login-dosen'])) { + echo json_encode(['status' => 403, 'msg' => 'Forbidden']); + exit; +} + +$lewat = intval($_GET['lewat']); +$bimbingan = intval($_GET['bimbingan']); +$nipDosen = $_SESSION['login-dosen']['nip']; + +$whereLewat = ''; +$whereBimbingan = ''; + +$time1Year = strtotime(date('Y-m-d').' -1 year'); +$date1Year = date('Y-m-d', $time1Year); + +if ($lewat == 0) { + $whereLewat = " AND start >= '$date1Year'"; +} + +if ($lewat == 1) { + $whereLewat = " AND start < '$date1Year'"; +} + +if ($bimbingan == 0) { + $whereBimbingan = " AND (pemb1 = '$nipDosen' OR pemb2 = '$nipDosen') "; +} + +$listTahunMasukMahasiswa = []; +$sql = "SELECT * FROM tbmhs"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $nimDb = $row['nim']; + $thnMasukDb = $row['thnmasuk']; + + $listTahunMasukMahasiswa[$nimDb] = intval($thnMasukDb); +} + + +$sql = "SELECT * FROM tbrekaphasil LEFT JOIN (SELECT tbjadwal.id as idJadwal, tbjadwal.idMhs as idMahasiswa, tbmhs.nim as nimMahasiswa, start as tanggalSeminar, thnmasuk FROM tbjadwal LEFT JOIN tbmhs ON tbjadwal.idMhs = tbmhs.idmhs WHERE tbjadwal.jenis = 'Outline' AND tbjadwal.publish = 'Y' $whereLewat) tJadwal ON tbrekaphasil.nim = tJadwal.nimMahasiswa WHERE kep_akhir = 1 $whereBimbingan ORDER BY tanggalSeminar ASC"; + +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$currentYear = date('Y'); +$limitYear = $currentYear - 8; +$listData = []; +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $idJadwal = $row['idJadwal']; + + $nim = $row['nim']; + if(isset($listTahunMasukMahasiswa[$nim])){ + $tahunMasuk = $listTahunMasukMahasiswa[$nim]; + if($tahunMasuk < $limitYear){ + continue; + } + } + + + $idMhs = $row['idMahasiswa']; + $tanggalSeminar = $row['tanggalSeminar']; + $tanggalSeminarYmd = $row['tanggalSeminar']; + + $arrTglSeminar = explode(' ', $tanggalSeminar); + if (sizeof($arrTglSeminar) > 0) { + //$tanggalSeminar = date('d-m-Y', $arrTglSeminar[0]); + $arrYmd = explode('-', $arrTglSeminar[0]); + $tanggalSeminar = $arrYmd[2].'-'.$arrYmd[1].'-'.$arrYmd[0]; + } + + if ($idJadwal != null) { + $nim = $row['nim']; + + $sql = "SELECT * FROM tbjadwal WHERE idMhs = '$idMhs' AND jenis = 'Sidang'"; + $stmt1 = $dbh->prepare($sql); + $stmt1->execute(); + + if ($stmt1->rowCount() > 0) { + continue; + } + + $sql = "SELECT * FROM tbmhs WHERE nim = '$nim'"; + $stmt1 = $dbh->prepare($sql); + //$stmt1->bindParam(':nim', $nim); + $stmt1->execute(); + + $namaMahasiswa = ''; + while ($row1 = $stmt1->fetch(PDO::FETCH_ASSOC)) { + $namaMahasiswa = $row1['nmLengkap']; + } + + $tglKep = $row['tgl_kep']; + + $date1 = date_create(date('Y-m-d')); + $date2 = date_create($tanggalSeminarYmd); + $diff = date_diff($date1, $date2); + + $diffHari = intval($diff->format('%a')); + $lewatHari = intval($diff->format('%d')); + $diffTahun = intval($diff->format('%y')); + $diffBulan = intval($diff->format('%m')); + + if ($diffTahun > 0) { + $diffBulan = ($diffTahun * 12) + $diffBulan; + } + + if ($lewatHari > 0) { + ++$diffBulan; + } + + if ($diffBulan > 12) { + $diffBulan = 12; + } + + array_push($listData, [ + 'id' => $row['idpraoutline'], + 'nama' => $namaMahasiswa, + 'nim' => $row['nim'], + 'tanggalSeminar' => $tanggalSeminar, + 'judul' => $row['judul_final'], + 'pemb1' => $row['pemb1'], + 'pemb2' => $row['pemb2'], + 'peng1' => $row['peng1'], + 'peng2' => $row['peng2'], + 'tglKeputusan' => date('d-m-Y', strtotime($row['tgl_kep'])), + 'semester' => $row['semester'], + 'tahun' => $row['tahun_ajaran'], + 'waktuBerjalan' => $diffHari, + 'bulanBerjalan' => $diffBulan, + ]); + } +} + +echo json_encode(utf8ize($listData)); diff --git a/dosen/API/list.data.judul.saya.php b/dosen/API/list.data.judul.saya.php new file mode 100644 index 0000000..437df04 --- /dev/null +++ b/dosen/API/list.data.judul.saya.php @@ -0,0 +1,136 @@ +connect(); + +header('Content-Type: application/json'); + +if (!isset($_SESSION['login-dosen'])) { + echo json_encode(['status' => 403, 'msg' => 'Forbidden']); + exit; +} + +$status = $_GET['status']; +$sumber = $_GET['sumber']; + +$kk = "all"; +if(isset($_GET['kk'])){ + $kk = $_GET['kk']; +} +$idDosen = $_SESSION['login-dosen']['id']; + +$whereDosen = ""; +if($sumber == "0"){ + $whereDosen = "WHERE idDosen = '$idDosen' "; +} + +$sql = "SELECT * FROM tbdosen"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listNamaDosen = []; +while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $listNamaDosen[$row['iddosen']] = $row['nmLengkap']; +} + +$sql = "SELECT * FROM tb_kelompok_keahlian"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listKK = []; +while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $listKK[$row['idKK']] = $row; +} + +$sql = "SELECT tData.*, tbmhs.nim, tbmhs.nmLengkap FROM (SELECT * FROM tb_penawaran_judul LEFT JOIN (SELECT t.idPenawaranAmbil, t.idMhs, t.statusPengambilan, t.waktuPengambilan, t.waktuVerifikasi, r.maxWaktu + FROM ( + SELECT idPenawaranAmbil, MAX(waktuPengambilan) as maxWaktu + FROM tb_ambil_judul + GROUP BY idPenawaranAmbil + ) r + INNER JOIN tb_ambil_judul t + ON t.idPenawaranAmbil = r.idPenawaranAmbil AND t.waktuPengambilan = r.maxWaktu) as tAmbil ON tb_penawaran_judul.idPenawaran = tAmbil.idPenawaranAmbil $whereDosen) tData LEFT JOIN tbmhs ON tData.idMhs = tbmhs.idmhs ORDER BY waktuInput DESC"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listData = []; + +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $judul = $row['judul']; + $idPenawaran = $row['idPenawaran']; + $waktuInput = $row['waktuInput']; + $statusDb = $row['statusPengambilan']; + $namaMhs = $row['nmLengkap']; + $nimMhs = $row['nim']; + $deskripsi = $row['deskripsi']; + $kkDb = $row['kk']; + + if($kk != "all"){ + if($kk != $kkDb){ + continue; + } + } + + if($statusDb == "2"){ + $namaMhs = null; + } + + if($status != "Semua"){ + if($status == "Belum Diambil"){ + if(!($statusDb == null || $statusDb == "2")){ + continue; + } + } + + if($status == "Belum Diproses"){ + if(!($statusDb == "0")){ + continue; + } + } + + if($status == "Diterima"){ + if(!($statusDb == "1")){ + continue; + } + } + } + + $saya = false; + if($row['idDosen'] == $idDosen){ + $saya = true; + } + + $namaDosen = '-'; + if(isset($listNamaDosen[$row['idDosen']])){ + $namaDosen = $listNamaDosen[$row['idDosen']]; + } + + $labelKK = ""; + if(isset($listKK[$kkDb])){ + $warnaKK = $listKK[$kkDb]['warnaLabel']; + $namaKK = $listKK[$kkDb]['namaKK']; + $labelKK = ""; + } + + array_push($listData, [ + 'id' => $idPenawaran, + 'judul' => $judul, + 'waktuInput' => date('d-m-Y H:i:s', strtotime($waktuInput)), + 'status' => $statusDb, + 'nama' => $namaMhs, + 'nim' => $nimMhs, + 'deskripsi' => $deskripsi, + 'diuploadSaya' => $saya, + 'namaDosen' => $namaDosen, + 'kk' => $kkDb, + 'label' => $labelKK, + ]); +} + +echo json_encode(utf8ize($listData)); + +?> \ No newline at end of file diff --git a/dosen/API/list_filterWaktuBimbingan.php b/dosen/API/list_filterWaktuBimbingan.php new file mode 100644 index 0000000..9846e4c --- /dev/null +++ b/dosen/API/list_filterWaktuBimbingan.php @@ -0,0 +1,83 @@ +connect(); + +header('Content-Type: application/json'); + +if (!isset($_SESSION['login-dosen'])) { + echo json_encode(['status' => 403, 'msg' => 'Forbidden']); + exit; +} + +$dateStart = $_GET['dateStart']; +$dateEnd = $_GET['dateEnd']; +$idDosen = $_SESSION['login-dosen']['id']; + +$sql = "SELECT * FROM tbjadwal LEFT JOIN tbmhs ON tbjadwal.idMhs = tbmhs.idmhs WHERE start >= :start AND start <= :end AND publish = 'Y' AND (idPemb1 = '$idDosen' OR idPemb2 = '$idDosen' OR idPeng1 = '$idDosen' OR idPeng2 = '$idDosen')"; +$stmt = $dbh->prepare($sql); +$stmt->bindParam(':start', $dateStart); +$stmt->bindParam(':end', $dateEnd); +$stmt->execute(); + + +$listOutline = []; +$listSidHas = []; +$listSidang = []; + +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $nimMahasiswa = $row['nim']; + $namaMahasiswa = $row['nmLengkap']; + $judul = $row['judul']; + $tanggal = date('d-m-Y H:i:s', strtotime($row['start'])); + $sebagai = ''; + if($row['idPemb1'] == $idDosen){ + $sebagai = 'Pembimbing 1'; + } + + if($row['idPemb2'] == $idDosen){ + $sebagai = 'Pembimbing 2'; + } + + if($row['idPeng1'] == $idDosen){ + $sebagai = 'Penguji 1'; + } + + if($row['idPeng2'] == $idDosen){ + $sebagai = 'Penguji 2'; + } + + $data = [ + 'nim' => $nimMahasiswa, + 'nama' => $namaMahasiswa, + 'judul' => $judul, + 'tanggal' => $tanggal, + 'sebagai' => $sebagai, + ]; + + switch($row['jenis']){ + case 'Outline' : + array_push($listOutline, $data); + break; + case 'SidHas' : + array_push($listSidHas, $data); + break; + case 'Sidang' : + array_push($listSidang, $data); + break; + } + +} + +echo json_encode(utf8ize([ + 'dateStart' => date('d-m-Y', strtotime($dateStart)), + 'dateEnd' => date('d-m-Y', strtotime($dateEnd)), + 'outline' => $listOutline, + 'sidHas' => $listSidHas, + 'sidang' => $listSidang, +])); diff --git a/dosen/_footer.php b/dosen/_footer.php new file mode 100644 index 0000000..820af7d --- /dev/null +++ b/dosen/_footer.php @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/dosen/_header.php b/dosen/_header.php new file mode 100644 index 0000000..de56341 --- /dev/null +++ b/dosen/_header.php @@ -0,0 +1,94 @@ + + \ No newline at end of file diff --git a/dosen/_navbar.php b/dosen/_navbar.php new file mode 100644 index 0000000..e614027 --- /dev/null +++ b/dosen/_navbar.php @@ -0,0 +1,242 @@ +runQuery($query); + +$isKetuaKK = false; +while ($aRow = $db->dbFetch($result)) { + $isKetuaKK = true; +} + +?> + \ No newline at end of file diff --git a/dosen/act.auth.php b/dosen/act.auth.php new file mode 100644 index 0000000..c24c3cf --- /dev/null +++ b/dosen/act.auth.php @@ -0,0 +1,141 @@ + false, + 'msg' => 'Gagal Login, Tidak dapat login menggunakan akun dummy.', + ]); + exit(); + } + + $qprodi = ''; + $prodi = $_POST['prodi']; + if ($prodi != '') { + $qprodi = " AND td.idProdi='".$prodi."' "; + } + $check = "SELECT + td.iddosen, + td.nip, + td.password, + td.nmLengkap, + td.jabatan, + td.email, + td.idProdi, + td.kelompokKeahlian, + td.jenis, + tp.nmProdi + FROM tbdosen td + LEFT JOIN tbprodi tp ON (td.idProdi=tp.idProdi) + WHERE td.nip='$username' + AND td.status='A' $qprodi LIMIT 1"; + $db->runQuery($check); + + if ($db->dbRows() > 0) { + $log = $db->dbFetch(); + if ($log['password'] == md5($password)) { + $sesilogin = [ + 'nip' => $log['nip'], + 'prodi' => $log['idProdi'], + 'nmprodi' => $log['nmProdi'], + 'nama_lengkap' => $log['nmLengkap'], + 'id' => $log['iddosen'], + 'jenisdosen' => $log['jenis'], + 'kelompokKeahlian' => $log['kelompokKeahlian'], + ]; + + $_SESSION['login-dosen'] = $sesilogin; + echo json_encode( + [ + 'result' => true, + 'msg' => 'Login Sukses.', + ]); + } else { + //password salah + echo json_encode( + [ + 'result' => false, + 'msg' => 'Gagal Login, Password anda tidak sesuai/salah.', + ]); + } + } else { + //username tidak terdaftar + echo json_encode([ + 'result' => false, + 'msg' => 'Gagal Login, Anda tidak terdaftar.', + ]); + } + break; + case 'logout': + unset($_SESSION['login-dosen']); + echo json_encode(['result' => true]); + break; + + case 'recoverpass': // coming soon + $email = $_POST['email']; + $query = "SELECT * FROM tbdosen WHERE email='$email' limit 1"; + $db->runQuery($query); + if ($db->dbRows() > 0) { + $r = $db->dbFetch(); + $iddosen = $r['iddosen']; + $username = $r['nip']; + $password = $r['password']; + $date = date('Y-m-d H:i:s'); + $recoverkey = md5($password.$username.$date); + $recover = "INSERT INTO temp_resetpass SET tglrecover='$date', iduser='$iddosen', jenis='D', rkey='$recoverkey'"; + //echo $recover; + $db->runQuery($recover); + + //$linkreset="/~project/spota/request.php?key=$recoverkey"; + //koding kirim email + echo json_encode([ + 'result' => true, + 'msg' => "Terima Kasih, \nSilakan Cek Email Anda untuk reset password", + ]); + } else { + echo json_encode([ + 'result' => false, + 'msg' => 'Email tidak terdaftar.', + ]); + } + break; + + case 'chpr': + + echo ''; + exit; + $nip = $_POST['nip']; + $q = "SELECT d.idProdi,d.nip,p.nmProdi FROM tbdosen d LEFT JOIN tbprodi p ON(p.idProdi=d.idProdi) WHERE d.nip='".$nip."'"; + //echo $q; + $db->runQuery($q); + $count = $db->dbRows(); + //echo $count; + if ($count > 0) { + echo ''; + while ($r = $db->dbFetch()) { + if ($count == 1) { + echo ''; + } else { + echo ''; + } + } + } + break; + + /*default: + break;*/ + } +} diff --git a/dosen/dashboard.php b/dosen/dashboard.php new file mode 100644 index 0000000..8b27041 --- /dev/null +++ b/dosen/dashboard.php @@ -0,0 +1,204 @@ + + + + + + + + + + + + Dashboard - Halaman Dosen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + diff --git a/dosen/index.php b/dosen/index.php new file mode 100644 index 0000000..d83d4e9 --- /dev/null +++ b/dosen/index.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/dosen/login.php b/dosen/login.php new file mode 100644 index 0000000..68a121d --- /dev/null +++ b/dosen/login.php @@ -0,0 +1,173 @@ + + + + + + + + + + LOGIN DOSEN - SPOTA UNTAN + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +

    Lupa Password?

    +

    + Silakan masukkan email anda. +

    +
    + +
    + Ada kesalahan, silakan dicek terlebih dahulu +
    +
    +
    + + + +
    +
    + + +
    +
    +
    +
    + + + + + + +
    + + + + + + + + + + + + diff --git a/dosen/page/dashboard/act.dashboard.php b/dosen/page/dashboard/act.dashboard.php new file mode 100644 index 0000000..bf46bc6 --- /dev/null +++ b/dosen/page/dashboard/act.dashboard.php @@ -0,0 +1,58 @@ +runQuery($q); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $nama=$r['nmLengkap']; + $nim=$r['nim']; + $judul_skripsi=$r['judul']; + $ruangan=$r['ruangan']; + $jenis=$r['jenis']; + $pemb1=$r['pemb1']; + $pemb2=$r['pemb2']; + $peng1=$r['peng1']; + $peng2=$r['peng2']; + $start=explode(" ", $r['start']); + $tgl=tanggalIndo($start[0], "j F Y"); + $wkt=$start[1]; + echo json_encode(array( + "result"=>true, + "msg"=>"Sukses", + "nama"=>$nama, + "nim"=>$nim, + "judul"=>$judul_skripsi, + "jenis"=>strtoupper($jenis), + "ruangan"=>$ruangan, + "pemb1"=>$pemb1, + "pemb2"=>$pemb2, + "peng1"=>$peng1, + "peng2"=>$peng2, + "tgl"=>$tgl, + "wkt"=>$wkt, + )); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Data Tidak Ditemukan")); + } + } + break; + } +} + +?> \ No newline at end of file diff --git a/dosen/page/dashboard/dashboard.php b/dosen/page/dashboard/dashboard.php new file mode 100644 index 0000000..6a54db6 --- /dev/null +++ b/dosen/page/dashboard/dashboard.php @@ -0,0 +1,189 @@ + + + +
    +
    + + + +
    +
    +
    +
    + +
    +

    Yth. Bapak/Ibu

    +

    Selamat datang di Sistem Pendukung Outline Tugas Akhir (SPOTA) Universitas Tanjungpura

    +

    + + Untuk kemudahan akses bagi pengguna, silahkan + + Unduh Aplikasi SPOTA Android + + +

    +
    + + runQuery($p); + if($db->dbRows()>0){ + $pp=$db->dbFetch(); + if($pp['jlh']>0){ + ?> +
    + +

    Pengumuman Terbaru

    +

    + Terdapat Pengumuman Terbaru Yang Belum Dibaca +

    +

    + + Lihat Semua Pengumuman + +

    +
    + +
    + +

    Pengumuman Terbaru

    +

    + Tidak Ada Pengumuman Terbaru +

    +

    + + Lihat Semua Pengumuman + +

    +
    + runQuery($q_jdl_terbaru); + if($db->dbRows()>0){ + $jdl=$db->dbFetch(); + if($jdl['jlh']>0){ + ?> +
    + +

    Usulan Terbaru

    +

    + Terdapat Usulan Terbaru. +

    +

    + + Lihat Usulan Terbaru + +

    +
    + +
    + +

    Usulan Terbaru

    +

    + Tidak terdapat Usulan terbaru. +

    +

    + + Lihat Semua Usulan + + + Cari Usulan + +

    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/dosen/page/dashboard/json.kalender.php b/dosen/page/dashboard/json.kalender.php new file mode 100644 index 0000000..59d12da --- /dev/null +++ b/dosen/page/dashboard/json.kalender.php @@ -0,0 +1,36 @@ +runQuery($s); +if($db->dbRows()>0){ + while($r=$db->dbFetch()){ + if($r['jenis']=="Sidang"){ + $warna="label-orange text-ellipsis"; + }else if($r['jenis']=="Outline"){ + $warna="label-green text-ellipsis"; + }else if($r['jenis']=="SidHas"){ + $warna="label-yellow text-ellipsis"; + }else{ + $warna="label-default text-ellipsis"; + } + $data['id']=$r['id']; + //$data['title']=$r['nim']; + $data['title']= ucwords(strtolower($r['nmLengkap'])); + $data['start']=$r['start']; + $data['end']=$r['end']; + $data['className']=$warna; + $jadwal[]=$data; + } + echo json_encode($jadwal); +} +?> \ No newline at end of file diff --git a/dosen/page/early_warning/early_warning.php b/dosen/page/early_warning/early_warning.php new file mode 100644 index 0000000..57a00dd --- /dev/null +++ b/dosen/page/early_warning/early_warning.php @@ -0,0 +1,91 @@ + +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + Tampilkan + +
    +
    +
    +
    + Status + +
    +
    +
    +
    + Sumber Data + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    + + + +
    +
    + +
    + diff --git a/dosen/page/penawaran/act.data-penawaran.php b/dosen/page/penawaran/act.data-penawaran.php new file mode 100644 index 0000000..8b2ba88 --- /dev/null +++ b/dosen/page/penawaran/act.data-penawaran.php @@ -0,0 +1,166 @@ + false, 'msg' => 'Judul wajib diisi.']); + exit; + } + + $idDosen = $_SESSION['login-dosen']['id']; + + $query = "SELECT * FROM tbdosen WHERE iddosen = '$idDosen'"; + $db->runQuery($query); + $kk = 0; + while ($r = $db->dbFetch()) { + $kk = $r['kelompokKeahlian']; + } + + + + $query = "INSERT INTO tb_penawaran_judul(idDosen, kk, judul, deskripsi) VALUES('{$idDosen}','{$kk}','{$judul}','{$keterangan}')"; + + if (!$db->runQuery($query)) { + echo json_encode(['result' => false, 'msg' => 'Penambahan Data Gagal DbError']); + exit; + } else { + echo json_encode(['result' => true, 'msg' => 'Data Penawaran Judul Berhasil Disimpan']); + } + break; + + case 'update': + $idData = $_POST['idpenawaran']; + $idDosen = $_SESSION['login-dosen']['id']; + $judul = trim($_POST['judul_penawaran']); + $keterangan = trim($_POST['keterangan_penawaran']); + + + if ($judul === '') { + echo json_encode(['result' => false, 'msg' => 'Judul wajib diisi.']); + exit; + } + + $queryupdate="UPDATE tb_penawaran_judul + SET + judul='".$judul."', + deskripsi='".$keterangan."' + WHERE idPenawaran = '$idData' AND idDosen='$idDosen'"; + + if($db->runQuery($queryupdate)){ + echo json_encode(array("result"=>true,"msg"=> "Data berhasil diubah")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DbError")); + } + break; + + case 'hapusjudul': + $id=$_POST['iddata']; + $idDosen = $_SESSION['login-dosen']['id']; + + $query = "SELECT * FROM tb_ambil_judul WHERE idPenawaranAmbil = '$id'"; + $db->runQuery($query); + + $adaData = false; + while ($r = $db->dbFetch()) { + $adaData = true; + } + + if($adaData){ + echo json_encode(array("result"=>false,"msg"=>"Tidak dapat menghapus judul ini, judul ini pernah di booking mahasiswa sebelumnya")); + exit; + } + + if(ctype_digit($id)){ + $hapus="DELETE FROM tb_penawaran_judul WHERE idPenawaran='$id' AND idDosen = '$idDosen'"; + if($db->runQuery($hapus)){ + echo json_encode(array("result"=>true,"msg"=>"Data Penawaran Judul Ini Telah Dihapus.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + + case 'setujujudul': + $id=$_POST['iddata']; + $idDosen = $_SESSION['login-dosen']['id']; + + if(ctype_digit($id)){ + $query = "SELECT * FROM tb_ambil_judul LEFT JOIN tb_penawaran_judul ON tb_ambil_judul.idPenawaranAmbil = tb_penawaran_judul.idPenawaran WHERE idPenawaranAmbil = '$id' AND idDosen = '$idDosen' ORDER BY waktuPengambilan DESC LIMIT 1"; + $adaData = false; + $db->runQuery($query); + while ($r = $db->dbFetch()) { + $adaData = true; + $idPengambilan = $r['idAmbil']; + } + + if(!$adaData){ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal, Data Penawaran Judul Ini Tidak Ditemukan.")); + exit; + } + + $queryupdate="UPDATE tb_ambil_judul + SET + statusPengambilan='1', + waktuVerifikasi = NOW() + WHERE idAmbil = '$idPengambilan'"; + + if($db->runQuery($queryupdate)){ + echo json_encode(array("result"=>true,"msg"=>"Berhasil Mengclose Data Penawaran Judul Ini.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + + case 'tolakjudul': + $id=$_POST['iddata']; + $idDosen = $_SESSION['login-dosen']['id']; + + if(ctype_digit($id)){ + $query = "SELECT * FROM tb_ambil_judul LEFT JOIN tb_penawaran_judul ON tb_ambil_judul.idPenawaranAmbil = tb_penawaran_judul.idPenawaran WHERE idPenawaranAmbil = '$id' AND idDosen = '$idDosen' ORDER BY waktuPengambilan DESC LIMIT 1"; + $adaData = false; + $db->runQuery($query); + while ($r = $db->dbFetch()) { + $adaData = true; + $idPengambilan = $r['idAmbil']; + } + + if(!$adaData){ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal, Data Penawaran Judul Ini Tidak Ditemukan.")); + exit; + } + + $queryupdate="UPDATE tb_ambil_judul + SET + statusPengambilan='2', + waktuVerifikasi = NOW() + WHERE idAmbil = '$idPengambilan'"; + + if($db->runQuery($queryupdate)){ + echo json_encode(array("result"=>true,"msg"=>"Berhasil Menolak Mahasiswa Ini untuk Data Penawaran Judul Ini.")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi gagal DBERROR.")); + } + } + break; + + + } + } +} +?> \ No newline at end of file diff --git a/dosen/page/penawaran/judul-saya.php b/dosen/page/penawaran/judul-saya.php new file mode 100644 index 0000000..be42341 --- /dev/null +++ b/dosen/page/penawaran/judul-saya.php @@ -0,0 +1,186 @@ + +
    +
    + + +
    +
    + + + +
    +
    +
    + Tampilkan : +
    +
    + Status : +
    +
    + Status : +
    +
    + +
    + +
    + + + +
    +
    + + +
    + +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    +runQuery($e); + if($db->dbRows()>0){ + $edit=$db->dbFetch(); + ?> +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    + \ No newline at end of file diff --git a/dosen/page/pengumuman/list.pengumuman.php b/dosen/page/pengumuman/list.pengumuman.php new file mode 100644 index 0000000..af3fc95 --- /dev/null +++ b/dosen/page/pengumuman/list.pengumuman.php @@ -0,0 +1,146 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(tp.id) as total FROM $sTable $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); + $row = array(); + + if($aRow['new']==0){ + $badge=' - Baru'; + }else{ + $badge=''; + } + + $row[0]="".$aRow['judul']."".$badge; + $row[1]=tanggalIndo($aRow['tgl'],'j F Y, H:i'); + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/dosen/page/pengumuman/pengumuman.php b/dosen/page/pengumuman/pengumuman.php new file mode 100644 index 0000000..cdbfa4e --- /dev/null +++ b/dosen/page/pengumuman/pengumuman.php @@ -0,0 +1,131 @@ + +
    +
    + + +
    +
    +
    +
    + + dbRows($notif_pengumuman)>0){ + if($jlh_notif_pengumuman>0){ + ?> +
    + + + Terdapat Pengumuman Terbaru. +
    + + + + + + + + + + + + + +
    PengumumanTanggal
    Loading data from server
    + + +
    +
    + +
    +
    + + +
    +
    + runQuery($p); + if($db->dbRows()>0){ + $rp=$db->dbFetch(); + if($rp['found']=='0'){ + $in="INSERT INTO tmp_notif SET idkonten='".$idpengumuman."', idProdi='".$_SESSION['login-dosen']['prodi']."', iduser='".$_SESSION['login-dosen']['id']."', typeuser='D', `date`='".NOW."', jenis='P'"; + $db->runQuery($in); + } + ?> +
    +
    +
    +
    +

    + +

    +

    + +

    +

    + +

    +
    +
    +
    +
    + + Kembali + + \ No newline at end of file diff --git a/dosen/page/pra-lirs/pra-lirs.php b/dosen/page/pra-lirs/pra-lirs.php new file mode 100644 index 0000000..1f5e8c8 --- /dev/null +++ b/dosen/page/pra-lirs/pra-lirs.php @@ -0,0 +1,199 @@ + +
    +
    + + +
    +
    +
    +
    + +
    + + + + + runQuery($sqlSidang); + $listSidang = []; + while ($aRow = $db->dbFetch($resultSidang)) { + $listSidang[$aRow['nim']] = true; + } + + $listMahasiswaPraLirs = []; + if(isset($decodedDataPraLIRS['status'])){ + if($decodedDataPraLIRS['status'] == "1"){ + $judulPraLIRS = $decodedDataPraLIRS['judul']; + $listDataPraLIRS = $decodedDataPraLIRS['data']; + $banyakData = sizeof($listDataPraLIRS); + $tahunPralirs = $decodedDataPraLIRS['tahun']; + $semesterPralirs = $decodedDataPraLIRS['semester']; + + $isiTabel = ""; + if($banyakData == 0){ + $isiTabel = "Tidak Ada Data Mahasiswa/tr>"; + }else{ + $no = 1; + foreach($listDataPraLIRS as $keyLIRS => $valLIRS){ + if(isset($listSidang[$valLIRS['nim']])){ + continue; + } + $listMahasiswaPraLirs[$valLIRS['nim']] = $valLIRS; + $nimPralirs = $valLIRS['nim']; + + $labelIsi = ""; + if($valLIRS['sudahIsi']){ + $labelIsi = ""; + } + + $paramOnClick = "'$nimPralirs','$tahunPralirs','$semesterPralirs'"; + $paramOnClickDetail = "'$nimPralirs'"; + $eventOnclick = ' onClick="showDetailPralirsMahasiswa('.$paramOnClick.')" '; + $eventOnClickDetail = ' onClick="showDetailMahasiswa('.$paramOnClickDetail.')" '; + + $isiTabel .= " + + $no + ".$valLIRS['nama']." + ".$valLIRS['nim']." + ".$valLIRS['angkatan']." + ".$labelIsi." + + + "; + $no++; + } + + echo " +

    $judulPraLIRS

    +
    + + + + + + + + + + + + + $isiTabel + +
    No.Nama MahasiswaNIMAngkatanStatusAksi
    +
    + "; + } + + + }else{ + echo "

    Gagal mengambil data, ".$decodedDataPraLIRS['msg']."

    "; + } + }else{ + echo "

    Gagal mengambil data, tidak dapat terkoneksi dengan server informatika.untan.ac.id.

    "; + } + + + if(sizeof($listMahasiswaPraLirs) > 0){ + echo " + + "; + } + + ?> + + + + + +
    +
    + +
    + diff --git a/dosen/page/praoutline/_navbar.php b/dosen/page/praoutline/_navbar.php new file mode 100644 index 0000000..61b18e6 --- /dev/null +++ b/dosen/page/praoutline/_navbar.php @@ -0,0 +1,153 @@ + + \ No newline at end of file diff --git a/dosen/page/praoutline/act.praoutline.php b/dosen/page/praoutline/act.praoutline.php new file mode 100644 index 0000000..54c7814 --- /dev/null +++ b/dosen/page/praoutline/act.praoutline.php @@ -0,0 +1,2105 @@ + '')"; + $db->runQuery($check); + if ($db->dbRows() > 0) { + echo json_encode(['result' => false, 'msg' => 'Maaf, Anda Telah Memberikan Keputusan pada Draft Praoutline ini']); + exit; + } + } else { + $kep = "jenis_review='0', putusan='',"; + } + if (ctype_digit($idpraoutline)) { + if ($_POST['text_review'] == '') { + echo json_encode(['result' => false, 'msg' => 'Tanggapan harus diisi']); + } else { + $insert = "INSERT INTO tbreview SET + idpraoutline='".$idpraoutline."', + idProdi='".$prodi."', + reviewer='".$nip."', + review_text='".$_POST['text_review']."', + $kep + tgl='".CURDATE."', + wkt='".CURTIME."'"; + + if ($db->runQuery($insert)) { + echo json_encode(['result' => true, 'msg' => 'Sukses Menambahkan Tanggapan']); + if (count($_SESSION['selected_user']) > 0) { + //print_r($_SESSION['selected_user']); + $selecteduser = ''; + for ($xx = 0; $xx < count($_SESSION['selected_user']); ++$xx) { + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$_SESSION['selected_user'][$xx]."', + jns_usr='M', + tgl='".NOW."', + msg='".$_SESSION['login-dosen']['nama_lengkap']." Menambahkan Tanggapan baru', + `read`='N'"; + //echo $notif; + $db->runQuery($notif); + if ($xx == 0) { + $selecteduser = "'".$_SESSION['selected_user'][$xx]."'"; + } else { + $selecteduser = ",'".$_SESSION['selected_user'][$xx]."'"; + } + } + + //notif wa + + $g = "SELECT tbpraoutline.*, tbmhs.nmLengkap, tbmhs.noHP, namaKK FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'"; + $db->runQuery($g); + $hp = null; + while ($r = $db->dbFetch()) { + $hp = $r['noHP']; + $judul = $r['judul']; + $namaMhs = $r['nmLengkap']; + $nimMhs = $r['nim']; + } + + if(!empty($hp)){ + $hp = '62'.intval($hp); + + $isiPesanHP = "*NOTIFIKASI KOMENTAR DOSEN PADA FORUM DISKUSI (SPOTA)*\n\n*$namaMhs / $nimMhs*, anda mendapatkan komentar pada forum diskusi review draft praoutline anda yang berjudul *$judul*, klik link untuk mengakses forum diskusi dan membalas komentar dosen.\n\nhttps://spota.untan.ac.id/mahasiswa/dashboard.php?page=praoutline&menu=review\n\n\Perhatian: Draf PraOutline akan *terclose* secara otomatis oleh sistem SPOTA INFORMATIKA UNTAN jika anda tidak merespon balik komentar terakhir dosen dalam 14 hari.\n\n*SPOTA INFORMATIKA UNTAN*"; + $isiPesanHP = str_replace('"', "'", $isiPesanHP); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$isiPesanHP.'" + )'; + $db->runQuery($query); + } + + + //notif gcm + //----------------------------------------------------------------------------- + $g = "SELECT regid FROM gcm_service WHERE iduser IN($selecteduser) AND jenisuser ='M'"; + $db->runQuery($g); + if ($db->dbRows() > 0) { + $registrationid = []; + while ($r = $db->dbFetch()) { + array_push($registrationid, $r['regid']); + } + $isipesan = $_SESSION['login-dosen']['nama_lengkap'].' Menambahkan Tanggapan baru'; + $pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]); + $message = ['spota' => $pesan]; + + sendPushNotificationToGCM($registrationid, $message); + } + //-------------------------------------------------------------------------------- + } + } else { + echo json_encode(['result' => false, 'msg' => 'Gagal Menambahkan Tanggapan, DBError']); + } + } + } + break; + + case 'cari': + error_reporting(E_ALL); +ini_set('display_errors', '1'); + $key = $_POST['key']; + $jenis = $_POST['by']; + $byDosen = ' 1=1 '; + $by = ' 1=1 '; + if ($jenis == 'nim') { + if (ctype_alnum($key)) { + $by = " tp.nim LIKE '%$key%' "; + } else { + $newkey = str_replace("'", "\'", $key); + $by = " tp.nim LIKE '%$newkey%' "; + } + } else if($jenis == 'dosen'){ + if (ctype_alnum($key)) { + $byDosen = " (dpemb1 LIKE '%$key%' OR dpemb2 LIKE '%$key%' OR dpeng1 LIKE '%$key%' OR dpeng2 LIKE '%$key%') "; + } else { + $newkey = str_replace("'", "\'", $key); + $byDosen = " (dpemb1 LIKE '%$newkey%' OR dpemb2 LIKE '%$newkey%' OR dpeng1 LIKE '%$newkey%' OR dpeng2 LIKE '%$newkey%') "; + } + + } else { + /*$pecah=explode(" ", $key); + $jpecah=count($pecah); + if($jpecah==1){ + if(ctype_alnum($key)){ + $by=" tp.judul LIKE '%$key%' "; + }else{ + $newkey=str_replace("'", "\'", $key); + $by=" tp.judul LIKE '%$newkey%' "; + } + + }else{ + $by=""; + if(ctype_alnum($key)){ + for($x=0;$x<$jpecah;$x++){ + if($x==0){ + $by.=" tp.judul like '%$pecah[$x]%' "; + }else{ + $by.=" OR tp.judul like '%$pecah[$x]%' "; + } + } + }else{ + $newpecah=str_replace("'", "\'", $pecah[$x]); + for($x=0;$x<$jpecah;$x++){ + if($x==0){ + $by.=" tp.judul like '%$newpecah[$x]%' "; + }else{ + $by.=" OR tp.judul like '%$newpecah[$x]%' "; + } + } + } + + }*/ + if (ctype_alnum($key)) { + $by = " MATCH (tp.judul) AGAINST ('".$key."')"; + } else { + $newkey = str_replace("'", "\'", $key); + $by = " MATCH (tp.judul) AGAINST ('".$newkey."')"; + } + } + //include "result-cari.php"; + /*$cari="SELECT * FROM tbpraoutline WHERE $by ORDER BY tgl_upload,wkt_upload,nim,judul";*/ + $cari = "SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.status_usulan + FROM tbpraoutline tp + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE $by"; + + $cari = "SELECT * FROM (SELECT tcari.*, (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=tbrekaphasil.pemb1) as dpemb1, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=tbrekaphasil.pemb2) as dpemb2, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=tbrekaphasil.peng1) as dpeng1, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=tbrekaphasil.peng2) as dpeng2 FROM ($cari) tcari LEFT JOIN tbrekaphasil ON tcari.id = tbrekaphasil.idpraoutline) tfinal WHERE 1=1 AND $byDosen ORDER BY tgl_upload DESC"; + //echo $cari; + $db->runQuery($cari); + if ($db->dbRows() > 0) { + ?> +

    Hasil Pencarian ''

    +
    + dbFetch()) { + $idPraoutline = $rcari['id']; + $sql = "SELECT * FROM tbreview WHERE idpraoutline = '$idPraoutline'"; + $resultReview = $db2->runQuery($sql); + + $banyakReview = 0; + $banyakKomentar = 0; + $banyakPutusan = 0; + $banyakSetuju = 0; + $banyakTidakSetuju = 0; + while ($aRowReview = $db2->dbFetch($resultReview)) { + $jenisReview = $aRowReview['jenis_review']; + $banyakReview++; + switch($jenisReview){ + case 0 : $banyakKomentar++; break; + case 1 : $banyakPutusan++; + if($aRowReview['putusan'] == '1'){ + $banyakSetuju++; + } + + if($aRowReview['putusan'] == '0'){ + $banyakTidakSetuju++; + } + break; + + } + } + + if ($rcari['status_usulan'] == 0) { + $statusPraoutline = ' - Dalam Proses'; + } elseif ($rcari['status_usulan'] == 1) { + $statusPraoutline = ' - Judul Diterima'; + } elseif ($rcari['status_usulan'] == 2) { + $statusPraoutline = ' - Judul Ditolak'; + } elseif ($rcari['status_usulan'] == 3) { + $statusPraoutline = ' - Judul Gugur'; + } ?> +
    +
    +

    + +
    +
    +

    Oleh - Download File

    +
    +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + runQuery($kep_final); + if ($db2->dbRows() > 0) { + $kep = $db2->dbFetch(); ?> +
    + +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    + + Catatan
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + } + + break; + + case '2': + break; + } ?> +
    + + + + + Maaf! Data Tidak Ditemukan.. + '; + } + break; + + case 'open_judul': + $idpraoutline = $_POST['idpr']; + $q1 = "DELETE FROM tbrekaphasil WHERE idpraoutline='".$idpraoutline."'"; + $q2 = "UPDATE tbpraoutline SET status_usulan='0' WHERE id='".$idpraoutline."' "; + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Review Draft Praoutline Telah Dibuka Kembali.']); + $db->runQuery($q2); + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + break; + + case 'update_putusan': + if (!(isset($_POST['eventButton']))) { + echo json_encode(['result' => false, 'msg' => 'Event tidak ditemukan']); + exit(); + } + + $eventKeputusan = strtolower(trim($_POST['eventButton'])); + $idpraoutline = $_POST['idpr']; + $idputusan = $_POST['idputusan']; + $nim = $_POST['nim']; + $putusan = $_POST['putusan']; + $keterangan = $_POST['ket']; + $judulFinal = $_POST['judul_final']; + $q2 = ''; + + $judulEmail = 'Putusan Kaprodi'; + $isiEmail = ''; + $emailTo = []; + $listNoHP = []; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + while ($r = $db->dbFetch()) { + $idMhs = $r['idmhs']; + array_push($emailTo, $r['email']); + $namaMahasiswa = $r['nmLengkap']; + $noHPMahasiswa = $r['noHP']; + array_push($listNoHP, $r['noHP']); + + $namaMahasiswa = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $dataMahasiswa = [ + 'nim' => $r['nim'], + 'nama' => $r['nmLengkap'], + 'email'=> $r['email'], + 'hp' => $r['noHP'], + 'urlFoto' => $foto, + ]; + } + + //kirimkan ke no bu tuning + array_push($listNoHP, "082350250892"); + + $dataPembimbing = []; + $dataPenguji = []; + + $g = "SELECT * FROM tbpraoutline LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + $idKelompokKeahlian = $r['kelompokKeahlian']; + $namaKK = $r['namaKK']; + } + + if(empty($namaKK)){ + $namaKK = '-'; + } + + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $tanggal = date('d-m-Y'); + $hari = date('w'); + $hariText = ''; + switch ($hari) { + case '0': $hariText = 'Minggu'; break; + case '1': $hariText = 'Senin'; break; + case '2': $hariText = 'Selasa'; break; + case '3': $hariText = 'Rabu'; break; + case '4': $hariText = 'Kamis'; break; + case '5': $hariText = 'Jumat'; break; + case '6': $hariText = 'Sabtu'; break; + } + + $pembimbing1 = null; + $pembimbing2 = null; + $penguji1 = null; + $penguji2 = null; + + $eventDikenali = false; + if ($eventKeputusan === 'penguji') { + $eventDikenali = true; + if ($_POST['peng1'] === '' || $_POST['peng2'] === '') { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, harus 2 buah penguji yang ditunjuk']); + exit(); + } + + $tanggalKeputusanPenguji = $_POST['tanggalKeputusanPenguji']; + $semesterKeputusanPenguji = null; + + if (empty($tanggalKeputusanPenguji)) { + $tanggalKeputusanPenguji = null; + $semesterKeputusanPenguji = null; + } else { + $bulanKeputusan = date('m', strtotime($tanggalKeputusanPenguji)); + $tahunKeputusan = date('Y', strtotime($tanggalKeputusanPenguji)); + + if ($bulanKeputusan >= 2 && $bulanKeputusan <= 7) { + $tahunKeputusan = $tahunKeputusan - 1; + $semesterKeputusan = 'GEN'; + } else { + $semesterKeputusan = 'GAS'; + if($bulanKeputusan == 1){ + $tahunKeputusan = $tahunKeputusan - 1; + }else{ + $tahunKeputusan = $tahunKeputusan; + } + + } + + $semesterKeputusanPenguji = $semesterKeputusan.'-'.$tahunKeputusan; + } + + $g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."')"; + $db->runQuery($g); + $namaPemb1 = '-'; + $namaPemb2 = '-'; + $namaPeng1 = '-'; + $namaPeng2 = '-'; + + $noPemb1 = '-'; + $noPemb2 = '-'; + $noPeng1 = '-'; + $noPeng2 = '-'; + + array_push($emailTo, 'tu@informatika.untan.ac.id'); + + $pembimbing1 = null; + $pembimbing2 = null; + $penguji1 = null; + $penguji2 = null; + while ($r = $db->dbFetch()) { + + + array_push($emailTo, $r['email']); + $noHPDosen = $r['nohp']; + array_push($listNoHP, $noHPDosen); + + if ($r['nip'] == $_POST['pemb1']) { + $namaPemb1 = $r['nmLengkap']; + $noPemb1 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $pembimbing1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['pemb2']) { + $namaPemb2 = $r['nmLengkap']; + $noPemb2 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $pembimbing2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng1']) { + $namaPeng1 = $r['nmLengkap']; + $noPeng1 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $penguji1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng2']) { + $namaPeng2 = $r['nmLengkap']; + $noPeng2 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $penguji2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + } + + $q1 = "UPDATE tbrekaphasil SET + timestampPenunjukanPenguji='".$tanggalKeputusanPenguji."', + semesterPenunjukanPenguji='".$semesterKeputusanPenguji."', + peng1='".$_POST['peng1']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Dosen Penguji telah ditunjuk.', + `read`='N'"; + + $isipesan = 'Pemberitahuan Terbaru. Dosen Penguji Telah Ditunjuk.'; + + $isiEmail = "Dosen penguji untuk skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' telah ditunjuk oleh Ketua Jurusan/Ketua Prodi Informatika pada $hariText, $tanggal untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:

    "; + $isiEmail .= "
    KeteranganNama Dosen
    Pembimbing 1 (Ketua)$namaPemb1
    Pembimbing 2 (Sekretaris)$namaPemb2
    Penguji 1$namaPeng1
    Penguji 2$namaPeng2
    "; + + //$isiNotifHP = "Dosen penguji untuk skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' telah ditunjuk oleh Ketua Jurusan/Ketua Prodi Informatika pada $hariText, $tanggal untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:\n\n"; + //$isiNotifHP .= "$namaPemb1 ----- Pembimbing 1 (Ketua)\n$namaPemb2 ----- Pembimbing 2 (Sekretaris)\n$namaPeng1 ----- Penguji 1\n$namaPeng2 ----- Penguji 2"; + $judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PENGUJI'; + $isiNotifHP = "Dosen penguji untuk skripsi mahasiswa *$namaMahasiswa / $nim* ($noHPMahasiswa) dengan judul *$judulFinal* telah ditunjuk oleh *Ketua Jurusan Informatika* pada *$hariText, $tanggal* untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:\n\n"; + $isiNotifHP .= "Pembimbing 1 (Ketua): *$namaPemb1* ($noPemb1)\nPembimbing 2 (Sekretaris) : *$namaPemb2* ($noPemb2)\nPenguji 1 : *$namaPeng1* ($noPeng1)\nPenguji 2 : *$namaPeng2* ($noPeng2)\n"; + + } + + if ($eventKeputusan === 'keputusan') { + $eventDikenali = true; + $g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."')"; + $db->runQuery($g); + $namaPemb1 = '-'; + $namaPemb2 = '-'; + $namaPeng1 = '-'; + $namaPeng2 = '-'; + + $noPemb1 = '-'; + $noPemb2 = '-'; + $noPeng1 = '-'; + $noPeng2 = '-'; + array_push($emailTo, 'tu@informatika.untan.ac.id'); + + $pembimbing1 = null; + $pembimbing2 = null; + $penguji1 = null; + $penguji2 = null; + + while ($r = $db->dbFetch()) { + + + array_push($emailTo, $r['email']); + $noHPDosen = $r['nohp']; + array_push($listNoHP, $noHPDosen); + + if ($r['nip'] == $_POST['pemb1']) { + $namaPemb1 = $r['nmLengkap']; + $noPemb1 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $pembimbing1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['pemb2']) { + $namaPemb2 = $r['nmLengkap']; + $noPemb2 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $pembimbing2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng1']) { + $namaPeng1 = $r['nmLengkap']; + $noPeng1 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $penguji1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng2']) { + $namaPeng2 = $r['nmLengkap']; + $noPeng2 = '0'.intval($noHPDosen); + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $penguji2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + } + + switch ($putusan) { + case '1': + if ($_POST['peng1'] !== '' || $_POST['peng2'] !== '') { + $judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PENGUJI'; + $adapun = 'pembimbing dan penguji'; + $teksDosenPenguji = "Penguji 1$namaPeng1Penguji 2$namaPeng2"; + $teksDosenPengujiHP = "Penguji 1 : *$namaPeng1* ($noPeng1)\nPenguji 2 : *$namaPeng2* ($noPeng2)"; + } else { + $judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PEMBIMBING'; + $adapun = 'pembimbing'; + $teksDosenPenguji = ''; + $teksDosenPengujiHP = ''; + } + + $isiEmail = "Dosen $adapun untuk Skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' telah ditunjuk oleh oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal.

    '; + $isiEmail .= "Adapun $adapun yang ditunjuk adalah :
    "; + $isiEmail .= "$teksDosenPenguji
    KeteranganNama Dosen
    Pembimbing 1$namaPemb1
    Pembimbing 2$namaPemb2
    "; + + $isiNotifHP = "Dosen $adapun untuk Skripsi mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' telah ditunjuk oleh oleh *Ketua Jurusan Informatika* pada *$hariText, $tanggal*.
    "; + $isiNotifHP .= "Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal. Selambat-lambatnya 1 bulan sejak keputusan ini Seminar Proposal harus sudah dilaksanakan, jika tidak draft Proposal yang sudah disetujui akan dibatalkan.\n\n"; + $isiNotifHP .= "Adapun $adapun yang ditunjuk adalah : \n"; + $isiNotifHP .= "Pembimbing 1 : *$namaPemb1* ($noPemb1)\nPembimbing 2 : *$namaPemb2* ($noPemb2)\n$teksDosenPengujiHP"; + + $q1 = "UPDATE tbrekaphasil SET + pemb1='".$_POST['pemb1']."', + pemb2='".$_POST['pemb2']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Selamat, Draft Praoutline Yang Anda Ajukan Disetujui'; + break; + + case '2': + $judulPenunjukan = 'KEPUTUSAN KETUA JURUSAN'; + $isiEmail = "Draft Praoutline mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' TIDAK DISETUJUI oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "Draft proposal mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *TIDAK DISETUJUI* oleh *Ketua Jurusan Informatika* pada *$hariText, $tanggal*.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n\n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + pemb1='', + pemb2='', + peng1='', + peng2='', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui'; + break; + + case '3': + $judulPenunjukan = 'KEPUTUSAN KETUA JURUSAN'; + $isiEmail = "Tugas akhir mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' DIGUGURKAN oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Tugas akhir* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DIGUGURKAN* oleh *Ketua Jurusan Informatika* pada *$hariText, $tanggal*.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n\n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + pemb1='', + pemb2='', + peng1='', + peng2='', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Gugur'; + break; + } + + $q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + } + + if (!($eventDikenali)) { + echo json_encode(['result' => false, 'msg' => 'Jenis event tidak ditemukan']); + exit(); + } + + $isiEmail .= "

    Terima kasih

    Generated by spota.untan.ac.id
    "; + + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Update Putusan Draft Praoutline Sukses']); + $db->runQuery($q2); + $db->runQuery($notif); + + if($putusan == "1"){ + $dataPembimbing = [$pembimbing1, $pembimbing2]; + $dataPenguji = [$penguji1, $penguji2]; + + $g = "SELECT * FROM tbrekaphasil WHERE id = '$idputusan'"; + $db->runQuery($g); + $smtSekarang = "-"; + $thnSekarang = "-"; + $tanggalKeputusanWilly = '-'; + $waktuKeputusanWilly = '-'; + + while ($r = $db->dbFetch()) { + $smtSekarang = $r['semester']; + $thnSekarang = $r['tahun_ajaran']; + $tanggalKeputusanWilly = $r['tgl_kep']; + $waktuKeputusanWilly = $r['wkt_kep']; + } + + $g = "SELECT * FROM tbjadwal WHERE idMhs = '$idMhs' ORDER BY start DESC LIMIT 1"; + $db->runQuery($g); + + $tipePengajuan = "Outline"; + while ($r = $db->dbFetch()) { + $tipePengajuan = $r['jenis']; + switch($tipePengajuan){ + case "Outline" : $tipePengajuan = 'SidHas'; break; + case "SidHas" : $tipePengajuan = 'Sidang'; break; + } + } + + + $postDataWilly = [ + 'id' => $idputusan, + 'keputusan' => $putusan, + 'judul' => $judulFinal, + 'mahasiswa' => $dataMahasiswa, + 'pembimbings' => $dataPembimbing, + 'pengujis' => $dataPenguji, + 'semester' => $smtSekarang, + 'tahun' => $thnSekarang, + 'tanggalKeputusan' => $tanggalKeputusanWilly, + 'waktuKeputusan' => $waktuKeputusanWilly, + 'kelompokKeahlian' => $namaKK, + 'tipe_pengajuan' => $tipePengajuan, + 'token' => "spota_token_sinkronisasi_api", + ]; + + $urlAPIWilly = 'https://edoxid.untan.ac.id/api/sync-data-submission'; + $postDataWilly = json_encode($postDataWilly); + $opts = ['http' => + [ + 'method' => 'POST', + 'ignore_errors' => true, + 'header' => 'Content-Type: application/json', + 'content' => $postDataWilly, + + ], + "ssl"=>[ + "verify_peer"=>false, + "verify_peer_name"=>false, + ], + ]; + + $context = stream_context_create($opts); + + $response = file_get_contents($urlAPIWilly, false, $context); + + if(empty($response)){ + $response = json_encode([]); + } + + $responseDecoded = json_decode($response, true); + $statusResponse = $responseDecoded['status']; + $g = "INSERT INTO tb_post_ke_doxid(postData, result, status) VALUES ('$postDataWilly','$response', '$statusResponse')"; + $db->runQuery($g); + + } + + $isiPesanHP = '*'.$judulPenunjukan." (SPOTA)*\n\n".str_replace('
    ', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*"; + $isiPesanHP = str_replace('"', "'", $isiPesanHP); + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + if($hp == $noHPMahasiswa){ + $isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/"; + }else{ + $isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idpraoutline"; + } + + $hp = '62'.intval($hp); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$isiPesanHPFinal.'" + )'; + $db->runQuery($query); + } +/** + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); +*/ + + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + break; + + case 'updateKKTerkait': + $idpraoutline = $_POST['idpr']; + $listKK = $_POST['kkTerkaitList']; + // if(sizeof($listKK) == 0){ + // echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, tidak ada KK yang dipilih']); + // exit; + // } + + $listKKjson = json_encode($listKK); + + $g = "SELECT tbpraoutline.*, tbmhs.nmLengkap, namaKK FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + $namaMahasiswa = '-'; + $nimMahasiswa = '-'; + $kkPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + $namaMahasiswa = $r['nmLengkap']; + $nimMahasiswa = $r['nim']; + $kkPraoutline = $r['namaKK']; + $tanggalInput = date('d-m-Y', strtotime($r['tgl_upload'])); + } + + $q1 = "UPDATE tbpraoutline SET + kkTerkait='".$listKKjson."' + WHERE id='$idpraoutline'"; + + if ($db->runQuery($q1)) { + foreach($listKK as $key => $val){ + $val = intval($val); + + $sql = "SELECT * FROM tb_kelompok_keahlian WHERE idKK = '$val'"; + $db->runQuery($sql); + + $namaKK = '-'; + while ($r = $db->dbFetch()) { + $namaKK = $r['namaKK']; + } + + $g = "SELECT * FROM tbdosen WHERE kelompokKeahlian = '$val'"; + $db->runQuery($g); + + $listNoHP = []; + while ($r = $db->dbFetch()) { + $hp = $r['nohp']; + + if(empty($hp)){ + continue; + } + + $isiPesanHP = "*Permohonan Bantuan Review Draft Proposal Mahasiswa (SPOTA)* \n\nKK *$namaKK* mohon ikut mereview draft Proposal mahasiswa *($namaMahasiswa / $nimMahasiswa)* yang berjudul *$judulPraoutline* yang diusulkan ke KK *$kkPraoutline* pada tanggal $tanggalInput \n\n*SPOTA INFORMATIKA UNTAN*\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idpraoutline"; + + array_push($listNoHP, [ + 'hp' => $hp, + 'pesan' => $isiPesanHP, + ]); + } + + foreach($listNoHP as $keyHP => $valHP){ + $hp = '62'.intval($valHP['hp']); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$valHP['pesan'].'" + )'; + + $db->runQuery($query); + } + } + + echo json_encode(['result' => true, 'msg' => 'Update KK Terkait untuk Draft Praoutline ini Berhasil']); + }else{ + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, terjadi kesalahan teknis']); + exit; + } + break; + + case 'notifCloseJudul': + + $listKK = $_POST['kkTujuanList']; + $tanggal = $_POST['tanggalNotifKK']; + + if(sizeof($listKK) == 0){ + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, tidak ada KK yang dipilih']); + exit; + } + + foreach($listKK as $key => $val){ + $idKK = intval($val); + $tanggalUpload = date('Y-m-d', strtotime($tanggal)); + + $g = "SELECT * FROM tb_kelompok_keahlian WHERE idKK = '$idKK'"; + $db->runQuery($g); + + while ($row = $db->dbFetch()) { + $namaKK = $row['namaKK']; + $ketuaKK = $row['ketuaKK']; + } + + $g = "SELECT * FROM tbdosen WHERE iddosen = '$ketuaKK'"; + $db->runQuery($g); + + + $listNoHP = []; + while ($row = $db->dbFetch()) { + $noHPDosen = $row['nohp']; + array_push($listNoHP, $noHPDosen); + } + + $g = "SELECT tbpraoutline.*, tbmhs.idmhs, tbmhs.thnmasuk, tbmhs.nmLengkap FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim WHERE status_usulan = '0' AND kelompokKeahlian = '$idKK' AND tgl_upload < '$tanggalUpload'"; + $db->runQuery($g); + + if ($db->dbRows() == 0) { + continue; + } + + $judul = '*PERMINTAAN KEPUTUSAN DRAFT PROPOSAL*'; + + $isiNotif = "\n\nDraft proposal yang masih menunggu keputusan dari KK *$namaKK* sebagai berikut:\n\n"; + + $i = 1; + while ($row = $db->dbFetch()) { + $id = $row['id']; + $nim = $row['nim']; + $nama = $row['nmLengkap']; + $judulSkripsi = $row['judul']; + $tanggalUpload = date('d-m-Y', strtotime($row['tgl_upload'])); + + $isiNotif .= "$i. $judulSkripsi ($nama/$nim) - Tanggal Upload : *$tanggalUpload*\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$id\n\n"; + + ++$i; + } + + $sendWA = $judul.$isiNotif."*SPOTA INFORMATIKA UNTAN*"; + + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + + $hp = '62'.intval($hp); + + $sendWA = str_replace("'", '"', $sendWA); + $g = "INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES('$hp', '$sendWA')"; + $db->runQuery($g); + /** + $sql = "INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(:tujuan, :pesan)"; + $stmt = $dbh->prepare($sql); + $stmt->bindParam(':tujuan', $hp); + $stmt->bindParam(':pesan', $sendWA); + $stmt->execute(); + */ + // $data = [ + // 'api_key' => '979b07377545d6ccda68e8fa2e8d629cad2216de', + // 'sender' => '6281522658229', + // 'number' => $hp, + // 'message' => $sendWA, ]; + + // //print_r($data); + + // $curl = curl_init(); + // curl_setopt_array($curl, [ + // CURLOPT_URL => 'https://wa.gofly.id/api/send-message.php', + // CURLOPT_RETURNTRANSFER => true, + // CURLOPT_ENCODING => '', + // CURLOPT_MAXREDIRS => 10, + // CURLOPT_TIMEOUT => 2, + // CURLOPT_FOLLOWLOCATION => true, + // CURLOPT_SSL_VERIFYPEER => 0, + // CURLOPT_CONNECTTIMEOUT => 2, + // CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + // CURLOPT_CUSTOMREQUEST => 'POST', + // CURLOPT_POSTFIELDS => json_encode($data), ] + // ); + + // $response = curl_exec($curl); + + // if (curl_errno($curl)) { + // $error_msg = curl_error($curl); + // echo $error_msg; + // } + } + + /** + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL, "https://spota.untan.ac.id/steven/API/notifIngatkanKeKKMasing.php?idKK=$val&tgl=$tanggal"); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); + */ + } + + echo json_encode(['result' => true, 'msg' => 'Berhasil mengirimkan notifikasi ke ketua KK Terkait']); + break; + + case 'update_putusankk': + $idpraoutline = $_POST['idpr']; + $idputusan = $_POST['idputusan']; + $nim = $_POST['nim']; + $putusan = $_POST['putusan']; + $keterangan = $_POST['ket']; + $judulFinal = $_POST['judul_final']; + + $judulEmail = 'Putusan Ketua Kelompok Keahlian'; + $isiEmail = ''; + $emailTo = []; + $listNoHP = []; + $isiNotifHP = ''; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + while ($r = $db->dbFetch()) { + array_push($emailTo, $r['email']); + $namaMahasiswa = $r['nmLengkap']; + $noHPMahasiswa = $r['noHP']; + array_push($listNoHP, $r['noHP']); + } + + $g = "SELECT * FROM tbpraoutline WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + } + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $tanggal = date('d-m-Y'); + $hari = date('w'); + $hariText = ''; + switch ($hari) { + case '0': $hariText = 'Minggu'; break; + case '1': $hariText = 'Senin'; break; + case '2': $hariText = 'Selasa'; break; + case '3': $hariText = 'Rabu'; break; + case '4': $hariText = 'Kamis'; break; + case '5': $hariText = 'Jumat'; break; + case '6': $hariText = 'Sabtu'; break; + } + + $eventDikenali = false; + + $eventDikenali = true; + + $g = "SELECT * FROM tbdosen WHERE jenis = 'K'"; + $db->runQuery($g); + + while ($r = $db->dbFetch()) { + $noHPDosen = $r['nohp']; + //array_push($listNoHP, $noHPDosen); + } + + switch ($putusan) { + case '1': + array_push($emailTo, 'tu@informatika.untan.ac.id'); + + $isiEmail = "Draft Proposal mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' DISETUJUI oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText
    "; + $isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.

    '; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + $isiNotifHP .= "Selanjutnya menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.\n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + judul_final='".$_POST['judul_final']."', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Selamat, Draft Praoutline Yang Anda Ajukan Disetujui'; + break; + + case '2': + $isiEmail = "Draft Praoutline mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' TIDAK DISETUJUI oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *TIDAK DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui'; + break; + + case '3': + $isiEmail = "Tugas akhir mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' DIGUGURKAN oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DIGUGURKAN* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Gugur'; + break; + } + + $q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + + $isiEmail .= "

    Terima kasih

    Generated by spota.untan.ac.id
    "; + + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Update Putusan Draft Praoutline Sukses']); + $db->runQuery($q2); + $db->runQuery($notif); + + $isiPesanHP = '*'.$judulEmail." (SPOTA)* \n\n".str_replace('
    ', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*"; + $isiPesanHP = str_replace('"', "'", $isiPesanHP); + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + if($hp == $noHPMahasiswa){ + $isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/"; + }else{ + $isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idpraoutline"; + } + + $hp = '62'.intval($hp); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$isiPesanHPFinal.'" + )'; + $db->runQuery($query); + } + /** + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); +*/ + + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + break; + + case 'close_judul': + /* + -insert data ke rekaphasil + -insert data ke notif_r + -update data ke tbpraoutline + hapus semua data notif_r konten yg sudah terbaca + */ + $idpraoutline = $_POST['idpr']; + $nim = $_POST['nim']; + $putusan = $_POST['putusan']; + $keterangan = $_POST['ket']; + + $judulEmail = 'Putusan Kaprodi'; + $isiEmail = ''; + $emailTo = []; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + $dataMahasiswa = []; + while ($r = $db->dbFetch()) { + $idMhs = $r['idmhs']; + array_push($emailTo, $r['email']); + $namaMahasiswa = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $dataMahasiswa = [ + 'nim' => $r['nim'], + 'nama' => $r['nmLengkap'], + 'email'=> $r['email'], + 'hp' => $r['noHP'], + 'urlFoto' => $foto, + ]; + } + + $dataPembimbing = []; + $dataPenguji = []; + + $g = "SELECT * FROM tbpraoutline LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + $idKelompokKeahlian = $r['kelompokKeahlian']; + $namaKK = $r['namaKK']; + } + + if(empty($namaKK)){ + $namaKK = "-"; + } + + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $tanggal = date('d-m-Y'); + $hari = date('w'); + $hariText = ''; + switch ($hari) { + case '0': $hariText = 'Minggu'; break; + case '1': $hariText = 'Senin'; break; + case '2': $hariText = 'Selasa'; break; + case '3': $hariText = 'Rabu'; break; + case '4': $hariText = 'Kamis'; break; + case '5': $hariText = 'Jumat'; break; + case '6': $hariText = 'Sabtu'; break; + } + + switch ($putusan) { + case '1': + $g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."')"; + $db->runQuery($g); + $namaPemb1 = '-'; + $namaPemb2 = '-'; + $namaPeng1 = '-'; + $namaPeng2 = '-'; + + array_push($emailTo, 'tu@informatika.untan.ac.id'); + while ($r = $db->dbFetch()) { + $pembimbing1 = null; + $pembimbing2 = null; + $penguji1 = null; + $penguji2 = null; + + array_push($emailTo, $r['email']); + + if ($r['nip'] == $_POST['pemb1']) { + $namaPemb1 = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $pembimbing1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['pemb2']) { + $namaPemb2 = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $pembimbing2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng1']) { + $namaPeng1 = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $penguji1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng2']) { + $namaPeng2 = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = '//spota.untan.ac.id/img/'.$foto; + } + + $penguji2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['nohp'], + 'urlFoto'=> $foto, + ]; + } + } + + + + //$tanggalKeputusanPenguji = $_POST['tanggalKeputusanPenguji']; + //$tanggalKeputusanPenguji = null; + //$semesterKeputusanPenguji = null; + + if ($_POST['peng1'] !== '' || $_POST['peng2'] !== '') { + $adapun = 'pembimbing dan penguji'; + $teksDosenPenguji = "Penguji 1$namaPeng1Penguji 2$namaPeng2"; + /* + if(empty($tanggalKeputusanPenguji)){ + $tanggalKeputusanPenguji = null; + $semesterKeputusanPenguji = null; + }else{ + + $bulanKeputusan = date('m', strtotime($tanggalKeputusanPenguji)); + $tahunKeputusan = date('Y', strtotime($tanggalKeputusanPenguji)); + + if($bulanKeputusan >= 2 && $bulanKeputusan <= 7){ + $tahunKeputusan = $tahunKeputusan - 2; + $semesterKeputusan = 'GEN'; + }else{ + $semesterKeputusan = 'GAS'; + $tahunKeputusan = $tahunKeputusan - 1; + } + + $semesterKeputusanPenguji = $semesterKeputusan."-".$tahunKeputusan; + } + */ + } else { + $adapun = 'pembimbing'; + $teksDosenPenguji = ''; + } + + $isiEmail = "Draft Praoutline mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DISETUJUI oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText
    "; + $isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal.

    '; + $isiEmail .= "Adapun $adapun yang ditunjuk adalah :
    "; + $isiEmail .= "$teksDosenPenguji
    KeteranganNama Dosen
    Pembimbing 1$namaPemb1
    Pembimbing 2$namaPemb2
    "; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + judul_final='".$_POST['judul_final']."', + pemb1='".$_POST['pemb1']."', + pemb2='".$_POST['pemb2']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan = 'Selamat, Draft Praoutline Yang Anda Ajukan Disetujui'; + + break; + + case '2': + $isiEmail = "Draft Praoutline mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' TIDAK DISETUJUI oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui'; + break; + + case '3': + $isiEmail = "Tugas akhir mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DIGUGURKAN oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Gugur'; + break; + } + + $idputusan = $db->dbLastInsertId(); + $isiEmail .= "

    Terima kasih

    Generated by spota.untan.ac.id
    "; + $q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + /*if($_POST['pemb1']!="" AND $_POST['pemb2']!="" AND $_POST['peng1']!="" AND $_POST['peng2']!="" ){*/ + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Putusan Draft Praoutline Sukses']); + $db->runQuery($q2); + $db->runQuery($notif); + + if($putusan == "1"){ + $dataPembimbing = [$pembimbing1, $pembimbing2]; + $dataPenguji = [$penguji1, $penguji2]; + + $g = "SELECT * FROM tbrekaphasil WHERE idpraoutline = '$idpraoutline' ORDER BY id DESC LIMIT 1"; + $db->runQuery($g); + $smtSekarang = "-"; + $thnSekarang = "-"; + $tanggalKeputusanWilly = '-'; + $waktuKeputusanWilly = '-'; + + while ($r = $db->dbFetch()) { + $smtSekarang = $r['semester']; + $thnSekarang = $r['tahun_ajaran']; + $tanggalKeputusanWilly = $r['tgl_kep']; + $waktuKeputusanWilly = $r['wkt_kep']; + } + + $g = "SELECT * FROM tbjadwal WHERE idMhs = '$idMhs' ORDER BY start DESC LIMIT 1"; + $db->runQuery($g); + + $tipePengajuan = "Outline"; + while ($r = $db->dbFetch()) { + $tipePengajuan = $r['jenis']; + switch($tipePengajuan){ + case "Outline" : $tipePengajuan = 'SidHas'; break; + case "SidHas" : $tipePengajuan = 'Sidang'; break; + } + } + + + $postDataWilly = [ + 'id' => $idputusan, + 'keputusan' => $putusan, + 'judul' => $judulPraoutline, + 'mahasiswa' => $dataMahasiswa, + 'pembimbings' => $dataPembimbing, + 'pengujis' => $dataPenguji, + 'semester' => $smtSekarang, + 'tahun' => $thnSekarang, + 'tanggalKeputusan' => $tanggalKeputusanWilly, + 'waktuKeputusan' => $waktuKeputusanWilly, + 'kelompokKeahlian' => $namaKK, + 'tipe_pengajuan' => $tipePengajuan, + 'token' => "spota_token_sinkronisasi_api", + ]; + + $urlAPIWilly = 'https://edoxid.untan.ac.id/api/sync-data-submission'; + $postDataWilly = json_encode($postDataWilly); + $opts = ['http' => + [ + 'method' => 'POST', + 'ignore_errors' => true, + 'header' => 'Content-Type: application/json', + 'content' => $postDataWilly, + + ], + "ssl"=>[ + "verify_peer"=>false, + "verify_peer_name"=>false, + ], + ]; + + $context = stream_context_create($opts); + $response = file_get_contents($urlAPIWilly, false, $context); + + if(empty($response)){ + $response = json_encode([]); + } + + $responseDecoded = json_decode($response, true); + $statusResponse = $responseDecoded['status']; + $g = "INSERT INTO tb_post_ke_doxid(postData, result, status) VALUES ('$postDataWilly','$response', '$statusResponse')"; + $db->runQuery($g); + + + } + //gcm + //----------------------------------------------------------------------------- + $g = "SELECT regid FROM gcm_service WHERE jenisuser IN('M') AND iduser='$nim'"; + $db->runQuery($g); + $registrationid = []; + while ($r = $db->dbFetch()) { + array_push($registrationid, $r['regid']); + } + $pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]); + $message = ['spota' => $pesan]; + +/** + sendPushNotificationToGCM($registrationid, $message); + + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); + */ + //-------------------------------------------------------------------------------- + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + /*}else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal. Silakan Tentukan Dosen Pembimbing dan Penguji")); + exit(); + }*/ + break; + + case 'close_judulkk': + /* + -insert data ke rekaphasil + -insert data ke notif_r + -update data ke tbpraoutline + hapus semua data notif_r konten yg sudah terbaca + */ + $idpraoutline = $_POST['idpr']; + $nim = $_POST['nim']; + $putusan = $_POST['putusan']; + $keterangan = $_POST['ket']; + $judulFinal = $_POST['judul_final']; + + $judulEmail = 'Putusan Ketua Kelompok Keahlian'; + $isiEmail = ''; + $emailTo = []; + $listNoHP = []; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + while ($r = $db->dbFetch()) { + array_push($emailTo, $r['email']); + $namaMahasiswa = $r['nmLengkap']; + $noHPMahasiswa = $r['noHP']; + array_push($listNoHP, $r['noHP']); + } + + $g = "SELECT * FROM tbpraoutline WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + } + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $tanggal = date('d-m-Y'); + $hari = date('w'); + $hariText = ''; + switch ($hari) { + case '0': $hariText = 'Minggu'; break; + case '1': $hariText = 'Senin'; break; + case '2': $hariText = 'Selasa'; break; + case '3': $hariText = 'Rabu'; break; + case '4': $hariText = 'Kamis'; break; + case '5': $hariText = 'Jumat'; break; + case '6': $hariText = 'Sabtu'; break; + } + + switch ($putusan) { + case '1': + + $g = "SELECT * FROM tbdosen WHERE jenis = 'K'"; + $db->runQuery($g); + + while ($r = $db->dbFetch()) { + $noHPDosen = $r['nohp']; + //array_push($listNoHP, $noHPDosen); + } + + array_push($emailTo, 'tu@informatika.untan.ac.id'); + + $isiEmail = "Draft Proposal mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' DISETUJUI oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText
    "; + $isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.

    '; + //$isiEmail .= "Adapun $adapun yang ditunjuk adalah :
    "; + //$isiEmail .= "$teksDosenPenguji
    KeteranganNama Dosen
    Pembimbing 1$namaPemb1
    Pembimbing 2$namaPemb2
    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + $isiNotifHP .= "Selanjutnya menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.\n"; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + judul_final='".$_POST['judul_final']."', + pemb1='', + pemb2='', + peng1='', + peng2='', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan = 'Selamat, Draft Praoutline Yang Anda Ajukan Disetujui'; + + break; + + case '2': + $isiEmail = "Draft Proposal mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' TIDAK DISETUJUI oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *TIDAK DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui'; + break; + + case '3': + $isiEmail = "Tugas akhir mahasiswa $namaMahasiswa / $nim dengan judul '$judulFinal' DIGUGURKAN oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim ($noHPMahasiswa) dengan judul '$judulFinal' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Gugur'; + break; + } + + $isiEmail .= "

    Terima kasih

    Generated by spota.untan.ac.id
    "; + $q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + /*if($_POST['pemb1']!="" AND $_POST['pemb2']!="" AND $_POST['peng1']!="" AND $_POST['peng2']!="" ){*/ + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Putusan Draft Praoutline Sukses']); + $db->runQuery($q2); + $db->runQuery($notif); + //gcm + //----------------------------------------------------------------------------- + // $g = "SELECT regid FROM gcm_service WHERE jenisuser IN('M') AND iduser='$nim'"; + // $db->runQuery($g); + // $registrationid = []; + // while ($r = $db->dbFetch()) { + // array_push($registrationid, $r['regid']); + // } + // $pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]); + // $message = ['spota' => $pesan]; + + // sendPushNotificationToGCM($registrationid, $message); + + $isiPesanHP = '*'.$judulEmail." (SPOTA)* \n\n".str_replace('
    ', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*"; + $isiPesanHP = str_replace('"', "'", $isiPesanHP); + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + if($hp == $noHPMahasiswa){ + $isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/"; + }else{ + $isiPesanHPFinal = $isiPesanHP."\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$idpraoutline"; + } + + $hp = '62'.intval($hp); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$isiPesanHPFinal.'" + )'; + $db->runQuery($query); + } + +/** + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); +*/ + + //-------------------------------------------------------------------------------- + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + /*}else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal. Silakan Tentukan Dosen Pembimbing dan Penguji")); + exit(); + }*/ + break; + + case 'getmhs': + $db3 = new dB($dbsetting); + $nip = $_POST['nip']; + $jenis = $_POST['jenis']; + + $whereSmt = ''; + $whereSmtPenguji = ''; + if (isset($_GET['smt'])) { + if ($_GET['smt'] != 'all') { + $smt = $_GET['smt']; + $whereSmt = " AND semester = '$smt' "; + $whereSmtPenguji = " AND semesterPenunjukanPenguji = '$smt' "; + } + } + + $d = "SELECT nmLengkap FROM tbdosen WHERE nip='$nip'"; + $db3->runQuery($d); + if ($db3->dbRows() > 0) { + $dosen = $db3->dbFetch(); + } + + // switch ($jenis) { + // case 'pemb1': + // $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + // FROM tbrekaphasil trh + // LEFT JOIN tbdosen td ON (trh.pemb1=td.nip) + // LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + // WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + // $txt = 'Sebagai Pembimbing 1'; + // break; + + // case 'pemb2': + // $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + // FROM tbrekaphasil trh + // LEFT JOIN tbdosen td ON (trh.pemb2=td.nip) + // LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + // WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + // $txt = 'Sebagai Pembimbing 2'; + // break; + + // case 'peng1': + // $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + // FROM tbrekaphasil trh + // LEFT JOIN tbdosen td ON (trh.peng1=td.nip) + // LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + // WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + // $txt = 'Sebagai Penguji 1'; + // break; + + // case 'peng2': + // $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + // FROM tbrekaphasil trh + // LEFT JOIN tbdosen td ON (trh.peng2=td.nip) + // LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + // WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + // $txt = 'Sebagai Penguji 2'; + // break; + // } + + switch ($jenis) { + case 'pemb1': + $qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.pemb1=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' $whereSmt) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim"; + $txt = 'Sebagai Pembimbing 1'; + break; + + case 'pemb2': + $qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.pemb2=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' $whereSmt) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim"; + $txt = 'Sebagai Pembimbing 2'; + break; + + case 'peng1': + $qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester, trh.semesterPenunjukanPenguji + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.peng1=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' $whereSmtPenguji) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim"; + $txt = 'Sebagai Penguji 1'; + break; + + case 'peng2': + $qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester, trh.semesterPenunjukanPenguji + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.peng2=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' $whereSmtPenguji) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim"; + $txt = 'Sebagai Penguji 2'; + break; + } + + $db3->runQuery($qq); + echo $dosen['nmLengkap'].' : '; + echo $txt.'
    '; + echo ''; + echo ' + + + + + '; + if ($db3->dbRows() > 0) { + echo ''; + while ($m = $db3->dbFetch()) { + $tahunSplit = intval($m['tahunSplit']); + $tahunSplitNext = $tahunSplit + 1; + $semsterSplit = $m['semesterSplit']; + switch ($semsterSplit) { + case 'GAS': $semesterText = 'GAZAL'; break; + case 'GEN': $semesterText = 'GENAP'; break; + default: $semesterText = '-'; + } + + $periodeFinalText = "$tahunSplit/$tahunSplitNext - $semesterText"; + + echo ' + + + + + '; + } + echo ''; + } else { + echo ''; + echo ' + + + + + '; + echo ''; + } + echo '
    NIMNama MahasiswaSemesterJudul
    '.$m['nim'].''.$m['nmLengkap'].''.$periodeFinalText.''.$m['judul_final'].'
    '; + + break; + case 'hapusReview': + $id = intval($_POST['id']); + $nip = $_SESSION['login-dosen']['nip']; + $q1 = "SELECT * FROM tbreview WHERE id = '$id' AND reviewer = '$nip'"; + $db->runQuery($q1); + if ($db->dbRows() === 0) { + echo json_encode(['result' => false, 'msg' => 'Review ini bukan milik anda.']); + exit(); + } + + $q1 = "DELETE FROM tbreview WHERE id='".$id."'"; + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Berhasil menghapus review ini.']); + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + break; + } + } +} +?> \ No newline at end of file diff --git a/dosen/page/praoutline/cari.php b/dosen/page/praoutline/cari.php new file mode 100644 index 0000000..9dd5382 --- /dev/null +++ b/dosen/page/praoutline/cari.php @@ -0,0 +1,59 @@ + +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    + +
    +
    \ No newline at end of file diff --git a/dosen/page/praoutline/daftar-praoutline.php b/dosen/page/praoutline/daftar-praoutline.php new file mode 100644 index 0000000..41e8a28 --- /dev/null +++ b/dosen/page/praoutline/daftar-praoutline.php @@ -0,0 +1,55 @@ +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    + +
    +
    \ No newline at end of file diff --git a/dosen/page/praoutline/judul-terbaru.php b/dosen/page/praoutline/judul-terbaru.php new file mode 100644 index 0000000..f1c6eec --- /dev/null +++ b/dosen/page/praoutline/judul-terbaru.php @@ -0,0 +1,153 @@ + +
    +
    + + +
    +
    + runQuery($sql); + + while ($aRow = $db->dbFetch($result)) { + array_push($listKK, [ + 'id' => $aRow['idKK'], + 'nama' => $aRow['namaKK'], + ]); + } + + if($_SESSION['login-dosen']['jenisdosen']=='K'){ + ?> +
    + + +
    +

    Kirim Notif Close Judul ke Ketua KK Masing-masing

    +
    +
    + + +
    +
    + + $val) { + $checked = ' checked="checked" '; + + echo ' '; + } + ?> + +
    +
    +
    +
    +
    + +
    +
    +
    + + + +
    +
    +
    +
    + Status Judul + +
    + +
    + + 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) { + ?> +
    + + + Terdapat Usulan Terbaru. +
    + + + + + + + + + + + + + + + + +
    Nama MahasiswaJudul UsulanTahun AjaranTanggalKK Terkait
    Loading data from server
    + + +
    +
    + \ No newline at end of file diff --git a/dosen/page/praoutline/kep.draft.praoutline-kk.php b/dosen/page/praoutline/kep.draft.praoutline-kk.php new file mode 100644 index 0000000..03f5821 --- /dev/null +++ b/dosen/page/praoutline/kep.draft.praoutline-kk.php @@ -0,0 +1,319 @@ + +
    +
    + + +
    +
    +
    +
    +
    + Tampilkan : +
    +
    + Rentang Waktu : +
    +
    + Rentang Waktu (Tanggal Keputusan) : + sampai + +
    + + +
    + + + + + + + + + + + + + + + + +
    Nama MahasiswaJudul UsulanTahun AjaranTanggal UploadKeputusanAksi
    Loading data from server
    + + +
    +
    + +
    +
    + + +
    +
    + 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 = ''; + } + + $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(); ?> +
    +
    +

    + +
    +
    +

    Oleh :

    +
    +
    +
    +
    +
    + + + + + '; + echo '
    '; + echo '
    '; + echo 'Dosen Pembimbing Akademik (PA) :
    '.$dosenpa; + echo '
    Dosen Yang Merekomendasikan Judul:
    '.$dosenperrekomjudul; + echo '
    '; + echo '
    '; + echo 'Dosen Pembimbing Pilihan :
    '.$pilpemb1.'
    '.$pilpemb2.'
    '.$pilpemb3.'
    '.$pilpemb4; + echo '
    '; + echo '
    '; + echo ''; + } ?> +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + +
    +
    + + + +
    + + +
    +
    +
    + + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    + + +
    + + +
    + + +
    +
    +
    + +
    + \ No newline at end of file diff --git a/dosen/page/praoutline/kep.draft.praoutline.php b/dosen/page/praoutline/kep.draft.praoutline.php new file mode 100644 index 0000000..0352050 --- /dev/null +++ b/dosen/page/praoutline/kep.draft.praoutline.php @@ -0,0 +1,316 @@ + +
    +
    + + +
    +
    +
    +
    +
    + Tampilkan : + +
    + + + + + + + + + + + + + + + + +
    Nama MahasiswaJudul UsulanTahun AjaranTanggal UploadTanggal Close Judul Oleh KKAksi
    Loading data from server
    + + +
    +
    + +
    +
    + + +
    +
    + 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 = ''; + } + + 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(); ?> +
    +
    +

    + +
    +
    +

    Oleh :

    +
    +
    +
    +
    +
    + + + + + '; + echo '
    '; + echo '
    '; + echo 'Dosen Pembimbing Akademik (PA) :
    '.$dosenpa; + echo '
    Dosen Yang Merekomendasikan Judul:
    '.$dosenperrekomjudul; + echo '
    '; + echo '
    '; + echo 'Dosen Pembimbing Pilihan :
    '.$pilpemb1.'
    '.$pilpemb2.'
    '.$pilpemb3.'
    '.$pilpemb4; + echo '
    '; + echo '
    '; + echo ''; + } ?> +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + +
    +
    + +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    + + +
    + + +
    + + +
    +
    +
    + +
    + \ No newline at end of file diff --git a/dosen/page/praoutline/keputusan.php b/dosen/page/praoutline/keputusan.php new file mode 100644 index 0000000..8063714 --- /dev/null +++ b/dosen/page/praoutline/keputusan.php @@ -0,0 +1,63 @@ +
    +
    + + +
    +
    +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + +
    Nama MahasiswaJudul Tugas AkhirTahun AjaranTanggal Putusan
    Loading data from server
    +
    +
    +
    + Rentang Waktu (Jadwal Seminar): + sampai + + +
    +
    +
    +
    +
    + + + +
    diff --git a/dosen/page/praoutline/kkTerkait.php b/dosen/page/praoutline/kkTerkait.php new file mode 100644 index 0000000..14b6c5c --- /dev/null +++ b/dosen/page/praoutline/kkTerkait.php @@ -0,0 +1,113 @@ +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'], + ]); +} + +?> +
    +
    + + +
    +
    +
    + + + + + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + $val) { + $checked = ""; + if(in_array($val['id'], $kkTerkait)){ + $checked = ' checked= "checked" '; + } + echo '
    '; + } + ?> + +
    +
    +
    +
    +
    + +
    +
    +
    diff --git a/dosen/page/praoutline/list.judul.php b/dosen/page/praoutline/list.judul.php new file mode 100644 index 0000000..ab34955 --- /dev/null +++ b/dosen/page/praoutline/list.judul.php @@ -0,0 +1,224 @@ +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 = ' - Tidak Ada Kelompok Keahlian'; + $idKelompokKeahlian = $aRow['kelompokKeahlian']; + if (isset($dataKK[$idKelompokKeahlian])) { + $kelompokKeahlian = ' - '.$dataKK[$idKelompokKeahlian]['nama'].''; + } + //print_r($aRow); + $row = []; + + if ($aRow['new'] == 0) { + $badge = ' - Baru'; + } 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 = ''.$dataKK[$val]['nama'].''; + } + } + } + + if ($labelKKTerkait == '') { + $labelKKTerkait = '-'; + } + + if($currentIdKK == $idKelompokKeahlian || $currentKetua){ + $labelKKTerkait .= '
    Tambahkan KK Terkait'; + } + + $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 = '| Belum diclose'; + } elseif ($aRow['status_usulan'] == 1) { + $statusPraoutline = '| Judul Diterima'; + } elseif ($aRow['status_usulan'] == 2) { + $statusPraoutline = '| Judul Ditolak'; + } elseif ($aRow['status_usulan'] == 3) { + $statusPraoutline = '| Judul Gugur'; + } + + $row[0] = $aRow['nm_mhs'].'
    NIM: '.$aRow['nim']; + $row[1] = ''.$aRow['judul'].''.$badge.$kelompokKeahlian.$statusPraoutline; + $row[1] .= '

    Jumlah Review : '.$jumlahReview.' | Setuju : '.$jumlahSetuju.' | Tidak Setuju : '.$jumlahTidakSetuju.' '.$statusPraoutline.'

    '; + + $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); diff --git a/dosen/page/praoutline/list.judulditerima.php b/dosen/page/praoutline/list.judulditerima.php new file mode 100644 index 0000000..675cf76 --- /dev/null +++ b/dosen/page/praoutline/list.judulditerima.php @@ -0,0 +1,151 @@ +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']."
    NIM: ".$aRow['nim']; + $row[1]=''.$aRow['judul_final'].'
    '; + $row[1].='Pembimbing 1: '.$aRow['dpemb1'].' | Pembimbing 2: '.$aRow['dpemb2'].'
    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'].'
    2. '.$aRow['dpemb2']; + $row[5]='1. '.$aRow['dpeng1'].'
    2. '.$aRow['dpeng2'];*/ + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/dosen/page/praoutline/list.kep.draft.praoutline.kk.php b/dosen/page/praoutline/list.kep.draft.praoutline.kk.php new file mode 100644 index 0000000..ed7faa5 --- /dev/null +++ b/dosen/page/praoutline/list.kep.draft.praoutline.kk.php @@ -0,0 +1,268 @@ +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 = ' - Tidak Ada Kelompok Keahlian'; + $idKelompokKeahlian = $aRow['kelompokKeahlian']; + if (isset($dataKK[$idKelompokKeahlian])) { + $kelompokKeahlian = ' - '.$dataKK[$idKelompokKeahlian]['nama'].''; + } + //print_r($aRow); + $row = []; + + if ($aRow['status_usulan'] == 0) { + $statusPraoutline = ''; + } elseif ($aRow['status_usulan'] == 1) { + $statusPraoutline = '| Judul Diterima'; + } elseif ($aRow['status_usulan'] == 2) { + $statusPraoutline = '| Judul Ditolak'; + } elseif ($aRow['status_usulan'] == 3) { + $statusPraoutline = '| Judul Gugur'; + } + + $row[0] = $aRow['nm_mhs'].'
    NIM: '.$aRow['nim']; + $row[1] = ''.$aRow['judul'].''.$kelompokKeahlian; + $row[1] .= '

    Jumlah Review : '.$banyakReview.' | Setuju : '.$banyakSetuju.' | Tidak Setuju : '.$banyakTidakSetuju.' '.$statusPraoutline.'

    '; + $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 = ''; + + $row[5] = $aksi; + $output['aaData'][] = $row; + // print_r($row); + } + + echo json_encode($output); diff --git a/dosen/page/praoutline/list.kep.draft.praoutline.php b/dosen/page/praoutline/list.kep.draft.praoutline.php new file mode 100644 index 0000000..d3f3d80 --- /dev/null +++ b/dosen/page/praoutline/list.kep.draft.praoutline.php @@ -0,0 +1,279 @@ +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 = ' - Tidak Ada Kelompok Keahlian'; + $idKelompokKeahlian = $aRow['kelompokKeahlian']; + if (isset($dataKK[$idKelompokKeahlian])) { + $kelompokKeahlian = ' - '.$dataKK[$idKelompokKeahlian]['nama'].''; + } + + + //print_r($aRow); + $row = []; + + if ($aRow['status_usulan'] == 0) { + $statusPraoutline = ''; + } elseif ($aRow['status_usulan'] == 1) { + $statusPraoutline = '| Judul Diterima'; + } elseif ($aRow['status_usulan'] == 2) { + $statusPraoutline = '| Judul Ditolak'; + } elseif ($aRow['status_usulan'] == 3) { + $statusPraoutline = '| Judul Gugur'; + } + + $row[0] = $aRow['nm_mhs'].'
    NIM: '.$aRow['nim']; + $row[1] = ''.$aRow['judul'].''.$kelompokKeahlian; + $row[1] .= '

    Jumlah Review : '.$banyakReview.' | Setuju : '.$banyakSetuju.' | Tidak Setuju : '.$banyakTidakSetuju.' '.$statusPraoutline.'

    '; + $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 = ''; + + $row[5] = $aksi; + $output['aaData'][] = $row; + // print_r($row); + } + + echo json_encode($output); diff --git a/dosen/page/praoutline/list.myreview.php b/dosen/page/praoutline/list.myreview.php new file mode 100644 index 0000000..9bc4fdf --- /dev/null +++ b/dosen/page/praoutline/list.myreview.php @@ -0,0 +1,163 @@ +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 = ' - Tidak Ada Kelompok Keahlian'; + $idKelompokKeahlian = $aRow['kelompokKeahlian']; + if (isset($dataKK[$idKelompokKeahlian])) { + $kelompokKeahlian = ' - '.$dataKK[$idKelompokKeahlian]['nama'].''; + } + + $row = array(); + + switch ($aRow['status_usulan']) { + case '0': + $status = 'Dalam Proses'; + break; + case '1': + $status = 'Judul Diterima'; + break; + case '2': + $status = 'Judul Ditolak'; + break; + case '3': + $status = 'Judul Gugur'; + break; + } + + $row[0] = $aRow['nm_mhs'].'
    NIM: '.$aRow['nim']; + $row[1] = ''.$aRow['judul'].''.$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); diff --git a/dosen/page/praoutline/list.statistikdosen.php b/dosen/page/praoutline/list.statistikdosen.php new file mode 100644 index 0000000..b379f0a --- /dev/null +++ b/dosen/page/praoutline/list.statistikdosen.php @@ -0,0 +1,240 @@ +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] = ''.$aRow['pemb1'].''; + $row[3] = ''.$aRow['pemb2'].''; + $row[4] = ''.$banyakPenguji1.''; + $row[5] = ''.$banyakPenguji2.''; + + $output['aaData'][] = $row; + // print_r($row); + } + + + echo json_encode($output); diff --git a/dosen/page/praoutline/list.statistikdraft.php b/dosen/page/praoutline/list.statistikdraft.php new file mode 100644 index 0000000..7b839ea --- /dev/null +++ b/dosen/page/praoutline/list.statistikdraft.php @@ -0,0 +1,151 @@ +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); diff --git a/dosen/page/praoutline/list_filterWaktuBimbingan.php b/dosen/page/praoutline/list_filterWaktuBimbingan.php new file mode 100644 index 0000000..e69de29 diff --git a/dosen/page/praoutline/myreview.php b/dosen/page/praoutline/myreview.php new file mode 100644 index 0000000..567046c --- /dev/null +++ b/dosen/page/praoutline/myreview.php @@ -0,0 +1,45 @@ + +
    +
    + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    Nama MahasiswaJudul UsulanTahun AjaranTanggalStatus
    Loading data from server
    + + +
    +
    \ No newline at end of file diff --git a/dosen/page/praoutline/old_act.praoutline.php b/dosen/page/praoutline/old_act.praoutline.php new file mode 100644 index 0000000..285ef47 --- /dev/null +++ b/dosen/page/praoutline/old_act.praoutline.php @@ -0,0 +1,1740 @@ + '')"; + $db->runQuery($check); + if ($db->dbRows() > 0) { + echo json_encode(['result' => false, 'msg' => 'Maaf, Anda Telah Memberikan Keputusan pada Draft Praoutline ini']); + exit; + } + } else { + $kep = "jenis_review='0', putusan='',"; + } + if (ctype_digit($idpraoutline)) { + if ($_POST['text_review'] == '') { + echo json_encode(['result' => false, 'msg' => 'Tanggapan harus diisi']); + } else { + $insert = "INSERT INTO tbreview SET + idpraoutline='".$idpraoutline."', + idProdi='".$prodi."', + reviewer='".$nip."', + review_text='".$_POST['text_review']."', + $kep + tgl='".CURDATE."', + wkt='".CURTIME."'"; + + if ($db->runQuery($insert)) { + echo json_encode(['result' => true, 'msg' => 'Sukses Menambahkan Tanggapan']); + if (count($_SESSION['selected_user']) > 0) { + //print_r($_SESSION['selected_user']); + $selecteduser = ''; + for ($xx = 0; $xx < count($_SESSION['selected_user']); ++$xx) { + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$_SESSION['selected_user'][$xx]."', + jns_usr='M', + tgl='".NOW."', + msg='".$_SESSION['login-dosen']['nama_lengkap']." Menambahkan Tanggapan baru', + `read`='N'"; + //echo $notif; + $db->runQuery($notif); + if ($xx == 0) { + $selecteduser = "'".$_SESSION['selected_user'][$xx]."'"; + } else { + $selecteduser = ",'".$_SESSION['selected_user'][$xx]."'"; + } + } + //notif gcm + //----------------------------------------------------------------------------- + $g = "SELECT regid FROM gcm_service WHERE iduser IN($selecteduser) AND jenisuser ='M'"; + $db->runQuery($g); + if ($db->dbRows() > 0) { + $registrationid = []; + while ($r = $db->dbFetch()) { + array_push($registrationid, $r['regid']); + } + $isipesan = $_SESSION['login-dosen']['nama_lengkap'].' Menambahkan Tanggapan baru'; + $pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]); + $message = ['spota' => $pesan]; + + sendPushNotificationToGCM($registrationid, $message); + } + //-------------------------------------------------------------------------------- + } + } else { + echo json_encode(['result' => false, 'msg' => 'Gagal Menambahkan Tanggapan, DBError']); + } + } + } + break; + + case 'cari': + $key = $_POST['key']; + $jenis = $_POST['by']; + if ($jenis == 'nim') { + if (ctype_alnum($key)) { + $by = " tp.nim LIKE '%$key%' "; + } else { + $newkey = str_replace("'", "\'", $key); + $by = " tp.nim LIKE '%$newkey%' "; + } + } else { + /*$pecah=explode(" ", $key); + $jpecah=count($pecah); + if($jpecah==1){ + if(ctype_alnum($key)){ + $by=" tp.judul LIKE '%$key%' "; + }else{ + $newkey=str_replace("'", "\'", $key); + $by=" tp.judul LIKE '%$newkey%' "; + } + + }else{ + $by=""; + if(ctype_alnum($key)){ + for($x=0;$x<$jpecah;$x++){ + if($x==0){ + $by.=" tp.judul like '%$pecah[$x]%' "; + }else{ + $by.=" OR tp.judul like '%$pecah[$x]%' "; + } + } + }else{ + $newpecah=str_replace("'", "\'", $pecah[$x]); + for($x=0;$x<$jpecah;$x++){ + if($x==0){ + $by.=" tp.judul like '%$newpecah[$x]%' "; + }else{ + $by.=" OR tp.judul like '%$newpecah[$x]%' "; + } + } + } + + }*/ + if (ctype_alnum($key)) { + $by = " MATCH (tp.judul) AGAINST ('".$key."')"; + } else { + $newkey = str_replace("'", "\'", $key); + $by = " MATCH (tp.judul) AGAINST ('".$newkey."')"; + } + } + //include "result-cari.php"; + /*$cari="SELECT * FROM tbpraoutline WHERE $by ORDER BY tgl_upload,wkt_upload,nim,judul";*/ + $cari = "SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.status_usulan, + 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 + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE $by GROUP BY tp.id"; + + //echo $cari; + $db->runQuery($cari); + if ($db->dbRows() > 0) { + ?> +

    Hasil Pencarian ''

    +
    + dbFetch()) { + if ($rcari['status_usulan'] == 0) { + $statusPraoutline = ' - Dalam Proses'; + } elseif ($rcari['status_usulan'] == 1) { + $statusPraoutline = ' - Judul Diterima'; + } elseif ($rcari['status_usulan'] == 2) { + $statusPraoutline = ' - Judul Ditolak'; + } elseif ($rcari['status_usulan'] == 3) { + $statusPraoutline = ' - Judul Gugur'; + } ?> +
    +
    +

    + +
    +
    +

    Oleh - Download File

    +
    +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + runQuery($kep_final); + if ($db2->dbRows() > 0) { + $kep = $db2->dbFetch(); ?> +
    + +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    + + Catatan
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + } + + break; + + case '2': + break; + } ?> +
    +
    + + + + Maaf! Data Tidak Ditemukan.. + '; + } + break; + + case 'open_judul': + $idpraoutline = $_POST['idpr']; + $q1 = "DELETE FROM tbrekaphasil WHERE idpraoutline='".$idpraoutline."'"; + $q2 = "UPDATE tbpraoutline SET status_usulan='0' WHERE id='".$idpraoutline."' "; + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Review Draft Praoutline Telah Dibuka Kembali.']); + $db->runQuery($q2); + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + break; + + case 'update_putusan': + if (!(isset($_POST['eventButton']))) { + echo json_encode(['result' => false, 'msg' => 'Event tidak ditemukan']); + exit(); + } + + $eventKeputusan = strtolower(trim($_POST['eventButton'])); + $idpraoutline = $_POST['idpr']; + $idputusan = $_POST['idputusan']; + $nim = $_POST['nim']; + $putusan = $_POST['putusan']; + $keterangan = $_POST['ket']; + + $judulEmail = 'Putusan Kaprodi'; + $isiEmail = ''; + $emailTo = []; + $listNoHP = []; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + while ($r = $db->dbFetch()) { + array_push($emailTo, $r['email']); + $namaMahasiswa = $r['nmLengkap']; + array_push($listNoHP, $r['noHP']); + } + + $g = "SELECT * FROM tbpraoutline WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + } + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $tanggal = date('d-m-Y'); + $hari = date('w'); + $hariText = ''; + switch ($hari) { + case '0': $hariText = 'Minggu'; break; + case '1': $hariText = 'Senin'; break; + case '2': $hariText = 'Selasa'; break; + case '3': $hariText = 'Rabu'; break; + case '4': $hariText = 'Kamis'; break; + case '5': $hariText = 'Jumat'; break; + case '6': $hariText = 'Sabtu'; break; + } + + $eventDikenali = false; + if ($eventKeputusan === 'penguji') { + $eventDikenali = true; + if ($_POST['peng1'] === '' || $_POST['peng2'] === '') { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, harus 2 buah penguji yang ditunjuk']); + exit(); + } + + $tanggalKeputusanPenguji = $_POST['tanggalKeputusanPenguji']; + $semesterKeputusanPenguji = null; + + if (empty($tanggalKeputusanPenguji)) { + $tanggalKeputusanPenguji = null; + $semesterKeputusanPenguji = null; + } else { + $bulanKeputusan = date('m', strtotime($tanggalKeputusanPenguji)); + $tahunKeputusan = date('Y', strtotime($tanggalKeputusanPenguji)); + + if ($bulanKeputusan >= 2 && $bulanKeputusan <= 7) { + $tahunKeputusan = $tahunKeputusan - 1; + $semesterKeputusan = 'GEN'; + } else { + $semesterKeputusan = 'GAS'; + $tahunKeputusan = $tahunKeputusan; + } + + $semesterKeputusanPenguji = $semesterKeputusan.'-'.$tahunKeputusan; + } + + $g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."') OR jenis = 'K'"; + $db->runQuery($g); + $namaPemb1 = '-'; + $namaPemb2 = '-'; + $namaPeng1 = '-'; + $namaPeng2 = '-'; + + array_push($emailTo, 'tu@informatika.untan.ac.id'); + + while ($r = $db->dbFetch()) { + array_push($emailTo, $r['email']); + $noHPDosen = $r['nohp']; + array_push($listNoHP, $noHPDosen); + + if ($r['nip'] == $_POST['pemb1']) { + $namaPemb1 = $r['nmLengkap']; + } + + if ($r['nip'] == $_POST['pemb2']) { + $namaPemb2 = $r['nmLengkap']; + } + + if ($r['nip'] == $_POST['peng1']) { + $namaPeng1 = $r['nmLengkap']; + } + + if ($r['nip'] == $_POST['peng2']) { + $namaPeng2 = $r['nmLengkap']; + } + } + + $q1 = "UPDATE tbrekaphasil SET + timestampPenunjukanPenguji='".$tanggalKeputusanPenguji."', + semesterPenunjukanPenguji='".$semesterKeputusanPenguji."', + peng1='".$_POST['peng1']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Dosen Penguji telah ditunjuk.', + `read`='N'"; + + $isipesan = 'Pemberitahuan Terbaru. Dosen Penguji Telah Ditunjuk.'; + + $isiEmail = "Dosen penguji untuk skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' telah ditunjuk oleh Ketua Jurusan/Ketua Prodi Informatika pada $hariText, $tanggal untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:

    "; + $isiEmail .= "
    KeteranganNama Dosen
    Pembimbing 1 (Ketua)$namaPemb1
    Pembimbing 2 (Sekretaris)$namaPemb2
    Penguji 1$namaPeng1
    Penguji 2$namaPeng2
    "; + + //$isiNotifHP = "Dosen penguji untuk skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' telah ditunjuk oleh Ketua Jurusan/Ketua Prodi Informatika pada $hariText, $tanggal untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:\n\n"; + //$isiNotifHP .= "$namaPemb1 ----- Pembimbing 1 (Ketua)\n$namaPemb2 ----- Pembimbing 2 (Sekretaris)\n$namaPeng1 ----- Penguji 1\n$namaPeng2 ----- Penguji 2"; + $judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PENGUJI'; + $isiNotifHP = "Dosen penguji untuk skripsi mahasiswa *$namaMahasiswa / $nim* dengan judul *$judulPraoutline* telah ditunjuk oleh *Ketua Jurusan Informatika* pada $hariText, $tanggal untuk pelaksanaan Seminar Hasil (Sidang Tertutup) dengan susunan Tim Penguji sebagai berikut:\n\n"; + $isiNotifHP .= "Pembimbing 1 (Ketua): *$namaPemb1*\nPembimbing 2 (Sekretaris) : *$namaPemb2*\nPenguji 1 : *$namaPeng1*\nPenguji 2 : *$namaPeng2*\n"; + + } + + if ($eventKeputusan === 'keputusan') { + $eventDikenali = true; + $g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."') OR jenis = 'K'"; + $db->runQuery($g); + $namaPemb1 = '-'; + $namaPemb2 = '-'; + $namaPeng1 = '-'; + $namaPeng2 = '-'; + array_push($emailTo, 'tu@informatika.untan.ac.id'); + + while ($r = $db->dbFetch()) { + array_push($emailTo, $r['email']); + $noHPDosen = $r['nohp']; + array_push($listNoHP, $noHPDosen); + + if ($r['nip'] == $_POST['pemb1']) { + $namaPemb1 = $r['nmLengkap']; + } + + if ($r['nip'] == $_POST['pemb2']) { + $namaPemb2 = $r['nmLengkap']; + } + + if ($r['nip'] == $_POST['peng1']) { + $namaPeng1 = $r['nmLengkap']; + } + + if ($r['nip'] == $_POST['peng2']) { + $namaPeng2 = $r['nmLengkap']; + } + } + + switch ($putusan) { + case '1': + if ($_POST['peng1'] !== '' || $_POST['peng2'] !== '') { + $judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PENGUJI'; + $adapun = 'pembimbing dan penguji'; + $teksDosenPenguji = "Penguji 1$namaPeng1Penguji 2$namaPeng2"; + $teksDosenPengujiHP = "Penguji 1 : *$namaPeng1*\nPenguji 2 : *$namaPeng2*"; + } else { + $judulPenunjukan = 'KEPUTUSAN PENUNJUKKAN PEMBIMBING'; + $adapun = 'pembimbing'; + $teksDosenPenguji = ''; + $teksDosenPengujiHP = ''; + } + + $isiEmail = "Dosen $adapun untuk Skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' telah ditunjuk oleh oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal.

    '; + $isiEmail .= "Adapun $adapun yang ditunjuk adalah :
    "; + $isiEmail .= "$teksDosenPenguji
    KeteranganNama Dosen
    Pembimbing 1$namaPemb1
    Pembimbing 2$namaPemb2
    "; + + $isiNotifHP = "Dosen $adapun untuk Skripsi mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' telah ditunjuk oleh oleh *Ketua Jurusan Informatika* pada $hariText, $tanggal.
    "; + $isiNotifHP .= "Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal.\n\n"; + $isiNotifHP .= "Adapun $adapun yang ditunjuk adalah : \n"; + $isiNotifHP .= "Pembimbing 1 : *$namaPemb1*\nPembimbing 2 : *$namaPemb2*\n$teksDosenPengujiHP"; + + $q1 = "UPDATE tbrekaphasil SET + pemb1='".$_POST['pemb1']."', + pemb2='".$_POST['pemb2']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Selamat, Draft Praoutline Yang Anda Ajukan Disetujui'; + break; + + case '2': + $judulPenunjukan = 'KEPUTUSAN KETUA JURUSAN'; + $isiEmail = "Draft Praoutline mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' TIDAK DISETUJUI oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "Draft proposal mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' *TIDAK DISETUJUI* oleh *Ketua Jurusan Informatika* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n\n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + pemb1='', + pemb2='', + peng1='', + peng2='', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui'; + break; + + case '3': + $judulPenunjukan = 'KEPUTUSAN KETUA JURUSAN'; + $isiEmail = "Tugas akhir mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DIGUGURKAN oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Tugas akhir* mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' *DIGUGURKAN* oleh *Ketua Jurusan Informatika* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n\n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + pemb1='', + pemb2='', + peng1='', + peng2='', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Gugur'; + break; + } + + $q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + } + + if (!($eventDikenali)) { + echo json_encode(['result' => false, 'msg' => 'Jenis event tidak ditemukan']); + exit(); + } + + $isiEmail .= "

    Terima kasih

    Generated by spota.untan.ac.id
    "; + + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Update Putusan Draft Praoutline Sukses']); + $db->runQuery($q2); + $db->runQuery($notif); + + $isiPesanHP = '*'.$judulPenunjukan." (SPOTA)*\n\n".str_replace('
    ', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*"; + $isiPesanHP = str_replace('"', "'", $isiPesanHP); + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + $hp = '62'.intval($hp); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$isiPesanHP.'" + )'; + $db->runQuery($query); + } +/** + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); +*/ + + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + break; + + case 'updateKKTerkait': + $idpraoutline = $_POST['idpr']; + $listKK = $_POST['kkTerkaitList']; + // if(sizeof($listKK) == 0){ + // echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, tidak ada KK yang dipilih']); + // exit; + // } + + $listKKjson = json_encode($listKK); + + $g = "SELECT tbpraoutline.*, tbmhs.nmLengkap, namaKK FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim LEFT JOIN tb_kelompok_keahlian ON tbpraoutline.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + $namaMahasiswa = '-'; + $nimMahasiswa = '-'; + $kkPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + $namaMahasiswa = $r['nmLengkap']; + $nimMahasiswa = $r['nim']; + $kkPraoutline = $r['namaKK']; + $tanggalInput = date('d-m-Y', strtotime($r['tgl_upload'])); + } + + $q1 = "UPDATE tbpraoutline SET + kkTerkait='".$listKKjson."' + WHERE id='$idpraoutline'"; + + if ($db->runQuery($q1)) { + foreach($listKK as $key => $val){ + $val = intval($val); + + $sql = "SELECT * FROM tb_kelompok_keahlian WHERE idKK = '$val'"; + $db->runQuery($sql); + + $namaKK = '-'; + while ($r = $db->dbFetch()) { + $namaKK = $r['namaKK']; + } + + $g = "SELECT * FROM tbdosen WHERE kelompokKeahlian = '$val' OR jenis = 'K'"; + $db->runQuery($g); + + $listNoHP = []; + while ($r = $db->dbFetch()) { + $hp = $r['nohp']; + + if(empty($hp)){ + continue; + } + + $isiPesanHP = "*Permohonan Bantuan Review Draft Proposal Mahasiswa (SPOTA)* \n\nKK *$namaKK* mohon ikut mereview draft Proposal mahasiswa *($namaMahasiswa / $nimMahasiswa)* yang berjudul *$judulPraoutline* yang diusulkan ke KK *$kkPraoutline* pada tanggal $tanggalInput \n\n*SPOTA INFORMATIKA UNTAN*"; + + array_push($listNoHP, [ + 'hp' => $hp, + 'pesan' => $isiPesanHP, + ]); + } + + foreach($listNoHP as $keyHP => $valHP){ + $hp = '62'.intval($valHP['hp']); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$valHP['pesan'].'" + )'; + + $db->runQuery($query); + } + } + + echo json_encode(['result' => true, 'msg' => 'Update KK Terkait untuk Draft Praoutline ini Berhasil']); + }else{ + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, terjadi kesalahan teknis']); + exit; + } + break; + + case 'notifCloseJudul': + + $listKK = $_POST['kkTujuanList']; + $tanggal = $_POST['tanggalNotifKK']; + + if(sizeof($listKK) == 0){ + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal, tidak ada KK yang dipilih']); + exit; + } + + foreach($listKK as $key => $val){ + $idKK = intval($val); + $tanggalUpload = date('Y-m-d', strtotime($tanggal)); + + $g = "SELECT * FROM tb_kelompok_keahlian WHERE idKK = '$idKK'"; + $db->runQuery($g); + + while ($row = $db->dbFetch()) { + $namaKK = $row['namaKK']; + $ketuaKK = $row['ketuaKK']; + } + + $g = "SELECT * FROM tbdosen WHERE iddosen = '$ketuaKK' OR jenis = 'K'"; + $db->runQuery($g); + + + $listNoHP = []; + while ($row = $db->dbFetch()) { + $noHPDosen = $row['nohp']; + array_push($listNoHP, $noHPDosen); + } + + $g = "SELECT tbpraoutline.*, tbmhs.idmhs, tbmhs.thnmasuk, tbmhs.nmLengkap FROM tbpraoutline LEFT JOIN tbmhs ON tbpraoutline.nim = tbmhs.nim WHERE status_usulan = '0' AND kelompokKeahlian = '$idKK' AND tgl_upload < '$tanggalUpload'"; + $db->runQuery($g); + + if ($db->dbRows() == 0) { + continue; + } + + $judul = '*PERMINTAAN KEPUTUSAN DRAFT PROPOSAL*'; + + $isiNotif = "\n\nDraft proposal yang masih menunggu keputusan dari KK *$namaKK* sebagai berikut:\n\n"; + + $i = 1; + while ($row = $db->dbFetch()) { + $id = $row['id']; + $nim = $row['nim']; + $nama = $row['nmLengkap']; + $judulSkripsi = $row['judul']; + $tanggalUpload = date('d-m-Y', strtotime($row['tgl_upload'])); + + $isiNotif .= "$i. $judulSkripsi ($nama/$nim) - Tanggal Upload : *$tanggalUpload*\n\n"; + + ++$i; + } + + $sendWA = $judul.$isiNotif."*SPOTA INFORMATIKA UNTAN*"; + + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + + $hp = '62'.intval($hp); + + $sendWA = str_replace("'", '"', $sendWA); + $g = "INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES('$hp', '$sendWA')"; + $db->runQuery($g); + /** + $sql = "INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES(:tujuan, :pesan)"; + $stmt = $dbh->prepare($sql); + $stmt->bindParam(':tujuan', $hp); + $stmt->bindParam(':pesan', $sendWA); + $stmt->execute(); + */ + // $data = [ + // 'api_key' => '979b07377545d6ccda68e8fa2e8d629cad2216de', + // 'sender' => '6281522658229', + // 'number' => $hp, + // 'message' => $sendWA, ]; + + // //print_r($data); + + // $curl = curl_init(); + // curl_setopt_array($curl, [ + // CURLOPT_URL => 'https://wa.gofly.id/api/send-message.php', + // CURLOPT_RETURNTRANSFER => true, + // CURLOPT_ENCODING => '', + // CURLOPT_MAXREDIRS => 10, + // CURLOPT_TIMEOUT => 2, + // CURLOPT_FOLLOWLOCATION => true, + // CURLOPT_SSL_VERIFYPEER => 0, + // CURLOPT_CONNECTTIMEOUT => 2, + // CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + // CURLOPT_CUSTOMREQUEST => 'POST', + // CURLOPT_POSTFIELDS => json_encode($data), ] + // ); + + // $response = curl_exec($curl); + + // if (curl_errno($curl)) { + // $error_msg = curl_error($curl); + // echo $error_msg; + // } + } + + /** + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL, "https://spota.untan.ac.id/steven/API/notifIngatkanKeKKMasing.php?idKK=$val&tgl=$tanggal"); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); + */ + } + + echo json_encode(['result' => true, 'msg' => 'Berhasil mengirimkan notifikasi ke ketua KK Terkait']); + break; + + case 'update_putusankk': + $idpraoutline = $_POST['idpr']; + $idputusan = $_POST['idputusan']; + $nim = $_POST['nim']; + $putusan = $_POST['putusan']; + $keterangan = $_POST['ket']; + + $judulEmail = 'Putusan Ketua Kelompok Keahlian'; + $isiEmail = ''; + $emailTo = []; + $listNoHP = []; + $isiNotifHP = ''; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + while ($r = $db->dbFetch()) { + array_push($emailTo, $r['email']); + $namaMahasiswa = $r['nmLengkap']; + array_push($listNoHP, $r['noHP']); + } + + $g = "SELECT * FROM tbpraoutline WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + } + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $tanggal = date('d-m-Y'); + $hari = date('w'); + $hariText = ''; + switch ($hari) { + case '0': $hariText = 'Minggu'; break; + case '1': $hariText = 'Senin'; break; + case '2': $hariText = 'Selasa'; break; + case '3': $hariText = 'Rabu'; break; + case '4': $hariText = 'Kamis'; break; + case '5': $hariText = 'Jumat'; break; + case '6': $hariText = 'Sabtu'; break; + } + + $eventDikenali = false; + + $eventDikenali = true; + + $g = "SELECT * FROM tbdosen WHERE jenis = 'K'"; + $db->runQuery($g); + + while ($r = $db->dbFetch()) { + $noHPDosen = $r['nohp']; + array_push($listNoHP, $noHPDosen); + } + + switch ($putusan) { + case '1': + array_push($emailTo, 'tu@informatika.untan.ac.id'); + + $isiEmail = "Draft Proposal mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DISETUJUI oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText
    "; + $isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.

    '; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + $isiNotifHP .= "Selanjutnya menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.\n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + judul_final='".$_POST['judul_final']."', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Selamat, Draft Praoutline Yang Anda Ajukan Disetujui'; + break; + + case '2': + $isiEmail = "Draft Praoutline mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' TIDAK DISETUJUI oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' *TIDAK DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui'; + break; + + case '3': + $isiEmail = "Tugas akhir mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DIGUGURKAN oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' *DIGUGURKAN* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + + $q1 = "UPDATE tbrekaphasil SET + kep_akhir='".$putusan."', + ket='".$_POST['ket']."' + WHERE id='$idputusan' AND idpraoutline='$idpraoutline'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan = 'Pemberitahuan Terbaru. Maaf, Draft Praoutline Yang Anda Ajukan Gugur'; + break; + } + + $q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + + $isiEmail .= "

    Terima kasih

    Generated by spota.untan.ac.id
    "; + + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Update Putusan Draft Praoutline Sukses']); + $db->runQuery($q2); + $db->runQuery($notif); + + $isiPesanHP = '*'.$judulEmail." (SPOTA)* \n\n".str_replace('
    ', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*"; + $isiPesanHP = str_replace('"', "'", $isiPesanHP); + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + $hp = '62'.intval($hp); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$isiPesanHP.'" + )'; + $db->runQuery($query); + } + /** + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); +*/ + + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + break; + + case 'close_judul': + /* + -insert data ke rekaphasil + -insert data ke notif_r + -update data ke tbpraoutline + hapus semua data notif_r konten yg sudah terbaca + */ + $idpraoutline = $_POST['idpr']; + $nim = $_POST['nim']; + $putusan = $_POST['putusan']; + $keterangan = $_POST['ket']; + + $judulEmail = 'Putusan Kaprodi'; + $isiEmail = ''; + $emailTo = []; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + $dataMahasiswa = []; + while ($r = $db->dbFetch()) { + $idMhs = $r['idmhs']; + array_push($emailTo, $r['email']); + $namaMahasiswa = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = 'http://spota.untan.ac.id/img/'.$foto; + } + + $dataMahasiswa = [ + 'nim' => $r['nim'], + 'nama' => $r['nmLengkap'], + 'email'=> $r['email'], + 'hp' => $r['noHP'], + 'urlFoto' => $foto, + ]; + } + + $dataPembimbing = []; + $dataPenguji = []; + + $g = "SELECT * FROM tbpraoutline WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + $idKelompokKeahlian = $r['kelompokKeahlian']; + } + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $tanggal = date('d-m-Y'); + $hari = date('w'); + $hariText = ''; + switch ($hari) { + case '0': $hariText = 'Minggu'; break; + case '1': $hariText = 'Senin'; break; + case '2': $hariText = 'Selasa'; break; + case '3': $hariText = 'Rabu'; break; + case '4': $hariText = 'Kamis'; break; + case '5': $hariText = 'Jumat'; break; + case '6': $hariText = 'Sabtu'; break; + } + + switch ($putusan) { + case '1': + $g = "SELECT * FROM tbdosen WHERE nip IN ('".$_POST['pemb1']."','".$_POST['pemb2']."','".$_POST['peng1']."','".$_POST['peng2']."')"; + $db->runQuery($g); + $namaPemb1 = '-'; + $namaPemb2 = '-'; + $namaPeng1 = '-'; + $namaPeng2 = '-'; + + array_push($emailTo, 'tu@informatika.untan.ac.id'); + while ($r = $db->dbFetch()) { + $pembimbing1 = null; + $pembimbing2 = null; + $penguji1 = null; + $penguji2 = null; + + array_push($emailTo, $r['email']); + + if ($r['nip'] == $_POST['pemb1']) { + $namaPemb1 = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = 'http://spota.untan.ac.id/img/'.$foto; + } + + $pembimbing1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['hp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['pemb2']) { + $namaPemb2 = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = 'http://spota.untan.ac.id/img/'.$foto; + } + + $pembimbing2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['hp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng1']) { + $namaPeng1 = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = 'http://spota.untan.ac.id/img/'.$foto; + } + + $penguji1 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['hp'], + 'urlFoto'=> $foto, + ]; + } + + if ($r['nip'] == $_POST['peng2']) { + $namaPeng2 = $r['nmLengkap']; + $foto = $r['foto']; + if(!empty($foto)){ + $foto = 'http://spota.untan.ac.id/img/'.$foto; + } + + $penguji2 = [ + 'nip' => $r['nip'], + 'nama' => $r['nmLengkap'], + 'email' => $r['email'], + 'hp' => $r['hp'], + 'urlFoto'=> $foto, + ]; + } + } + + + + //$tanggalKeputusanPenguji = $_POST['tanggalKeputusanPenguji']; + //$tanggalKeputusanPenguji = null; + //$semesterKeputusanPenguji = null; + + if ($_POST['peng1'] !== '' || $_POST['peng2'] !== '') { + $adapun = 'pembimbing dan penguji'; + $teksDosenPenguji = "Penguji 1$namaPeng1Penguji 2$namaPeng2"; + /* + if(empty($tanggalKeputusanPenguji)){ + $tanggalKeputusanPenguji = null; + $semesterKeputusanPenguji = null; + }else{ + + $bulanKeputusan = date('m', strtotime($tanggalKeputusanPenguji)); + $tahunKeputusan = date('Y', strtotime($tanggalKeputusanPenguji)); + + if($bulanKeputusan >= 2 && $bulanKeputusan <= 7){ + $tahunKeputusan = $tahunKeputusan - 2; + $semesterKeputusan = 'GEN'; + }else{ + $semesterKeputusan = 'GAS'; + $tahunKeputusan = $tahunKeputusan - 1; + } + + $semesterKeputusanPenguji = $semesterKeputusan."-".$tahunKeputusan; + } + */ + } else { + $adapun = 'pembimbing'; + $teksDosenPenguji = ''; + } + + $isiEmail = "Draft Praoutline mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DISETUJUI oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText
    "; + $isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat berkonsultasi kepada Pembimbing yang ditunjukkan untuk menyusun proposal skripsi dan melaksanakan seminar proposal.

    '; + $isiEmail .= "Adapun $adapun yang ditunjuk adalah :
    "; + $isiEmail .= "$teksDosenPenguji
    KeteranganNama Dosen
    Pembimbing 1$namaPemb1
    Pembimbing 2$namaPemb2
    "; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + judul_final='".$_POST['judul_final']."', + pemb1='".$_POST['pemb1']."', + pemb2='".$_POST['pemb2']."', + peng1='".$_POST['peng1']."', + peng2='".$_POST['peng2']."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan = 'Selamat, Draft Praoutline Yang Anda Ajukan Disetujui'; + + break; + + case '2': + $isiEmail = "Draft Praoutline mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' TIDAK DISETUJUI oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui'; + break; + + case '3': + $isiEmail = "Tugas akhir mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DIGUGURKAN oleh Ketua Jurusan Informatika pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Gugur'; + break; + } + + $isiEmail .= "

    Terima kasih

    Generated by spota.untan.ac.id
    "; + $q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + /*if($_POST['pemb1']!="" AND $_POST['pemb2']!="" AND $_POST['peng1']!="" AND $_POST['peng2']!="" ){*/ + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Putusan Draft Praoutline Sukses']); + $db->runQuery($q2); + $db->runQuery($notif); + + if($putusan == "1"){ + $dataPembimbing = [$pembimbing1, $pembimbing2]; + $dataPenguji = [$penguji1, $penguji2]; + + $g = "SELECT * FROM tbrekaphasil WHERE idpraoutline = '$idpraoutline' ORDER BY id DESC LIMIT 1"; + $db->runQuery($g); + $smtSekarang = "-"; + $thnSekarang = "-"; + $tanggalKeputusanWilly = '-'; + $waktuKeputusanWilly = '-'; + + while ($r = $db->dbFetch()) { + $smtSekarang = $r['semester']; + $thnSekarang = $r['tahun_ajaran']; + $tanggalKeputusanWilly = $r['tgl_kep']; + $waktuKeputusanWilly = $r['wkt_kep']; + } + + $g = "SELECT * FROM tbjadwal WHERE idMhs = '$idMhs' ORDER BY start DESC LIMIT 1"; + $db->runQuery($g); + + $tipePengajuan = "Outline"; + while ($r = $db->dbFetch()) { + $tipePengajuan = $r['jenis']; + } + + $postDataWilly = [ + 'judul' => $judulPraoutline, + 'mahasiswa' => $dataMahasiswa, + 'pembimbings' => $dataPembimbing, + 'pengujis' => $dataPenguji, + 'semester' => $smtSekarang, + 'tahun' => $thnSekarang, + 'tanggalKeputusan' => $tanggalKeputusanWilly, + 'waktuKeputusan' => $waktuKeputusanWilly, + 'kelompokKeahlian' => $idKelompokKeahlian, + 'tipe_pengajuan' => $tipePengajuan, + 'token' => null, + ]; + + $urlAPIWilly = 'http:///203.24.50.140:8001/api/sync-data-submission'; + $postDataWilly = json_encode($postDataWilly); + $opts = ['http' => + [ + 'method' => 'POST', + 'ignore_errors' => true, + 'header' => 'Content-Type: application/x-www-form-urlencoded', + 'content' => $postDataWilly + ] + ]; + + $context = stream_context_create($opts); + //$response = file_get_contents($urlAPIWilly, false, $context); + + + } + //gcm + //----------------------------------------------------------------------------- + $g = "SELECT regid FROM gcm_service WHERE jenisuser IN('M') AND iduser='$nim'"; + $db->runQuery($g); + $registrationid = []; + while ($r = $db->dbFetch()) { + array_push($registrationid, $r['regid']); + } + $pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]); + $message = ['spota' => $pesan]; + +/** + sendPushNotificationToGCM($registrationid, $message); + + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); + */ + //-------------------------------------------------------------------------------- + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + /*}else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal. Silakan Tentukan Dosen Pembimbing dan Penguji")); + exit(); + }*/ + break; + + case 'close_judulkk': + /* + -insert data ke rekaphasil + -insert data ke notif_r + -update data ke tbpraoutline + hapus semua data notif_r konten yg sudah terbaca + */ + $idpraoutline = $_POST['idpr']; + $nim = $_POST['nim']; + $putusan = $_POST['putusan']; + $keterangan = $_POST['ket']; + + $judulEmail = 'Putusan Ketua Kelompok Keahlian'; + $isiEmail = ''; + $emailTo = []; + $listNoHP = []; + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + while ($r = $db->dbFetch()) { + array_push($emailTo, $r['email']); + $namaMahasiswa = $r['nmLengkap']; + array_push($listNoHP, $r['noHP']); + } + + $g = "SELECT * FROM tbpraoutline WHERE id='$idpraoutline'"; + $db->runQuery($g); + $judulPraoutline = '-'; + while ($r = $db->dbFetch()) { + $judulPraoutline = $r['judul']; + } + if (trim($keterangan) === '') { + $keteranganText = '-'; + } else { + $keteranganText = $keterangan; + } + + $tanggal = date('d-m-Y'); + $hari = date('w'); + $hariText = ''; + switch ($hari) { + case '0': $hariText = 'Minggu'; break; + case '1': $hariText = 'Senin'; break; + case '2': $hariText = 'Selasa'; break; + case '3': $hariText = 'Rabu'; break; + case '4': $hariText = 'Kamis'; break; + case '5': $hariText = 'Jumat'; break; + case '6': $hariText = 'Sabtu'; break; + } + + switch ($putusan) { + case '1': + + $g = "SELECT * FROM tbdosen WHERE jenis = 'K'"; + $db->runQuery($g); + + while ($r = $db->dbFetch()) { + $noHPDosen = $r['nohp']; + array_push($listNoHP, $noHPDosen); + } + + array_push($emailTo, 'tu@informatika.untan.ac.id'); + + $isiEmail = "Draft Proposal mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DISETUJUI oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText
    "; + $isiEmail .= 'Selanjutnya mahasiswa yang bersangkutan dapat menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.

    '; + //$isiEmail .= "Adapun $adapun yang ditunjuk adalah :
    "; + //$isiEmail .= "$teksDosenPenguji
    KeteranganNama Dosen
    Pembimbing 1$namaPemb1
    Pembimbing 2$namaPemb2
    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + $isiNotifHP .= "Selanjutnya menunggu penunjukan dosen pembimbing oleh Ketua Jurusan Informatika.\n"; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + judul_final='".$_POST['judul_final']."', + pemb1='', + pemb2='', + peng1='', + peng2='', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Diterima.', + `read`='N'"; + $isipesan = 'Selamat, Draft Praoutline Yang Anda Ajukan Disetujui'; + + break; + + case '2': + $isiEmail = "Draft Proposal mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' TIDAK DISETUJUI oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' *TIDAK DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Ditolak.', + `read`='N'"; + $isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Tidak Disetujui'; + break; + + case '3': + $isiEmail = "Tugas akhir mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' DIGUGURKAN oleh Ketua Kelompok Keahlian pada $hariText, $tanggal.
    "; + $isiEmail .= "Dengan keterangan :
    $keteranganText

    "; + + $isiNotifHP = "*Draft Proposal* mahasiswa $namaMahasiswa / $nim dengan judul '$judulPraoutline' *DISETUJUI* oleh *Ketua Kelompok Keahlian* pada $hariText, $tanggal.\n"; + $isiNotifHP .= "Dengan keterangan : *$keteranganText* \n"; + + $q1 = "INSERT INTO tbrekaphasil SET + idpraoutline='".$idpraoutline."', + idProdi='".$_SESSION['login-dosen']['prodi']."', + nim='".$nim."', + kep_akhir='".$putusan."', + tgl_kep='".CURDATE."', + wkt_kep='".CURTIME."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='smt'), + tahun_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-dosen']['prodi']."' AND `name`='thn_ajaran'), + ket='".$_POST['ket']."'"; + + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-dosen']['prodi']."', + user='".$nim."', + jns_usr='M', + tgl='".NOW."', + msg='Usulan Draft Anda Gugur.', + `read`='N'"; + $isipesan = 'Maaf, Draft Praoutline Yang Anda Ajukan Gugur'; + break; + } + + $isiEmail .= "

    Terima kasih

    Generated by spota.untan.ac.id
    "; + $q2 = "UPDATE tbpraoutline SET status_usulan='".$putusan."' WHERE id='".$idpraoutline."' "; + /*if($_POST['pemb1']!="" AND $_POST['pemb2']!="" AND $_POST['peng1']!="" AND $_POST['peng2']!="" ){*/ + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Putusan Draft Praoutline Sukses']); + $db->runQuery($q2); + $db->runQuery($notif); + //gcm + //----------------------------------------------------------------------------- + // $g = "SELECT regid FROM gcm_service WHERE jenisuser IN('M') AND iduser='$nim'"; + // $db->runQuery($g); + // $registrationid = []; + // while ($r = $db->dbFetch()) { + // array_push($registrationid, $r['regid']); + // } + // $pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]); + // $message = ['spota' => $pesan]; + + // sendPushNotificationToGCM($registrationid, $message); + + $isiPesanHP = '*'.$judulEmail." (SPOTA)* \n\n".str_replace('
    ', "\n", $isiNotifHP)."\n*SPOTA INFORMATIKA UNTAN*"; + $isiPesanHP = str_replace('"', "'", $isiPesanHP); + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + $hp = '62'.intval($hp); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$isiPesanHP.'" + )'; + $db->runQuery($query); + } + +/** + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_exec($ch); +*/ + + //-------------------------------------------------------------------------------- + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + /*}else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal. Silakan Tentukan Dosen Pembimbing dan Penguji")); + exit(); + }*/ + break; + + case 'getmhs': + $db3 = new dB($dbsetting); + $nip = $_POST['nip']; + $jenis = $_POST['jenis']; + + $whereSmt = ''; + $whereSmtPenguji = ''; + if (isset($_GET['smt'])) { + if ($_GET['smt'] != 'all') { + $smt = $_GET['smt']; + $whereSmt = " AND semester = '$smt' "; + $whereSmtPenguji = " AND semesterPenunjukanPenguji = '$smt' "; + } + } + + $d = "SELECT nmLengkap FROM tbdosen WHERE nip='$nip'"; + $db3->runQuery($d); + if ($db3->dbRows() > 0) { + $dosen = $db3->dbFetch(); + } + + // switch ($jenis) { + // case 'pemb1': + // $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + // FROM tbrekaphasil trh + // LEFT JOIN tbdosen td ON (trh.pemb1=td.nip) + // LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + // WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + // $txt = 'Sebagai Pembimbing 1'; + // break; + + // case 'pemb2': + // $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + // FROM tbrekaphasil trh + // LEFT JOIN tbdosen td ON (trh.pemb2=td.nip) + // LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + // WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + // $txt = 'Sebagai Pembimbing 2'; + // break; + + // case 'peng1': + // $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + // FROM tbrekaphasil trh + // LEFT JOIN tbdosen td ON (trh.peng1=td.nip) + // LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + // WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + // $txt = 'Sebagai Penguji 1'; + // break; + + // case 'peng2': + // $qq = "SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + // FROM tbrekaphasil trh + // LEFT JOIN tbdosen td ON (trh.peng2=td.nip) + // LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + // WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + // $txt = 'Sebagai Penguji 2'; + // break; + // } + + switch ($jenis) { + case 'pemb1': + $qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.pemb1=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' $whereSmt) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim"; + $txt = 'Sebagai Pembimbing 1'; + break; + + case 'pemb2': + $qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semester, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.pemb2=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' $whereSmt) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim"; + $txt = 'Sebagai Pembimbing 2'; + break; + + case 'peng1': + $qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester, trh.semesterPenunjukanPenguji + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.peng1=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' $whereSmtPenguji) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim"; + $txt = 'Sebagai Penguji 1'; + break; + + case 'peng2': + $qq = "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 2), '-', -1) as tahunSplit, SUBSTRING_INDEX(SUBSTRING_INDEX(semesterPenunjukanPenguji, '-', 1), '-', -1) as semesterSplit, nim, nmLengkap, judul_final, semester FROM (SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester, trh.semesterPenunjukanPenguji + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.peng2=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' $whereSmtPenguji) t ORDER BY tahunSplit DESC, semesterSplit DESC, nim"; + $txt = 'Sebagai Penguji 2'; + break; + } + + $db3->runQuery($qq); + echo $dosen['nmLengkap'].' : '; + echo $txt.'
    '; + echo ''; + echo ' + + + + + '; + if ($db3->dbRows() > 0) { + echo ''; + while ($m = $db3->dbFetch()) { + $tahunSplit = intval($m['tahunSplit']); + $tahunSplitNext = $tahunSplit + 1; + $semsterSplit = $m['semesterSplit']; + switch ($semsterSplit) { + case 'GAS': $semesterText = 'GAZAL'; break; + case 'GEN': $semesterText = 'GENAP'; break; + default: $semesterText = '-'; + } + + $periodeFinalText = "$tahunSplit/$tahunSplitNext - $semesterText"; + + echo ' + + + + + '; + } + echo ''; + } else { + echo ''; + echo ' + + + + + '; + echo ''; + } + echo '
    NIMNama MahasiswaSemesterJudul
    '.$m['nim'].''.$m['nmLengkap'].''.$periodeFinalText.''.$m['judul_final'].'
    '; + + break; + case 'hapusReview': + $id = intval($_POST['id']); + $nip = $_SESSION['login-dosen']['nip']; + $q1 = "SELECT * FROM tbreview WHERE id = '$id' AND reviewer = '$nip'"; + $db->runQuery($q1); + if ($db->dbRows() === 0) { + echo json_encode(['result' => false, 'msg' => 'Review ini bukan milik anda.']); + exit(); + } + + $q1 = "DELETE FROM tbreview WHERE id='".$id."'"; + if ($db->runQuery($q1)) { + echo json_encode(['result' => true, 'msg' => 'Berhasil menghapus review ini.']); + } else { + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal.']); + } + break; + } + } +} +?> \ No newline at end of file diff --git a/dosen/page/praoutline/pemberitahuan.php b/dosen/page/praoutline/pemberitahuan.php new file mode 100644 index 0000000..33b2b17 --- /dev/null +++ b/dosen/page/praoutline/pemberitahuan.php @@ -0,0 +1,43 @@ +
    +
    + + +
    +
    +
    +
    + + runQuery($Q_notif_review); + if($jlh_notif_review>0){ + while($r=$db->dbFetch()){ + echo ' + + + '; + } + }else{ + echo ' + + '; + } + ?> +
    '.tanggalIndo($r['tgl'],'j F Y, H:i').' '.$r['msg'].'
    Tidak Ada Pemberitahuan Terbaru
    +
    +
    \ No newline at end of file diff --git a/dosen/page/praoutline/praoutline.php b/dosen/page/praoutline/praoutline.php new file mode 100644 index 0000000..2554423 --- /dev/null +++ b/dosen/page/praoutline/praoutline.php @@ -0,0 +1,55 @@ +location.href='".DOSEN_PAGE."dashboard.php'"; + break; +} diff --git a/dosen/page/praoutline/review.php b/dosen/page/praoutline/review.php new file mode 100644 index 0000000..0c03e41 --- /dev/null +++ b/dosen/page/praoutline/review.php @@ -0,0 +1,700 @@ + + + +
    +
    + + +
    +
    +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 = ' - Dalam Proses'; + } elseif ($stat['status_usulan'] == 1) { + $statusPraoutline = ' - Judul Diterima'; + } elseif ($stat['status_usulan'] == 2) { + $statusPraoutline = ' - Judul Ditolak'; + } elseif ($stat['status_usulan'] == 3) { + $statusPraoutline = ' - Judul Gugur'; + } + + $kelompokKeahlian = ' Tidak Ada Kelompok Keahlian'; + $idKelompokKeahlian = $stat['kelompokKeahlian']; + if (isset($dataKK[$idKelompokKeahlian])) { + $kelompokKeahlian = ' - '.$dataKK[$idKelompokKeahlian]['nama'].''; + } ?> +
    +
    +

    + +
    +
    +

    Kelompok Keahlian :

    +
    + Oleh : - +
    + +
    +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + + 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(); ?> +
    + +
    +
    + Diupload
    + Tanggal :
    + + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    +
    + Catatan
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + }*/ + break; + + case '2': + $db->runQuery($kep_final); + if ($db->dbRows() > 0) { + $tolak = $db->dbFetch(); ?> +
    +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    +
    +
    + Catatan
    + +
    +
    +
    + '; + echo '
    '; + echo '
    '; + echo 'Dosen Pembimbing Akademik (PA) :
    '.$dosenpa; + echo '
    Dosen Yang Merekomendasikan Judul:
    '.$dosenperrekomjudul; + echo '
    '; + echo '
    '; + echo 'Dosen Pembimbing Pilihan :
    '.$pilpemb1.'
    '.$pilpemb2.'
    '.$pilpemb3.'
    '.$pilpemb4; + echo '
    '; + echo '
    '; + echo '
    '; + } ?> + + + 0) { + ?> +
    +
    +
    +
    + runQuery($rev); + if ($db->dbRows() > 0) { + echo '
      '; + while ($r = $db->dbFetch()) { + if ($r['reviewer'] == $selectednim) { + $jenis = 'self'; + $nama = '
      '.$r['nmMhs'].' Quote
      '; + $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 = 'Hapus '; + } + + $nama = '
      '.$r['nmDosen'].' Quote '.$btnHapus.'
      '; + $foto = $r['ftdosen']; + } + + if ($r['putusan'] == '1') { + $putusan = 'Setuju'; + } elseif ($r['putusan'] == '0') { + $putusan = 'Tidak Setuju'; + } else { + $putusan = ''; + } ?> +
    1. +
      + +
      +
      + +

      + +


      + , +
      +
    2. + '; + } else { + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } ?> + +
    +
    +
    + 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]'; + } + } + } ?> + 7){ + if($stat['setuju']>1){ + $tanggapan=false; + }else{ + $tanggapan=true; + } + } + }*/ ?> + +
    +
    + +
    + + +
    +
    + Tanggapan + :
    + +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    + Belum Ada Review, Silakan Berikan Tanggapan Terhadap Judul ini."; ?> +
    + 7){ + if($stat['setuju']>1){ + $tanggapan=false; + }else{ + $tanggapan=true; + } + } + }*/ ?> + +
    +
    + +
    + + +
    +
    + Tanggapan :
    + +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    + Maaf. Data Review Untuk Mahasiswa ".$_GET['nim'].' Tidak Ditemukan. '; + } +} else { + echo "
    Maaf. Data Review Untuk Tidak Ditemukan.
    "; +} + +//print_r($_SESSION['new_review_dsn']); +//print_r($_SESSION['selected_user']); +?> + + \ No newline at end of file diff --git a/dosen/page/praoutline/statistik.php b/dosen/page/praoutline/statistik.php new file mode 100644 index 0000000..14d8cb9 --- /dev/null +++ b/dosen/page/praoutline/statistik.php @@ -0,0 +1,199 @@ + +
    +
    + + +
    +
    +
    +
    +

    Statistik Draft Praoutline

    + + + + + + + + + + + + + + + + +
    SemesterDalam ProsesDisetujuiDitolakGugurTotal
    Loading data from server
    +
    + +
    +

    Statistik Dosen

    + 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(); + ?> + +
    + + + + + + + + + + + + + + + +
    Nama DosenPembimbing 1Pembimbing 2Penguji 1Penguji 2
    + +
    +
    + +
    +
    +
    +

    Statistik Keseluruhan Dosen

    + + + + + + + + + + + + + + + + + +
    Nama DosenNIPSbg Pembimbing 1Sbg Pembimbing 2Sbg Penguji 1Sbg Penguji 2
    Loading data from server
    +
    +
    + + + + diff --git a/dosen/page/skripsi/act.skripsi.php b/dosen/page/skripsi/act.skripsi.php new file mode 100644 index 0000000..9ea5a9d --- /dev/null +++ b/dosen/page/skripsi/act.skripsi.php @@ -0,0 +1,119 @@ +runQuery($simpan)) { + header("Location:http://spota.untan.ac.id/dosen/dashboard.php?page=skripsi&menu=forumdosen&id=$idrekap"); + // echo json_encode(array('result' => true, 'msg' => 'Sukses Menambahkan Diskusi Forum')); + } else { + header("Location:http://spota.untan.ac.id/dosen/dashboard.php?page=skripsi&menu=forumdosen&id=$idrekap"); + // echo json_encode(array('result' => false, 'msg' => 'Gagal Menambahkan Diskusi Forum, DBError')); + } + break; + + case 'post_review': + $query = "SHOW TABLE STATUS LIKE 'tbreviewdiskusi'"; + $db->runQuery($query); + $data = $db->dbFetch(); + //$newID = $data['Auto_increment']; + $newID = time().rand(100,999); + $nip = $_SESSION['login-dosen']['nip']; + $id = $_POST['id']; + $sub = $_POST['sub']; + $prodi = $_SESSION['login-dosen']['prodi']; + $rev_text = $_POST['text_review']; + $stdis = $_POST['putusan']; + + if ($stdis == '1') { + $update = "UPDATE tbdiskusi SET stDiskusi='$stdis', wktSelesai=CURDATE() WHERE idDiskusi='$id'"; + $db->runQuery($update); + } else { + } + + if ($_FILES['berkas']['name'] != '') { + $dir = LAMPIRAN_FILE; + if (!is_dir($dir) && !@mkdir($dir, 0777, true) && !is_dir($dir)) { + echo json_encode(array('result' => false, 'msg' => 'Folder upload tidak tersedia.')); + exit; + } + + $supportlist = array('pdf', 'zip', 'doc', 'docx'); + $namaberkas = $_FILES['berkas']['name']; + $type = $_FILES['berkas']['type']; + $tmpname = $_FILES['berkas']['tmp_name']; + $ext = get_ext($namaberkas); + + if (!in_array($ext, $supportlist)) { + echo json_encode(array('result' => false, 'msg' => 'Hanya Mendukung file pdf, zip, word')); + exit; + } + + $nmfile = $newID.'-'.$nip.'-'.trim($sub).'.'.$ext; + $pathfile = $dir.$nmfile; + + if (move_uploaded_file($tmpname, $pathfile)) { + $query = "INSERT INTO tbreviewdiskusi SET + idDiskusi='$id', + idProdi='$prodi', + reviewer='$nip', + rev_text='$rev_text', + file_lamp='".$nmfile."', + type_filelamp='".$type."', + tgl=CURDATE(), + wkt=CURTIME(), + status='0' + "; + if (!$db->runQuery($query)) { + echo json_encode(array('result' => false, 'msg' => 'Review Gagal DbError')); + @unlink($pathfile); + exit; + } else { + echo json_encode(array('result' => true, 'msg' => 'Review Berhasil Ditambahkan')); + } + } else { + echo json_encode(array('result' => false, 'msg' => 'Review Gagal Ditambahkan')); + exit; + } + } else { + $query = "INSERT INTO tbreviewdiskusi SET + idDiskusi='$id', + idProdi='$prodi', + reviewer='$nip', + rev_text='$rev_text', + tgl=CURDATE(), + wkt=CURTIME(), + status='0' + "; + if (!$db->runQuery($query)) { + echo json_encode(array('result' => false, 'msg' => 'Review Gagal Ditambahkan')); + } else { + echo json_encode(array('result' => true, 'msg' => 'Review Berhasil Ditambahkan')); + } + } + break; + } + } +} diff --git a/dosen/page/skripsi/berkas_mahasiswa.php b/dosen/page/skripsi/berkas_mahasiswa.php new file mode 100644 index 0000000..08c54a2 --- /dev/null +++ b/dosen/page/skripsi/berkas_mahasiswa.php @@ -0,0 +1,310 @@ +
    +
    + + +
    +
    + +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 (t.pemb1 = '$nip' OR t.pemb2 = '$nip' OR t.peng1 = '$nip' OR t.peng2 = '$nip') ORDER BY start DESC"; + $db->runQuery($tab); ?> +
    +
    + +
    +
    + + + + + + + + + + + + + + dbFetch()) { + $idJadwal = $table['idJadwal']; + $dbPemb1 = $table['pemb1']; + $dbPemb2 = $table['pemb2']; + $dbPeng1 = $table['peng1']; + $dbPeng2 = $table['peng2']; + $jenisSidang = $table['jenis']; + $idRekap = $table['id']; + $statusPemb = ''; + + $sql = "SELECT * FROM tb_verif_berkas WHERE idRekapHasil = '$idRekap' AND jenisSidang = '$jenisSidang'"; + $db2->runQuery($sql); + + if ($db2->dbRows() > 0) { + while ($dataVerif = $db2->dbFetch()) { + $verifPemb1 = $dataVerif['verifPemb1']; + $verifPemb2 = $dataVerif['verifPemb2']; + $verifPeng1 = $dataVerif['verifPeng1']; + $verifPeng2 = $dataVerif['verifPeng2']; + } + } + + $valVerifPemb = 0; + $labelStatus = 'Belum Diverifikasi'; + $statusDosen = '-'; + if ($dbPemb1 == $nip) { + $statusDosen = 'Pembimbing 1'; + $statusPemb = 'pemb1'; + if ($verifPemb1 == '1') { + $labelStatus = 'Sudah Diverifikasi'; + $valVerifPemb = 1; + } + } + + if ($dbPemb2 == $nip) { + $statusDosen = 'Pembimbing 2'; + $statusPemb = 'pemb2'; + if ($verifPemb2 == '1') { + $labelStatus = 'Sudah Diverifikasi'; + $valVerifPemb = 1; + } + } + + if ($dbPeng1 == $nip) { + $statusDosen = 'Penguji 1'; + $statusPemb = 'peng1'; + if ($verifPeng1 == '1') { + $labelStatus = 'Sudah Diverifikasi'; + $valVerifPemb = 1; + } + } + + if ($dbPeng2 == $nip) { + $statusDosen = 'Penguji 2'; + $statusPemb = 'peng2'; + if ($verifPeng2 == '1') { + $labelStatus = 'Sudah Diverifikasi'; + $valVerifPemb = 1; + } + } + + $dbJenis = $table['jenis']; + $jenisSidang = '-'; + switch ($dbJenis) { + case 'Outline': $jenisSidang = 'Sidang Outline'; break; + case 'Sidang': $jenisSidang = 'Sidang Akhir'; break; + case 'SidHas': $jenisSidang = 'Sidang Hasil'; break; + } ?> + + + + + + + + + + + + + + +
    Tugas Akhir MahasiswaStatus SayaJenisWaktu SidangStatusAksi
    $table[judul]

    Oleh $table[nmLengkap]

    "; ?>

    Ruangan :
    + +
    +
    +
    + +
    +
    + + + + + +Tidak Ada Data"; + } +?> \ No newline at end of file diff --git a/dosen/page/skripsi/bimbingan.php b/dosen/page/skripsi/bimbingan.php new file mode 100644 index 0000000..8681d94 --- /dev/null +++ b/dosen/page/skripsi/bimbingan.php @@ -0,0 +1,56 @@ +
    +
    + + +
    +
    +runQuery($new); + if($db->dbRows()>0){ + $no=0; + while($apdet=$db->dbFetch()){ + $no++; +?> +
    +
    +

    +
    +
    +

    +
    +
    + Tidak Ada Data Bimbingan Terbaru
    "; + } + ?> +
    + \ No newline at end of file diff --git a/dosen/page/skripsi/forum.php b/dosen/page/skripsi/forum.php new file mode 100644 index 0000000..b730456 --- /dev/null +++ b/dosen/page/skripsi/forum.php @@ -0,0 +1,117 @@ +
    +
    + + +
    +
    + +runQuery($check); +if($db->dbRows()>0){ + $tab="SELECT + tr.*, + tm.nim, + tm.nmLengkap as namaMhs + FROM tbrekaphasil tr + LEFT JOIN tbmhs tm ON (tr.nim=tm.nim) + WHERE tr.nim='$nim'"; + $db->runQuery($tab); + while($table=$db->dbFetch()){*/ +?> + +runQuery($check); + if($db->dbRows()>0){ + $tab="SELECT + tr.*, + tm.nim, + tm.nmLengkap as namaMhs, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=pemb1) as dpemb1, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=pemb2) as dpemb2, + (SELECT COUNT(idForum) FROM tbforum WHERE tbforum.idRekap=id AND tbforum.nim=nim GROUP BY tbforum.idRekap) as jumrev, + (SELECT tglwkt FROM tbforum WHERE tbforum.idRekap=id ORDER BY tglwkt DESC LIMIT 1) as tgl, + (SELECT tbdosen.nmLengkap FROM tbdosen,tbforum WHERE tbforum.idRekap=id AND tbforum.nip=tbdosen.nip ORDER BY tbforum.tglwkt DESC LIMIT 1) as nama + FROM tbrekaphasil tr + LEFT JOIN tbmhs tm ON (tr.nim=tm.nim) + WHERE tr.pemb1='$nip' or tr.pemb2='$nip' + "; + $db->runQuery($tab); + +?> +
    +
    + +
    +
    + + + + + + + + + + + + + dbFetch()){ + ?> + + + + + + + + + + +
    Tugas Akhir MahasiswaPembimbing 1Pembimbing 2DiskusiPerbaruan Terakhir
    $table[judul_final]

    Oleh $table[namaMhs]

    ";?>
    + 0){ + echo "$table[jumrev]"; + }else{ + echo "0"; + };?> + + ".tanggalIndo($table['tgl'],'j F Y').""."
    Oleh $table[nama]"; + }else{ + echo "-"; + };?> +
    +
    +
    + +
    +
    + +Tidak Ada Data"; +} +?> \ No newline at end of file diff --git a/dosen/page/skripsi/forumdosen.php b/dosen/page/skripsi/forumdosen.php new file mode 100644 index 0000000..3d87b3a --- /dev/null +++ b/dosen/page/skripsi/forumdosen.php @@ -0,0 +1,146 @@ +runQuery($fr); + $forum=$db->dbFetch(); +?> +
    +
    + + +
    +
    +
    +
    +
    +
    ""
    +
    + runQuery($checkfor); + if($db->dbRows()>0){ + $dis="SELECT + tf.*, + COUNT(tf.idForum) as jlhreview + FROM tbforum tf + WHERE tf.idRekap='$idrekap' GROUP BY tf.idRekap"; + $db->runQuery($dis); + if($db->dbRows()>0){ + $stat=$db->dbFetch(); + if($stat['jlhreview']>0){ + ?> +
    +
    +
    +
    + runQuery($rev); + if($db->dbRows()>0){ + echo '
      '; + while($r=$db->dbFetch()){ + if($r['nip']==$nip){ + $jenis="self"; + $nama=''.$r['nmDosen'].'
      '; + $foto=$r['ftdosen']; + }else{ + $jenis="other"; + $nama=''.$r['nmDosen'].'
      '; + $foto=$r['ftdosen']; + } + + ?> +
    1. +
      + +
      +
      + +

      + +

      + +
      +
    2. + '; + }else{ + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } + ?> + +
    +
    +
    +
    +
    + +
    + + + +
    +
    + Tanggapan :
    + +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    + + + +
    +
    + Tanggapan :
    + +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/dosen/page/skripsi/history.php b/dosen/page/skripsi/history.php new file mode 100644 index 0000000..34ad03f --- /dev/null +++ b/dosen/page/skripsi/history.php @@ -0,0 +1,56 @@ + +
    +
    + + +
    +
    +
    +
    + runQuery($ds); + $no=0; + while($diskusi=$db->dbFetch()){ + $no++; + if($diskusi['stDiskusi']==0){ + $statusDiskusi=' - Dalam Proses'; + }else if($diskusi['stDiskusi']==1){ + $statusDiskusi=' - Selesai'; + } + ?> +

    ">

    +
    +
    +

    Dosen Pembimbing :

    +
    +
    + +
    +
    + \ No newline at end of file diff --git a/dosen/page/skripsi/jadwal.php b/dosen/page/skripsi/jadwal.php new file mode 100644 index 0000000..c7b6933 --- /dev/null +++ b/dosen/page/skripsi/jadwal.php @@ -0,0 +1,21 @@ + +
    +
    + + +
    +
    \ No newline at end of file diff --git a/dosen/page/skripsi/penilaian.php b/dosen/page/skripsi/penilaian.php new file mode 100644 index 0000000..19c1b8a --- /dev/null +++ b/dosen/page/skripsi/penilaian.php @@ -0,0 +1,184 @@ +
    +
    + + +
    +
    + +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); ?> +
    +
    + +
    +
    + + + + + + + + + + + + + + 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 = 'Belum Dinilai'; + $statusDosen = '-'; + if ($dbPemb1 == $nip) { + $statusDosen = 'Pembimbing 1'; + if ($sudahDinilai && $nilaiPemb1 != null) { + $labelStatus = 'Success Label'; + } + } + + if ($dbPemb2 == $nip) { + $statusDosen = 'Pembimbing 2'; + if ($sudahDinilai && $nilaiPemb2 != null) { + $labelStatus = 'Success Label'; + } + } + + if ($dbPeng1 == $nip) { + $statusDosen = 'Penguji 1'; + if ($sudahDinilai && $nilaiPeng1 != null) { + $labelStatus = 'Success Label'; + } + } + + if ($dbPeng2 == $nip) { + $statusDosen = 'Penguji 2'; + if ($sudahDinilai && $nilaiPeng2 != null) { + $labelStatus = 'Success Label'; + } + } + + $dbJenis = $table['jenis']; + $jenisSidang = '-'; + switch ($dbJenis) { + case 'Outline': $jenisSidang = 'Sidang Outline'; break; + case 'Sidang': $jenisSidang = 'Sidang Akhir'; break; + case 'SidHas': $jenisSidang = 'Sidang Hasil'; break; + } ?> + + + + + + + + + + + + + + +
    Tugas Akhir MahasiswaStatus SayaJenisWaktu SidangStatusAksi
    $table[judul]

    Oleh $table[nmLengkap]

    "; ?>

    Ruangan :
    + +
    +
    +
    + +
    +
    + + + + + + + +Tidak Ada Data"; + } +?> \ No newline at end of file diff --git a/dosen/page/skripsi/rev.php b/dosen/page/skripsi/rev.php new file mode 100644 index 0000000..ab44ce2 --- /dev/null +++ b/dosen/page/skripsi/rev.php @@ -0,0 +1,21 @@ + +
    +
    + + +
    +
    \ No newline at end of file diff --git a/dosen/page/skripsi/review.php b/dosen/page/skripsi/review.php new file mode 100644 index 0000000..5e099bb --- /dev/null +++ b/dosen/page/skripsi/review.php @@ -0,0 +1,379 @@ + +
    +
    + +
    +
    +runQuery($up); +// + $checkdiskusi="SELECT idDiskusi FROM tbdiskusi WHERE stDiskusi='0' AND idDiskusi='$id_dis' LIMIT 1"; + $db->runQuery($checkdiskusi); + if($db->dbRows()>0){ + $dis="SELECT + tp.*, + tr.*, + tm.*, + tb.*, + COUNT(tr.idDiskusi) as jlhreview + FROM tbdiskusi tp + LEFT JOIN tbreviewdiskusi tr ON (tp.idDiskusi=tr.idDiskusi) + LEFT JOIN tbmhs tm ON (tp.nim=tm.nim) + LEFT JOIN tbbab tb ON (tp.idBab=tb.idBab) + WHERE tp.stDiskusi='0' and tp.idDiskusi='$id_dis' GROUP BY tp.idDiskusi"; + $db->runQuery($dis); + if($db->dbRows()>0){ + $stat=$db->dbFetch(); +?> +
    +
    +

    +

    Jumlah Review :

    +
    +
    + 0){ + ?> +
    +
    +
    +
    + runQuery($rev); + if($db->dbRows()>0){ + echo '
      '; + while($r=$db->dbFetch()){ + if($r['reviewer']==$nip){ + $jenis="self"; + $nama=''.$r['nmDosen'].'
      '; + $foto=$r['ftdosen']; + }else{ + $jenis="other"; + $nama=''.$r['nmMhs'].'
      '; + $foto=$r['ftmhs']; + } + + ?> +
    1. +
      + +
      +
      + +

      + +


      + + , + +

      Lampiran - ">

      + , +
      + +
    2. + '; + }else{ + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } + ?> + +
    +
    +
    +
    +
    + +
    + + + +
    +
    + Tanggapan :
    + +
    +
    + + +
    +
    + +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + Belum Ada Review"; + ?> +
    +
    +
    + +
    + + + +
    +
    + Tanggapan :
    + +
    +
    + + +
    +
    + +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + runQuery($dis); + if($db->dbRows()>0){ + $stat=$db->dbFetch(); + ?> +
    +
    +

    +

    Jumlah Review :

    +
    +
    +
    +
    +
    +
    + runQuery($rev); + if($db->dbRows()>0){ + echo '
      '; + while($r=$db->dbFetch()){ + if($r['reviewer']==$nip){ + $jenis="self"; + $nama=''.$r['nmDosen'].'
      '; + $foto=$r['ftdosen']; + }else{ + $jenis="other"; + $nama=''.$r['nmMhs'].'
      '; + $foto=$r['ftmhs']; + } + + ?> +
    1. +
      + +
      +
      + +

      + +


      + + , + +

      Lampiran - ">

      + , +
      + +
    2. + '; + }else{ + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } + ?> + +
    +
    +
    + +
    +runQuery($checkdiskusi); + if($db->dbRows()>0){ + $dis="SELECT + tp.*, + tr.*, + tm.*, + tb.*, + COUNT(tr.idDiskusi) as jlhreview + FROM tbdiskusi tp + LEFT JOIN tbreviewdiskusi tr ON (tp.idDiskusi=tr.idDiskusi) + LEFT JOIN tbmhs tm ON (tp.nim=tm.nim) + LEFT JOIN tbbab tb ON (tp.idBab=tb.idBab) + WHERE tp.stDiskusi='0' and tp.idDiskusi='$id_dis' GROUP BY tp.idDiskusi"; + $db->runQuery($dis); + if($db->dbRows()>0){ + $stat=$db->dbFetch(); +?> +
    +
    +

    +

    Jumlah Review :

    +
    +
    + 0){ + ?> +
    +
    +
    +
    + runQuery($rev); + if($db->dbRows()>0){ + echo '
      '; + while($r=$db->dbFetch()){ + if($r['reviewer']==$nip){ + $jenis="self"; + $nama=''.$r['nmDosen'].'
      '; + $foto=$r['ftdosen']; + }else{ + $jenis="other"; + $nama=''.$r['nmMhs'].'
      '; + $foto=$r['ftmhs']; + } + + ?> +
    1. +
      + +
      +
      + +

      + +


      + + , + +

      Lampiran - ">

      + , +
      + +
    2. + '; + }else{ + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } + ?> + +
    +
    +
    + Belum Ada Data
    "; +} +?> + + \ No newline at end of file diff --git a/dosen/page/skripsi/riwayat.php b/dosen/page/skripsi/riwayat.php new file mode 100644 index 0000000..19541c3 --- /dev/null +++ b/dosen/page/skripsi/riwayat.php @@ -0,0 +1,21 @@ + +
    +
    + + +
    +
    \ No newline at end of file diff --git a/dosen/page/skripsi/skripsi.php b/dosen/page/skripsi/skripsi.php new file mode 100644 index 0000000..74c2ffb --- /dev/null +++ b/dosen/page/skripsi/skripsi.php @@ -0,0 +1,38 @@ +location.href='".DOSEN_PAGE."dashboard.php'"; + break; +} diff --git a/dosen/page/user/act.user.php b/dosen/page/user/act.user.php new file mode 100644 index 0000000..7d934d7 --- /dev/null +++ b/dosen/page/user/act.user.php @@ -0,0 +1,110 @@ + false, 'msg' => 'File gambar yang didukung hanya *.jpg,*.png,*.gif')); + exit; + + break; + } + + list($CurWidth, $CurHeight) = getimagesize($TempSrc); + $ImageExt = substr($ImageName, strrpos($ImageName, '.')); + $ImageExt = str_replace('.', '', $ImageExt); + + $ImageName = 'dosen'; + + $NewImageName = $ImageName.'_'.$RandomNumber.'.'.$ImageExt; + $thumb_DestRandImageName = $DestinationDirectory.$NewImageName; //Thumb name + if (!resizeImage($CurWidth, $CurHeight, $BigImageMaxSize, $thumb_DestRandImageName, $CreatedImage, $Quality, $ImageType)) { + echo json_encode(array('result' => false, 'msg' => 'Upload Gambar gagal')); + exit; + } else { + $msg = 'Profil telah disimpan.'; + + if ($_POST['password'] == '') { + $pass = "password='".md5(trim($_POST['password']))."', "; + } else { + $pass = ''; + } + + $queryupdate = "UPDATE tbdosen + SET + nmLengkap='".$_POST['nmLengkap']."', + nohp='".$_POST['nohp']."', + $pass + email='".$_POST['email']."', + foto='".$NewImageName."' + WHERE iddosen='$id' + "; + @unlink(DIR_GAMBAR.$_POST['img']); + } + } + if ($db->runQuery($queryupdate)) { + echo json_encode(array('result' => true, 'msg' => $msg)); + $_SESSION['login-dosen']['nama_lengkap'] = $_POST['nmLengkap']; + } else { + //if($_POST['slider']=="Y"){ + @unlink($DestRandImageName); + @unlink($thumb_DestRandImageName); + //} + echo json_encode(array('result' => false, 'msg' => 'Aksi Gagal DbError')); + exit; + } + } + echo ""; + break; + } +} diff --git a/dosen/page/user/my-profile.php b/dosen/page/user/my-profile.php new file mode 100644 index 0000000..68c9beb --- /dev/null +++ b/dosen/page/user/my-profile.php @@ -0,0 +1,94 @@ +runQuery($e); + if($db->dbRows()>0){ + $edit=$db->dbFetch(); +}else{ + + exit; +} +?> +
    +
    + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    + + +
    +
    + +
    + +

    + +
    +
    +
    +
    +
    + +
    +
    +
    \ No newline at end of file diff --git a/dosen/page/user/user.php b/dosen/page/user/user.php new file mode 100644 index 0000000..e54f2a8 --- /dev/null +++ b/dosen/page/user/user.php @@ -0,0 +1,11 @@ +location.href='".DOSEN_PAGE."dashboard.php?page=user&menu=my-profile'"; + break; +} +?> \ No newline at end of file diff --git a/download.php b/download.php new file mode 100644 index 0000000..14385b2 --- /dev/null +++ b/download.php @@ -0,0 +1,58 @@ +runQuery($q); + if ($db->dbRows() > 0) { + $r = $db->dbFetch(); + $berkas = $r['berkas']; + $nim = $r['nim']; + if (file_exists(LAMPIRAN_FILE.$berkas)) { + // header('Content-Disposition: attachment; filename=spota_'.$berkas); + // header('Content-length: '.filesize(LAMPIRAN_FILE.$berkas)); + header('Content-type: application/pdf'); + $fp = fopen(LAMPIRAN_FILE.$berkas, 'r'); + $content = fread($fp, filesize(LAMPIRAN_FILE.$berkas)); + fclose($fp); + echo $content; + } + } else { + echo 'data tidak ditemukan'; + } + } + break; + + case 'diskusi': + $id = $_GET['rev']; + if (ctype_digit($id)) { + $q = "SELECT idRev,file_lamp,type_filelamp FROM tbreviewdiskusi WHERE idRev='$id' LIMIT 1"; + $db->runQuery($q); + if ($db->dbRows() > 0) { + $r = $db->dbFetch(); + $berkas = $r['file_lamp']; + $tipeberkas = $r['type_filelamp']; + if (file_exists(LAMPIRAN_FILE.$berkas)) { + // header('Content-Disposition: attachment; filename=spota_'.$berkas); + // header('Content-length: '.filesize(LAMPIRAN_FILE.$berkas)); + header('Content-type:'.$tipeberkas); + $fp = fopen(LAMPIRAN_FILE.$berkas, 'r'); + $content = fread($fp, filesize(LAMPIRAN_FILE.$berkas)); + fclose($fp); + echo $content; + } + } else { + echo 'data tidak ditemukan'; + } + } + break; +} diff --git a/gcmuser.php b/gcmuser.php new file mode 100644 index 0000000..48eb359 --- /dev/null +++ b/gcmuser.php @@ -0,0 +1,39 @@ +Timezone Default : ".date_default_timezone_get(); +echo "
    "; +echo date("d-m-Y H:i:s"); +echo "
    "; + +$db->runQuery($q); +if($db->dbRows()>0){ + while($r=$db->dbFetch()){ + switch ($r['jenisuser']){ + case 'M': + echo "
    Nama Mahasiswa : ".$r['mhs']."
    NIM : ".$r['iduser']."
    GCMregid : ".$r['regid']."

    "; + break; + + case 'D': + case 'K': + echo "
    Nama Dosen : ".$r['dosen']."
    NIP : ".$r['iduser']."
    GCMregid : ".$r['regid']."

    "; + break; + } + } +} + +echo "
    "; +$qqq="SELECT NOW()"; +$db->runQuery($qqq); +$xxx=$db->dbFetch(); +//print_r($xxx); +echo NOW; \ No newline at end of file diff --git a/hapus_sesi_wa.php b/hapus_sesi_wa.php new file mode 100644 index 0000000..cda8c1d --- /dev/null +++ b/hapus_sesi_wa.php @@ -0,0 +1,15 @@ +403 Forbidden"; + exit; + } + + $nomor = $_GET['sesi']; + $hapus = file_get_contents("$base_url:8000/session/delete/$nomor", false, stream_context_create(array( 'http' => array( 'method' => 'DELETE' ) )) ); + //echo $hapus; +?> + + \ No newline at end of file diff --git a/inc/costum.class.php b/inc/costum.class.php new file mode 100644 index 0000000..ba0484c --- /dev/null +++ b/inc/costum.class.php @@ -0,0 +1,142 @@ +"; + if($_GET['hal']-1==0){ + //$link_halaman.='
  • <<
  • '; + $link_halaman.='
  • '; + }else{ + //$link_halaman.='
  • <<
  • '; + $link_halaman.='
  • '; + } + // Link halaman 1,2,3, ... + for ($i=1; $i<=$jmlhalaman; $i++){ + if ($i == $halaman_aktif){ + //$link_halaman .= "$i | "; + //$link_halaman .= '
  • '.$i.'
  • '; + $link_halaman .= '
  • '.$i.'
  • '; + }else{ + //$link_halaman .= '
  • '.$i.'
  • '; + $link_halaman .= '
  • '.$i.'
  • '; + } + + $link_halaman .= " "; + } + if($_GET['hal']==$jmlhalaman){ + //$link_halaman.='
  • >>
  • '; + $link_halaman.='
  • '; + }else{ + //$link_halaman.='
  • >>
  • '; + $link_halaman.='
  • '; + } + $link_halaman .=""; + + return $link_halaman; + } + +} +/* +class PagingHalaman{ + // diadaptasikan untuk digunakan bersama bootstrap 2.3.2 + // Fungsi untuk mencek halaman dan posisi data + function cariPosisi($batas){ + if(empty($_GET['hal'])){ + $posisi=0; + $_GET['hal']=1; + } + else{ + $posisi = ($_GET['hal']-1) * $batas; + } + return $posisi; + } + + // Fungsi untuk menghitung total halaman + function jumlahHal($jmldata, $batas){ + $jmlhalaman = ceil($jmldata/$batas); + return $jmlhalaman; + } + + // Fungsi untuk link halaman 1,2,3 (untuk admin) + function navHalaman($halaman_aktif, $jmlhalaman){ + + $page="page=".$_GET['page']; + $other=""; + if($_GET['modul']!=""){ + $other.="&modul=".$_GET['modul'].""; + } + if($_GET['list']!=""){ + $other.="&list=".$_GET['list'].""; + } + if($_GET['sort']!=""){ + $other.="&sort=".$_GET['sort'].""; + } + + $link_halaman = ""; + + return $link_halaman; + } + +} +*/ +?> \ No newline at end of file diff --git a/inc/db.pdo.class.php b/inc/db.pdo.class.php new file mode 100644 index 0000000..7e4b041 --- /dev/null +++ b/inc/db.pdo.class.php @@ -0,0 +1,234 @@ +MySQLHost = $dbsetting['MySQLHost']; + $this->MySQLUser = $dbsetting['MySQLUser']; + $this->MySQLPasswd = $dbsetting['MySQLPasswd']; + $this->MySQLDb = $dbsetting['MySQLDb']; + + $this->db_SetErrorReporting($dbsetting['ERR_report']); + } + protected function dbConnect() { + try { + $this->dbAccess = new PDO('mysql:host=' . $this->MySQLHost . ';dbname=' . $this->MySQLDb, $this->MySQLUser, $this->MySQLPasswd); + $this->dbAccess->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + } catch (PDOException $e) { + echo $this->dbError("dbConnect", $e->getMessage()); + exit; + } + } + + public function dbError($from, $err_msg) { + if ($pesan_error = $err_msg) { + if ($this->dbError == TRUE) { + echo $pesan = "
    System Error! Function: $from. [$pesan_error]
    "; + } + } + } + + public function dbSelect($table, $field, $arg = "", $debug = FALSE) { + $this->dbConnect(); + if ($arg != "") { + //jika mode debug aktif + if ($debug) { + echo "SELECT " . $field . " FROM " . $table . " WHERE " . $arg . "
    "; + $this->db_SetDebug($debug); + } else { + try { + $this->dbResult = $this->dbAccess->prepare("SELECT " . $field . " FROM " . $table . " WHERE " . $arg); + $this->dbResult->execute(); + } catch (PDOException $e) { + $this->dbError("dbSelect", $e->getMessage() . "," . $e->getFile() . "," . $e->getLine()); + return FALSE; + } + } + } else { + if ($debug == true) { + echo "SELECT " . $field . " FROM " . $table . "
    "; + $this->db_SetDebug($debug); + } else { + try { + $this->dbResult = $this->dbAccess->prepare("SELECT " . $field . " FROM " . $table); + $this->dbResult->execute(); + } catch (PDOException $e) { + $this->dbError("dbSelect", $e->getMessage() . "," . $e->getFile() . "," . $e->getLine()); + return FALSE; + } + } + } + } + + public function dbInsert($table, $arg, $debug = FALSE, $log = FALSE) { + $this->dbConnect(); + $query = "INSERT INTO " . $table . " SET " . $arg; + if ($debug) { + echo htmlentities($query) . "
    "; + } else { + try { + $this->dbResult = $this->dbAccess->prepare($query); + $this->dbResult->execute(); + if ($log) { + //silakan diisi jika ingin menggunakan log + } + return true; + } catch (PDOException $e) { + $this->dbError("dbInsert", $e->getMessage()); + return FALSE; + } + } + } + + public function dbUpdate($table, $arg, $debug = FALSE, $log = FALSE) { + $this->dbConnect(); + $query = "UPDATE " . $table . " SET " . $arg; + if ($debug) { + echo $query . "
    "; + } else { + try { + $this->dbResult = $this->dbAccess->prepare($query); + $this->dbResult->execute(); + if ($log) { + //silakan diisi jika ingin menggunakan log + } + return true; + } catch (PDOException $e) { + $this->dbError("dbUpdate", $e->getMessage()); + return FALSE; + } + } + } + + public function dbDelete($table, $arg, $debug = FALSE, $log = FALSE) { + $this->dbConnect(); + if ($arg != "") { + $query = "DELETE FROM " . $table . " WHERE " . $arg; + if ($debug == true) { + echo $query . "
    "; + } else { + try { + $this->dbResult = $this->dbAccess->prepare($query); + $this->dbResult->execute(); + if ($log) { + //silakan diisi jika ingin menggunakan log + } + return TRUE; + } catch (PDOException $e) { + $this->dbError("dbDelete", $e->getMessage()); + return FALSE; + } + } + } else { + $query = "DELETE FROM " . $table; + if ($debug == true) { + echo $query . "
    "; + } else { + try { + $this->dbResult = $this->dbAccess->prepare($query); + $this->dbResult->execute(); + if ($log) { + //silakan diisi jika ingin menggunakan log + } + return true; + } catch (PDOException $e) { + $this->dbError("dbDelete", $e->getMessage()); + return FALSE; + } + } + } + } + + public function runQuery($sql = "", $debug = FALSE) { + $this->dbConnect(); + if ($sql != "") { + if ($debug) { + echo htmlentities($sql) . "
    "; + } else { + try { + $this->dbResult = $this->dbAccess->prepare($sql); + $this->dbResult->execute(); + // return TRUE; + return $this->dbResult; + } catch (PDOException $e) { + $this->dbError("runQuery", $e->getMessage() . "," . $e->getLine()); + return FALSE; + } + } + } + } + + /* + * dbFetch() + * dipanggil dengan menggunakan foreach + */ + + public function dbFetch($data=NULL) { + if (!$this->debug) { + try { + if($data!=NULL){ + return $data->fetch(PDO::FETCH_BOTH); + }else{ + return $this->dbResult->fetch(PDO::FETCH_ASSOC); + } + + } catch (PDOException $e) { + $this->dbError("dbFetch", $e->getMessage() . "," . $e->getFile() . "," . $e->getLine()); + return FALSE; + } + } + } + + public function dbRows($data=NULL) { + if (!$this->debug) { + try { + if($data!=NULL){ + return $data->rowCount(); + }else{ + return $this->dbResult->rowCount(); + } + + } catch (PDOException $e) { + $this->dbError("dbRows", $e->getMessage() . "," . $e->getFile() . "," . $e->getLine()); + return FALSE; + } + } + } + + public function dbLastInsertId() { + if (!$this->debug) { + try { + return $this->dbAccess->lastInsertId(); + } catch (PDOException $e) { + $this->dbError("dbLastInsertId", $e->getMessage() . "," . $e->getFile() . "," . $e->getLine()); + return FALSE; + } + } + } + + private function db_SetErrorReporting($mode) { + return $this->dbError = $mode; + } + + private function db_SetDebug($mode) { + return $this->debug = $mode; + } + +} + +?> diff --git a/inc/gcm_helper.php b/inc/gcm_helper.php new file mode 100644 index 0000000..6904190 --- /dev/null +++ b/inc/gcm_helper.php @@ -0,0 +1,37 @@ + $registation_ids, + 'data' => $message, + ); + // Update your Google Cloud Messaging API Key + //GOOGLE_API_KEY defined at konfigurasi.php + $headers = array( + 'Authorization: key=' . GOOGLE_API_KEY, + 'Content-Type: application/json' + ); + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); + $result = curl_exec($ch); + if ($result === FALSE) { + die('Curl failed: ' . curl_error($ch)); + } + curl_close($ch); + return $result; +} + +//--------------------------------------------------------------------- +?> \ No newline at end of file diff --git a/inc/helper.php b/inc/helper.php new file mode 100644 index 0000000..9892491 --- /dev/null +++ b/inc/helper.php @@ -0,0 +1,446 @@ +"; + } +} + +// heading h1 - h6 +if (!function_exists('heading')){ + function heading($title, $size, $param) + { + $heading = "$title"; + return $heading; + } +} +//baris +if ( ! function_exists('br')){ + function br($num = 1) + { + return str_repeat("
    ", $num); + } +} +//stylesheet +if (!function_exists('loadCss')){ + function loadCss($url,$echo=TRUE) + { + $loadCss = ""; + if($echo==TRUE){ + echo $loadCss."\n"; + }else{ + return $loadCss; + } + } +} + +//javascript +if (!function_exists('loadJs')){ + function loadJs($url,$echo=TRUE) + { + $loadJs = ""; + if($echo==TRUE){ + echo $loadJs; + }else{ + return $loadJs; + } + } +} +//image +if (!function_exists('img')){ + function img($img, $param) + { + $img = ""; + return $img; + } +} +// spasi +if (!function_exists('spasi')){ + function spasi($count) + { + for ($i = 1; $i <= $count; $i++) { + echo ' '; + } + } +} +// tag meta +if (!function_exists('meta')){ + function meta($name, $content) + { + $meta = ""; + return $meta; + } +} + +//load file// gagal +if(!function_exists('loadFile')){ + function loadFile($link,$type="inlcude") + { + if(file_exists($link)){ + switch($type){ + case 'include': + include $link; + break; + case 'include_once': + include_once $link; + break; + case 'require': + require $link; + break; + case 'require_once': + require_once $link; + break; + } + }else{ + echo "
    File yang diload tidak ditemukan.
    "; + } + } +} + +function addExtraZero($data, $len) { + $y = $len - strlen($data); + while(strlen($x) < $y) { + $x .= "0"; + } + return $x . $data; +} + +function uangIndo($uang) { + return number_format($uang, 2, ',', '.'); +} + +function terbilang($x) { + $abil = array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"); + if ($x < 12) + return " " . $abil[$x]; + elseif ($x < 20) + return Terbilang($x - 10) . "Belas"; + elseif ($x < 100) + return Terbilang($x / 10) . " Puluh" . terbilang($x % 10); + elseif ($x < 200) + return " seratus" . Terbilang($x - 100); + elseif ($x < 1000) + return Terbilang($x / 100) . " Ratus" . terbilang($x % 100); + elseif ($x < 2000) + return " seribu" . Terbilang($x - 1000); + elseif ($x < 1000000) + return Terbilang($x / 1000) . " Ribu" . terbilang($x % 1000); + elseif ($x < 1000000000) + return Terbilang($x / 1000000) . " Juta" . terbilang($x % 1000000); + } + +function tanggalIndo($waktu, $format) { //{tanggalIndoTiga tgl=0000-00-00 00:00:00 format="l, d/m/Y H:i:s"} + if($waktu == "0000-00-00" || !$waktu || $waktu == "0000-00-00 00:00:00") { + $rep = ""; + } else { + if(preg_match('/-/', $waktu)) { + $tahun = substr($waktu,0,4); + $bulan = substr($waktu,5,2); + $tanggal = substr($waktu,8,2); + } else { + $tahun = substr($waktu,0,4); + $bulan = substr($waktu,4,2); + $tanggal = substr($waktu,6,2); + } + + $jam = substr($waktu,11,2); + $menit= substr($waktu,14,2); + $detik = substr($waktu,17,2); + $hari_en = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); + $hari_id = array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Sabtu"); + $bulan_en = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); + $bulan_id = array("Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"); + $ret = @date($format, @mktime($jam, $menit, $detik, $bulan, $tanggal, $tahun)); + + $replace_hari = str_replace($hari_en, $hari_id, $ret); + $rep = str_replace($bulan_en, $bulan_id, $replace_hari); + $rep = nl2br($rep); + } + return $rep; +} + +function bulanIndo($waktu, $format) { + if(!$waktu) { + $waktu = date("m"); + } + $tahun = date("Y"); + $bulan_en = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); + + $bulan_id = array("Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"); + $ret = date($format, mktime(1, 1, 1, $waktu, 1, $tahun)); + $replace_bulan = str_replace($bulan_en, $bulan_id, $ret); + return $replace_bulan; +} +//--- gambar ----// +function cektypegambar($type) { + if(!($type=="image/jpeg" || $type=="image/pjpeg" || $type=="image/png" || $type=="image/gif")) { + return FALSE; + }else { + return TRUE; + } +} + +function get_ext($imgname){ + $a=explode('.',$imgname); + $jlh=count($a); + $ext=$a[$jlh-1]; + return $ext; +} + +// This function will proportionally resize image +function resizeImage($CurWidth,$CurHeight,$MaxSize,$DestFolder,$SrcImage,$Quality,$ImageType) +{ + //Check Image size is not 0 + if($CurWidth <= 0 || $CurHeight <= 0) + { + return false; + } + + //Construct a proportional size of new image + $ImageScale = min($MaxSize/$CurWidth, $MaxSize/$CurHeight); + $NewWidth = ceil($ImageScale*$CurWidth); + $NewHeight = ceil($ImageScale*$CurHeight); + + if($CurWidth < $NewWidth || $CurHeight < $NewHeight) + { + $NewWidth = $CurWidth; + $NewHeight = $CurHeight; + } + $NewCanves = imagecreatetruecolor($NewWidth, $NewHeight); + // Resize Image + if(imagecopyresampled($NewCanves, $SrcImage,0, 0, 0, 0, $NewWidth, $NewHeight, $CurWidth, $CurHeight)) + { + switch(strtolower($ImageType)) + { + case 'image/png': + imagepng($NewCanves,$DestFolder); + break; + case 'image/gif': + imagegif($NewCanves,$DestFolder); + break; + case 'image/jpeg': + case 'image/pjpeg': + imagejpeg($NewCanves,$DestFolder,$Quality); + break; + default: + return false; + } + //Destroy image, frees up memory + if(is_resource($NewCanves)) {imagedestroy($NewCanves);} + return true; + } + +} + +//This function corps image to create exact square images, no matter what its original size! +function cropImage($CurWidth,$CurHeight,$iSize,$DestFolder,$SrcImage,$Quality,$ImageType) +{ + //Check Image size is not 0 + if($CurWidth <= 0 || $CurHeight <= 0) + { + return false; + } + + //abeautifulsite.net has excellent article about "Cropping an Image to Make Square" + //http://www.abeautifulsite.net/blog/2009/08/cropping-an-image-to-make-square-thumbnails-in-php/ + if($CurWidth>$CurHeight) + { + $y_offset = 0; + $x_offset = ($CurWidth - $CurHeight) / 2; + $square_size = $CurWidth - ($x_offset * 2); + }else{ + $x_offset = 0; + $y_offset = ($CurHeight - $CurWidth) / 2; + $square_size = $CurHeight - ($y_offset * 2); + } + + $NewCanves = imagecreatetruecolor($iSize, $iSize); + if(imagecopyresampled($NewCanves, $SrcImage,0, 0, $x_offset, $y_offset, $iSize, $iSize, $square_size, $square_size)) + { + switch(strtolower($ImageType)) + { + case 'image/png': + imagepng($NewCanves,$DestFolder); + break; + case 'image/gif': + imagegif($NewCanves,$DestFolder); + break; + case 'image/jpeg': + case 'image/pjpeg': + imagejpeg($NewCanves,$DestFolder,$Quality); + break; + default: + return false; + } + //Destroy image, frees up memory + if(is_resource($NewCanves)) {imagedestroy($NewCanves);} + return true; + } + +} +function get_client_ip() { + $ipaddress = ''; + if ($_SERVER['HTTP_CLIENT_IP']) + $ipaddress = $_SERVER['HTTP_CLIENT_IP']; + else if($_SERVER['HTTP_X_FORWARDED_FOR']) + $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR']; + else if($_SERVER['HTTP_X_FORWARDED']) + $ipaddress = $_SERVER['HTTP_X_FORWARDED']; + else if($_SERVER['HTTP_FORWARDED_FOR']) + $ipaddress = $_SERVER['HTTP_FORWARDED_FOR']; + else if($_SERVER['HTTP_FORWARDED']) + $ipaddress = $_SERVER['HTTP_FORWARDED']; + else if($_SERVER['REMOTE_ADDR']) + $ipaddress = $_SERVER['REMOTE_ADDR']; + else + $ipaddress = 'UNKNOWN'; + + return $ipaddress; +} + +function set_namepost($id,$title){ + $url=$id."-".str_replace(" ","-",strtolower($title)); + return $url; +} + +function getid_fromurl($url){ + $url=explode('-',$url); + $id=$url[0]; + return $id; +} + +function show_level($lvl){ + $text=""; + if(substr($lvl,0,1)==9){ + if($text!=""){ + $text.="| Berita "; + }else{ + $text.="Berita "; + } + } + if(substr($lvl,1,1)==9){ + if($text!=""){ + $text.="| Agenda "; + }else{ + $text.="Agenda "; + } + } + if(substr($lvl,2,1)==9){ + if($text!=""){ + $text.="| Pengumuman "; + }else{ + $text.="Pengumuman "; + } + } + if(substr($lvl,3,1)==9){ + if($text!=""){ + $text.="| Repositori "; + }else{ + $text.="Repositori "; + } + } + if(substr($lvl,4,1)==9){ + if($text!=""){ + $text.="| Galeri "; + }else{ + $text.="Galeri "; + } + } + + return $text; +} + +function show_error($judul,$pesan,$jenis) +{ + switch ($jenis) { + case 'fullpage': + $error='
    +
    +
    +
    +

    404

    +
    +
    +

    '.$judul.'

    +

    '.$pesan.'

    + +
    +
    +
    +
    '; + break; + case 'withsidebar': + $error='
    +
    +
    +

    404

    +
    +
    +

    '.$judul.'

    +

    '.$pesan.'

    + +
    +
    +
    '; + break; + default: + $error=""; + break; + } + + return $error; +} + +function bbcode_quote($text,$jenis=null){ + $code = array ( "'\[quote=(.*?);(.*?)\](.*?)'i", "'\[/quote\]'i" ); + + if($jenis!=null){ + $html = array ( "
    \\3", "
    " ); + }else{ + $html = array ( "
    Dipost oleh: \\1 (\\2)
    \\3", "
    \n" ); + } + + $newtext=preg_replace ( $code, $html, $text ); + + return $newtext; +} + +function set_session($name,$value){ + $_SESSION[$name]=$value; +} + +function unset_session($name){ + unset($_SESSION[$name]); +} + +function get_session($name){ + $value=$_SESSION[$name]; + return $value; +} + + +function selisih_tgl($date1,$date2){ + $diff = abs(strtotime($date2) - strtotime($date1)); + + $data['tahun'] = floor($diff / (365*60*60*24)); + $data['bulan'] = floor(($diff - $years * 365*60*60*24) / (30*60*60*24)); + $data['hari'] = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); + + return $data; +} + +?> \ No newline at end of file diff --git a/inc/index.html b/inc/index.html new file mode 100644 index 0000000..e69de29 diff --git a/inc/konfigurasi.php b/inc/konfigurasi.php new file mode 100644 index 0000000..f40f844 --- /dev/null +++ b/inc/konfigurasi.php @@ -0,0 +1,47 @@ + diff --git a/inc/web.class.php b/inc/web.class.php new file mode 100644 index 0000000..c26b908 --- /dev/null +++ b/inc/web.class.php @@ -0,0 +1,21 @@ +db=new db($dbsetting); + } + + function web_title(){ + $d=$this->db; + $d->runQuery("SELECT val as webtitle FROM web_setting WHERE id='1' AND name='web_title'"); + if($d->dbRows()>0){ + $r=$d->dbFetch(); + echo $r['webtitle']; + }else{ + return FALSE; + } + } +} +?> \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..09a7141 --- /dev/null +++ b/index.php @@ -0,0 +1,157 @@ + + + + + + + + Stack - Bootstrap 4 Business Template + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    +
    +
    +
    +

    We Discover, Design & Build Digital

    SPOTA v2

    +
    + Mahasiswa + + Dosen +
    +
    +
    + +
    +
    +
    +
    +
    + + +
    + + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + diff --git a/json-jadwal.php b/json-jadwal.php new file mode 100644 index 0000000..c6e9622 --- /dev/null +++ b/json-jadwal.php @@ -0,0 +1,41 @@ + 111, + 'title' => "Event1", + 'start' => "$year-$month-10" + ), + + array( + 'id' => 222, + 'title' => "Event2", + 'start' => "$year-$month-20", + 'end' => "$year-$month-22" ), + + array( + 'id' => 232, + 'title' => "Event3", + 'start' => "$year-$month-1 14:30:00", + 'allDay'=>false + ), + + array( + 'title'=> "Lunch with Nicole", + 'start'=> "2014-09-18T12:35:00", + 'className'=> "label-green", + 'allDay'=> false + ), + array( + 'title'=> "Lunch", + 'start'=> "2014-09-18T12:45:00", + 'allDay'=> false + ) + + )); + +?> diff --git a/kelompokKeahlianDosen.php b/kelompokKeahlianDosen.php new file mode 100644 index 0000000..f10162b --- /dev/null +++ b/kelompokKeahlianDosen.php @@ -0,0 +1,104 @@ +connect(); + +$sql = "SELECT * FROM tb_kelompok_keahlian WHERE idKK != '8'"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listKK = []; +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + array_push($listKK, [ + 'id' => $row['idKK'], + 'nama' => $row['namaKK'], + 'ketua' => $row['ketuaKK'], + 'sekretaris' => $row['sekretarisKK'], + 'anggota' => [], + ]); +} + +foreach ($listKK as $key => $val) { + $sql = "SELECT * FROM tbdosen WHERE status = 'A' AND idDosen != '44' AND kelompokKeahlian = '".$val['id']."' ORDER BY nmLengkap ASC"; + $stmt = $dbh->prepare($sql); + $stmt->execute(); + + while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + if ($val['ketua'] == $row['iddosen']) { + $listKK[$key]['ketua'] = $row['nmLengkap']; + } elseif ($val['sekretaris'] == $row['iddosen']) { + $listKK[$key]['sekretaris'] = $row['nmLengkap']; + } else { + array_push($listKK[$key]['anggota'], $row['nmLengkap']); + } + } +} + +?> + + + + + + + + Data Kelompok Keahlian Jurusan Informatika Universitas Tanjungpura + + + + + + + + + + + + +
    + $val) { + $textListAnggotaKK = ''; + foreach ($val['anggota'] as $keyAnggota => $valAnggota) { + $textListAnggotaKK .= '
  • '.$valAnggota.'
  • '; + } + + echo ' + +
    + + '.$val['nama'].' +
    +
    +
      +
    • '.$val['ketua'].' (Ketua Kelompok)
    • +
    • '.$val['sekretaris'].' (Sekretaris Kelompok)
    • + '.$textListAnggotaKK.' +
    +
    + '; + } + ?> +
    + + + + \ No newline at end of file diff --git a/kodesurat.php b/kodesurat.php new file mode 100644 index 0000000..86ba49e --- /dev/null +++ b/kodesurat.php @@ -0,0 +1,10716 @@ + + + + + + + Kode Surat + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KodeKeterangan
    +

    TM

    +
    +

    PENERIMAAN MAHASISWA

    +
    +

    TM.00

    +
    +

    Penerimaan Mahasiswa Baru (PMB)

    +
    +

    TM.00.00

    +
    +

    + Daya Tampung Mahasiswa +

    +

    1. Usulan daya tampung dari Fakultas/Jurusan/Program Studi;

    +

    2. Notula rapat tentang daya tampung;

    +

    3. Penetapan daya tampung;

    +

    + 4. Naskah dinas yang terkait dengan daya tampung mahasiswa baru. +

    +
    +

    TM.00.01

    +
    +

    + Petunjuk PMB +

    +

    1. Juklak dan Juknis PMB;

    +

    2. Naskah dinas yang terkait dengan petunjuk PMB.

    +
    +

    TM.00.02

    +
    +

    + Pelaksanaan Penerimaan Mahasiswa Baru (PMB) +

    +

    1. Usulan Nama-nama dalam kepanitian PMB;

    +

    2. Pelaksanaan tugas dan kegiatan PMB;

    +

    3. Rapat panitia PMB dan notula rapat;

    +

    4. Pelaksanaan kegiatan PMB;

    +

    5. Penerimaan Mahasiswa Baru Jalur Khusus;

    +

    6. Pengiriman informasi PMB ke SMU;

    +

    7. SK Penetapan Panitia PMB.

    +

    8. Naskah dinas yang terkait dengan pelaksanaan PMB.

    +
    +

    TM.00.03

    +
    +

    + Pendaftaran dan Daftar Calon Mahasiswa +

    +

    1. Persyaratan Pendaftaran Mahasiswa;

    +

    2. Isian Formulir;

    +

    3. Buku Panduan pengisian (jadwal penerimaan).

    +

    + 4. Naskah dinas yang terkait dengan pendaftaran dan daftar calon + mahasiswa. +

    +
    +

    TM.00.04

    +
    +

    + Ujian Masuk Perguruan Tinggi +

    +

    + 1. Berkas seleksi penerimaan mahasiswa baru (Kartu peserta, Daftar + hadir peserta, daftar hadir pengawas, berita acara, dll); +

    +

    2. Naskah dinas yang terkait dengan ujian masik PT.

    +
    +

    TM.00.05

    +
    +

    + Naskah Soal Ujian +

    +

    1. Naskah soal nasional;

    +

    2. Naskah dinas lain yang terkait dengan naskah soal ujian.

    +
    +

    TM.00.06

    +
    +

    + Hasil Penilaian Ujian Masuk Perguruan Tinggi +

    +

    1. Lembar Jawaban Ujian;

    +

    2. Rekap Nilai Ujian;

    +

    3. Berita Acara Pelaksanaan Ujian;

    +

    4. Pendaftaran Calon Mahasiswa;

    +

    5. Ujian Seleksi:

    +

    o Ujian Tes masuk

    +

    o hasil tes buta warna

    +

    o Kartu peserta ujian masuk

    +

    o daftar hadir peserta ujian

    +

    o hasil Psikotes

    +

    o nilai Uji Keterampilan

    +

    o hasil/nilai Wawancara

    +

    o hasil Tes bebas narkoba

    +

    o Pakta integritas

    +

    o tata tertib

    +

    6. TPA/ TES PSIKOTES;

    +

    7. Naskah soal lokal;

    +

    + 8. Naskah dinas yang terkait dengan hasil penilaian ujian masuk + PT. +

    +
    +

    TM.00.07

    +
    +

    + Penetapan Mahasiswa yg Diterima dan Pengumuman PMB +

    +

    1. Notula rapat penetapan mahasiswa yang diterima;

    +

    2. SK penetapan mahasiswa yang diterima;

    +

    3. Pengumuman mahasiswa yang diterima;

    +

    + 4. Naskah dinas yang terkait dengan penetapan mahasiswa dan + pengumuman, +

    +
    +

    TM.00.08

    +
    +

    + Mahasiswa Asing +

    +

    1. Surat izin mahasiswa asing:

    +

    o visa tinggal

    +

    o visa belajar

    +

    2. Rekomendasi mahasiswa asing:

    +

    o permohonan rekomendasi mahasiswa asing

    +

    o jawaban atas permohonan rekomendasi mahasiswa asing

    +

    3. Registrasi mahasiswa asing:

    +

    o pendaftaran mahasiswa asing

    +

    o surat menyurat dalam rangka pendaftaran mahasiswa asing

    +

    o nomor induk mahasiswa

    +

    o kartu mahasiswa

    +

    o KRS

    +

    o KHS

    +

    o surat daftar ulang

    +

    o surat tanda registrasi administrasi mahasiswa

    +

    o surat peserta KKN/praktikum/praktek lapangan

    +

    o kartu tanda anggota perpustakaan/lab. bahasa/lab. TIK

    +

    o surat keputusan/keterangan/izin/pernyataan/kuasa

    +

    4. Jaminan sponsor

    +

    5. Naskah dinas yang terkait dengan mahasiswa asing.

    +
    +

    TM.00.09

    +
    +

    + Mahasiswa Utusan Daerah +

    +

    +

    1. Rekomendasi;

    +

    2. Biodata;

    +

    3. Surat jawaban;

    +

    4. MoU universitas dengan lembaga/instansi lain;

    +

    5. Naskah dinas yang terkait dengan mahasiswa utusan daerah.

    +
    +

    TM.00.10

    +
    +

    + Mahasiswa Pendidikan di Luar Domisili (PDD) +

    +

    1. Rekomendasi;

    +

    2. Biodata;

    +

    3. Surat jawaban;

    +

    4. MoU universitas dengan lembaga/instansi lain;

    +

    5. Naskah dinas yang terkait dengan mahasiswa PDD.

    +
    +

    TM.00.11

    +
    +

    + Laporan PMB +

    +

    1. Laporan PMB;

    +

    2. Naskah dinas lain yang terkait dengan PMB.

    +
    +

    TM.00.12

    +
    +

    + Data Peminat/Jumlah Peminat/Pilihan Peminat +

    +

    1. Data statistik peminat;

    +

    + 2. Naskah dinas yang berkaitan dengan data, jumlah dan pilihan + peminat. +

    +
    +

    TM.01

    +
    +

    Registrasi Mahasiswa

    +
    +

    TM.01.00

    +
    +

    + Registrasi Mahasiswa Baru +

    +

    1. Biodata mahasiswa baru;

    +

    2. Pembuatan kartu mahasiswa;

    +

    3. Registrasi pendaftaran mahasiswa;

    +

    4. Bukti pembayaran;

    +

    5. Bukti diterima sebagai mahasiswa;

    +

    6. SK penetapan mahasiswa dan nomor induk mahasiswa;

    +

    + 7. Naskah dinas yang berkaitan dengan registrasi mahasiswa baru. +

    +
    +

    TM.01.01

    +
    +

    + Heregistrasi / Registrasi Mahasiswa Lama +

    +

    1. Bukti pembayaran;

    +

    2. Persetujuan dosen wali/pembimbing akademik;

    +

    3. KHS;

    +

    4. KRS;

    +

    + 5. Naskah dinas yang berkaitan dengan heregistrasi/registrasi + mahasiswa lama. +

    +
    +

    TM.01.02

    +
    +

    + Ketetapan Biaya Perkuliahan +

    +

    + 1. Surat Usulan Perhitungan BKT dan UKT berikut lampirannya (Tabel + Perhitungan biaya kuliah tunggal dan uang kuliah tunggal sebagai + usulan); +

    +

    + 2. Naskah dinas yang berkaitan dengan Ketetapan Biaya Perkuliahan. +

    +
    +

    TM.01.03

    +
    +

    + Penentuan Biaya Perkuliahan +

    +

    + 1. Penentuan BKT (Biaya Kuliah Tunggal) dan UKT (Uang Kuliah + Tunggal); +

    +

    + 2. Naskah dinas yang berkaitan dengan Penentuan Biaya Perkuliahan. +

    +
    +

    TM.01.04

    +
    +

    + Penyesuaian Biaya Perkuliahan +

    +

    1. Usulan dari mahasiswa untuk penyesuaian UKT;

    +

    2. Penetapan Penyesuaian UKT;

    +

    3. Berita Acara mengenai Konfirmasi Penyesuaian UKT;

    +

    + 4. Naskah dinas yang berkaitan dengan Penyesuaian Biaya + Perkuliahan. +

    +
    +

    TM.01.05

    +
    +

    + Laporan Pelaksanaan Registrasi +

    +

    1. Daftar Rekapitulasi Mahasiswa yang melakukan registrasi;

    +

    2. Slip Pembayaran Registrasi;

    +

    + 3. Naskah dinas yang berkaitan dengan Laporan Pelaksanaan + Registrasi. +

    +
    +

    TM.02

    +
    +

    Orientasi Mahasiswa Baru

    +
    +

    TM.02.00

    +
    +

    + Panduan/Pedoman Orientasi Mahasiswa Baru +

    +

    1. Draf panduan/pedoman Orientasi Mahasiswa Baru;

    +

    2. Panduan/pedoman Orientasi Mahasiswa Baru;

    +

    + 3. Naskah dinas yang berkaitan dengan panduan/pedoman orientasi + maba. +

    +
    +

    TM.02.01

    +
    +

    + Sosialisasi Peraturan Akademik +

    +

    1. Surat Undangan;

    +

    2. Notula rapat;

    +

    3. Laporan;

    +

    4. Daftar hadir;

    +

    5. Materi sosialisasi;

    +

    + 6. Naskah dinas yang berkaitan dengan sosialisasi peraturan + akademik. +

    +
    +

    TM.02.02

    +
    +

    + Penyelenggaraan Orientasi Mahasiswa Baru +

    +

    1. Proposal;

    +

    2. Kepanitiaan;

    +

    3. Presensi Orientasi Mahasiswa;

    +

    4. Materi Orientasi Mahasiswa;

    +

    5. Salinan sertifikat/piagam/surat keterangan;

    +

    + 6. Naskah dinas yang berkaitan dengan administrasi penyelenggaraan + orientasi maba. +

    +
    +

    TM.02.03

    +
    +

    + Evaluasi dan Laporan Orientasi +

    +

    1. Evaluasi;

    +

    2. Notula rapat;

    +

    3. Laporan;

    +

    4. Naskah dinas yang berkaitan dengan Laporan orientasi.

    +
    +

    KR

    +
    +

    KURIKULUM

    +
    +

    KR.00

    +
    +

    Penyusunan Kurikulum

    +
    +

    KR.00.00

    +
    +

    + Pedoman Kurikulum +

    +

    1. Usulan penyusunan kurikulum fakultas/ program studi;

    +

    2. Notula rapat;

    +

    3. Exit survey;

    +

    4. Master pedoman kurikulum;

    +

    5. Deskripsi mata kuliah;

    +

    + 6. Naskah dinas yang berkaitan dengan pedoman penyusunan + kurikulum. +

    +
    +

    KR.00.01

    +
    +

    + Perubahan/Penyempurnaan Kurikulum/Pengembangan Kurikulum +

    +

    1. Surat edaran;

    +

    2. SK tim penyusun re-kurikulum;

    +

    3. Notula rapat;

    +

    4. Standar Kerangka Kualifikasi Nasional Indonesia (KKNI);

    +

    5. Hasil Focus Group Discussion;

    +

    6. Kurikulum;

    +

    + 7. Naskah dinas yang berkaitan dengan perubahan/penyempurnaan + kurikulum/pengembangan kurikulum. +

    +
    +

    KR.00.02

    +
    +

    + Penetapan Kurikulum +

    +

    1. Usulan SK kurikulum;

    +

    2. Draf SK kurikulum;

    +

    3. Master SK kurikulum;

    +

    4. Naskah dinas yang berkaitan dengan penetapan kurikulum.

    +
    +

    KR.01

    +
    +

    Pelaksanaan Kurikulum

    +
    +

    KR.01.00

    +
    +

    + Pedoman/Panduan Akademik +

    +

    1. Draf pedoman/panduan akademik;

    +

    2. Pedoman/panduan akademik;

    +

    + 3. Naskah dinas yang berkaitan dengan pedoman/panduan akademik. +

    +
    +

    KR.01.01

    +
    +

    + Garis Besar Pedoman Pengajaran (GBPP) +

    +

    1. Analysis instructional

    +

    2. Naskah dinas Garis Besar Pedoman Pengajaran (GBPP);

    +

    + 3. Naskah dinas yang berkaitan dengan Garis Besar Pedoman + Pengajaran (GBPP). +

    +
    +

    KR.01.02

    +
    +

    + Satuan Acara Pengajaran/Perkuliahan (SAP)/Silabus +

    +

    1. Satuan acara perkuliahan;

    +

    + 2. Satuan acara perkuliahan berisi jadwal dan materi tiap mata + kuliah; +

    +

    3. Deskripsi mata kuliah;

    +

    4. Modul-modul tiap mata kuliah;

    +

    5. Sajian mata kuliah (MPK, MKK, MKB, MPB, MBB);

    +

    + 6. Naskah dinas yang berkaitan dengan Satuan Acara + Pengajaran/Perkuliahan (SAP). +

    +
    +

    KR.01.03

    +
    +

    + Satuan Acara Praktikum +

    +

    1. Panduan dan pedoman praktik/praktikum;

    +

    + 2. Isian penilaian oleh instruktur dan penilai praktek satuan + acara praktikum pada tiap matakuliah praktikum; +

    +

    3. Naskah dinas yang berkaitan dengan Satuan Acara Praktikum.

    +
    +

    KR.01.04

    +
    +

    + Penyusunan Bahan Ajar/Modul Perkuliahan/Praktikum +

    +

    + 1. Bahan ajar / bahan penunjang / modul pendidikan / modul + perkuliahan / praktikum; +

    +

    + 2. Naskah dinas yang berkaitan dengan penyusunan bahan ajar/modul + perkuliahan/praktikum. +

    +
    +

    KR.01.05

    +
    +

    + Teknik Pembuatan Alat Peraga dan Model Pembelajaran +

    +

    1. Desain instruksional;

    +

    2. Manual alat peraga;

    +

    3. Model pembelajaran;

    +

    + 4. Naskah dinas yang berkaitan dengan teknik pembuatan alat peraga + dan model pembelajaran. +

    +
    +

    TD

    +
    +

    TENAGA PENDIDIK

    +
    +

    TD.00

    +
    +

    Kebutuhan Tenaga Pengajar/Pendidik

    +

    1. Pengajuan kebutuhan Tenaga Pengajar/Pendidk/Tutor;

    +

    2. Hasil seleksi administrasi;

    +

    3. Tenaga Pengajar/Pendidik/Tutor yang diterima;

    +

    + 4. Naskah dinas yang berkaitan dengan kebutuhan tenaga + pengajar/pendidik. +

    +
    +

    TD.01

    +
    +

    Penetapan Tenaga Pengajar/Pendidik

    +

    1. Surat keputusan;

    +

    2. Surat Penunjukan Dosen;

    +

    + 3. Naskah dinas yang berkaitan dengan penetapan tenaga + pengajar/pendidik. +

    +
    +

    TD.02

    +
    +

    Kepakaran

    +

    1. Buku kepakaran;

    +

    2. Surat keputusan tentang kepakaran;

    +

    3. Surat Penunjukan sebagai Narasumber/Ahli;

    +

    4. Naskah dinas yang berkaitan dengan kepakaran.

    +
    +

    TD.03

    +
    +

    Rasio Dosen dengan Mahasiswa

    +

    1. Data statistik mahasiswa;

    +

    2. Identitas dosen dan ampuan mata kuliah;

    +

    + 3. Naskah dinas yang berkaitan dengan rasio dosen dengan + mahasiswa. +

    +
    +

    TD.04

    +
    +

    Daftar Hadir Mengajar

    +

    1. Daftar hadir mahasiswa dan dosen (DHMD)/tutor;

    +

    2. Naskah dinas yang berkaitan dengan daftar hadir mengajar.

    +
    +

    TD.05

    +
    +

    Pembimbing Akademik

    +

    1. Surat penunjukan pembimbing akademik dari program studi;

    +

    2. Surat keputusan pembimbing akademik;

    +

    3. Naskah dinas yang berkaitan dengan pembimbing akademik.

    +
    +

    TD.06

    +
    +

    + Pembimbing/Penguji Tugas Akhir/Skripsi/Tesis/Disertasi +

    +

    1. Surat tugas pembimbing/penguji;

    +

    2. Surat keputusan pembimbing/penguji;

    +

    + 3. Naskah dinas yang berkaitan dengan pembimbing/penguji tugas + akhir/skripsi/tesis/disertasi. +

    +
    +

    KM

    +
    +

    KEMAHASISWAAN

    +
    +

    KM.00

    +
    +

    Status Mahasiswa

    +
    +

    KM.00.00

    +
    +

    + Surat Keterangan Aktif Kuliah +

    +

    1. Surat Keterangan;

    +

    2. Bukti registrasi;

    +

    + 3. Naskah dinas yang berkaitan dengan surat keterangan aktif + kuliah. +

    +
    +

    KM.00.01

    +
    +

    + Cuti Mahasiswa/Dispensasi +

    +

    1. Surat permohonan cuti kuliah;

    +

    2. SK cuti kuliah mahasiswa;

    +

    + 3. Surat penetapan pengaktifan kembali kuliah mahasiswa (masa cuti + habis wajib registrasi); +

    +

    + 4. Naskah dinas yang berkaitan dengan cuti mahasiswa/ dispensasi. +

    +
    +

    KM.00.02

    +
    +

    + Perpanjangan Masa Studi +

    +

    1. Surat usulan;

    +

    2. Surat persetujuan;

    +

    3. KRS;

    +

    + 4. Naskah dinas yang berkaitan dengan perpanjangan masa studi. +

    +
    +

    KM.00.03

    +
    +

    + Evaluasi Masa Studi +

    +

    1. Surat pemberitahuan;

    +

    2. Transkrip nilai sementara;

    +

    3. Surat keterangan menyelesaikan mata kuliah;

    +

    + 4. Naskah dinas-Naskah dinas yang berkaitan dengan evaluasi masa + studi. +

    +
    +

    KM.00.04

    +
    +

    + Mutasi Mahasiswa/Pindah +

    +

    1. Surat permohonan yang bersangkutan;

    +

    2. Surat pengantar dari prodi;

    +

    3. Surat pengantar dari fakultas;

    +

    4. Surat pengantar dari universitas;

    +

    5. Surat jawaban;

    +

    + 6. Naskah dinas yang berkaitan dengan mutasi mahasiswa/ pindah. +

    +
    +

    KM.00.05

    +
    +

    + Skorsing +

    +

    1. Surat peringatan;

    +

    2. Surat tusulan skorsing;

    +

    3. Surat penetapan skorsing;

    +

    4. Naskah dinas yang berkaitan dengan skorsing.

    +
    +

    KM.00.06

    +
    +

    + Pengunduran Diri +

    +

    1. Surat peringatan;

    +

    2. Usulan pengunduran diri;

    +

    3. Penetapan pengunduran diri;

    +

    4. Naskah dinas yang berkaitan dengan pengunduran diri.

    +
    +

    KM.00.07

    +
    +

    + Drop Out +

    +

    1. Usulan prodi;

    +

    2. Usulan fakultas;

    +

    3. Surat peringatan;

    +

    4. Naskah dinas yang berkaitan dengan drop out.

    +
    +

    KM.00.08

    +
    +

    + Mahasiswa Meninggal Dunia +

    +

    1. Surat keterangan kematian;

    +

    + 2. Naskah dinas yang berkaitan dengan mahasiswa meninggal dunia. +

    +
    +

    KM.01

    +
    +

    Kesejahteraan Mahasiswa

    +
    +

    KM.01.00

    +
    +

    + Beasiswa/Bantuan Pendidikan +

    +

    1. Persyaratan beasiswa/bantuan pendidikan;

    +

    2. Usulan pengajuan beasiswa/bantuan pendidikan;

    +

    3. Notula rapat hasil penerima beasiswa/bantuan pendidikan;

    +

    4. Penetapan penerima beasiswa/bantuan pendidikan;

    +

    5. Laporan kemajuan penerima beasiswa/bantuan pendidikan;

    +

    6. Laporan Pengelolaan beasiswa/bantuan pendidikan;

    +

    + 7. Naskah dinas yang berkaitan dengan administrasi + beasiswa/bantuan pendidikan. +

    +
    +

    KM.01.01

    +
    +

    + Keringanan/Penundaan Biaya Pendidikan +

    +

    1. Surat permohonan;

    +

    2. Surat pengantar prodi;

    +

    3. Surat pengantar fakultas;

    +

    4. Surat Keterangan;

    +

    + 5. Naskah dinas yang berkaitan dengan keringanan/penundaan biaya + pendidikan. +

    +
    +

    KM.01.02

    +
    +

    + Layanan Kesehatan Mahasiswa +

    +

    1. Registrasi pasien;

    +

    2. Kartu pasien;

    +

    3. Rujukan;

    +

    4. Klaim asuransi;

    +

    5. Laporan dan monitoring layanan kesehatan;

    +

    6. Rekam Medis dan bimbingan konseling;

    +

    + 7. Naskah dinas yang berkaitan dengan layanan kesehatan mahasiswa. +

    +
    +

    KM.01.03

    +
    +

    + Penyuluhan Kesehatan/Narkoba/Radikalisme +

    +

    1. Laporan penyuluhan kesehatan/narkoba/radikalisme;

    +

    2. Naskah dinas yang berkaitan dengan penyuluhan kesehatan.

    +
    +

    KM.02

    +
    +

    Asrama

    +
    +

    KM.02.00

    +
    +

    + Peraturan Asrama +

    +

    1. Draf peraturan asrama;

    +

    2. Peraturan asrama;

    +

    3. Naskah dinas yang berkaitan dengan peraturan asrama.

    +
    +

    KM.02.01

    +
    +

    + Seleksi dan Penetapan +

    +

    1. Daftar nama pendaftar;

    +

    2. Hasil seleksi;

    +

    3. SK penetapan penghuni asrama;

    +

    4. Naskah dinas yang berkaitan dengan seleksi dan penetapan.

    +
    +

    KM.02.02

    +
    +

    + Berkas Perseorangan Penghuni Asrama +

    +

    1. Surat pernyataan/perjanjian;

    +

    2. Bukti pembayaran;

    +

    + 3. Naskah dinas yang berkaitan dengan berkas perseorangan penghuni + asrama. +

    +
    +

    KM.02.03

    +
    +

    + Kegiatan Penghuni Asrama +

    +

    1. Surat usulan izin kegiatan;

    +

    2. Surat izin;

    +

    + 3. Naskah dinas yang berkaitan dengan kegiatan penghuni asrama. +

    +
    +

    KM.03

    +
    +

    Penggunaan Fasilitas Mahasiswa

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan/penolakan;

    +

    3. Laporan penggunaan;

    +

    + 4. Naskah dinas yang berkaitan dengan penggunaan fasilitas + mahasiswa (ruangan, gedung, lapangan, papan reklame dll.) +

    +
    +

    KM.04

    +
    +

    Organisasi Mahasiswa

    +
    +

    KM.04.00

    +
    +

    + Pembentukan organisasi +

    +

    1. Usulan pembentukan organisasi;

    +

    2. Notula rapat;

    +

    3. SK pembentukan organisasi;

    +

    4. Anggaran Dasar (AD) dan Anggaran Rumah Tangga (ART);

    +

    + 5. Naskah dinas yang berkaitan dengan p embentukan organisasi. +

    +
    +

    KM.04.01

    +
    +

    + Pengangkatan/Pemberhentian Pengurus +

    +

    1. Usulan pengangkatan/pemberhentian pengurus;

    +

    2. Surat keputusan pengurus;

    +

    + 3. Naskah dinas yang berkaitan dengan pengangkatan/pemberhentian + pengurus. +

    +
    +

    KM.04.02

    +
    +

    + Program Kerja/Kegiatan +

    +

    1. Proposal kegiatan;

    +

    2. Surat usulan;

    +

    3. Surat jawaban atas usulan program kerja/kegiatan;

    +

    4. Naskah dinas yang berkaitan dengan program/kegiatan.

    +
    +

    KM.04.03

    +
    +

    + Laporan Pelaksanaan Kegiatan +

    +

    1. Laporan kegiatan;

    +

    + 2. Naskah dinas yang berkaitan dengan laporan pelaksanaan + kegiatan. +

    +
    +

    KM.05

    +
    +

    Pembinaan Mahasiswa

    +
    +

    KM.05.00

    +
    +

    + Kegiatan Rutin UKM +

    +

    1. Proposal kegiatan;

    +

    2. Surat usulan;

    +

    3. Surat rekomendasi kegiatan;

    +

    4. Surat izin;

    +

    5. Laporan kegiatan;

    +

    6. Sertifikat;

    +

    7. Naskah dinas yang berkaitan dengan kegiatan rutin UKM.

    +
    +

    KM.05.01

    +
    +

    + Program Kreatifitas Mahasiswa (PKM) +

    +

    1. Proposal kegiatan;

    +

    2. Surat usulan;

    +

    3. Surat rekomendasi kegiatan;

    +

    4. Surat izin;

    +

    5. Laporan kegiatan;

    +

    6. Sertifikat;

    +

    + 7. Naskah dinas yang berkaitan dengan program kreatifitas + mahasiswa (PKM). +

    +
    +

    KM.05.02

    +
    +

    + Pembinaan/Pelatihan Kegiatan +

    +

    1. Proposal kegiatan;

    + +

    2. Surat usulan;

    +

    3. Surat rekomendasi kegiatan;

    +

    4. Surat izin;

    +

    5. Hasil tes/psikotes

    +

    6. Laporan kegiatan;

    +

    7. Sertifikat;

    +

    + 8. Naskah dinas yang berkaitan dengan pembinaan/pelatihan kegiatan + mahasiswa (bantuan dana, konseling, diklat dll.). +

    +
    +

    KM.05.03

    +
    +

    + Lomba Kegiatan Kemahasiswaan Lokal, Nasional, + Internasional +

    +

    1. Surat usulan nama;

    +

    2. Laporan kegiatan;

    +

    3. Sertifikat;

    +

    + 4. Naskah dinas yang berkaitan dengan lomba kegiatan kemahasiswaan + lokal, nasional, maupun internasional. +

    +
    +

    KM.05.04

    +
    +

    + Prestasi Mahasiswa +

    +

    1. Usulan Nama Mahasiswa;

    +

    2. Seleksi mahasiswa berprestasi;

    +

    3. Pengumuman mahasiswa berprestasi;

    +

    4. Sertifikat;

    +

    5. Naskah dinas yang berkaitan dengan prestasi mahasiswa.

    +
    +

    KM.05.05

    +
    +

    + Inventori Mahasiswa +

    +

    1. Survey potensi akademik;

    +

    2. Survey potensi nonakademik;

    +

    + 3. Naskah dinas yang berkaitan dengan inventori mahasiswa (daftar + kemampuan untuk mengukur karakteristik kepribadian atau + keterampilan mahasiswa)/ pemetaan potensi. +

    +
    +

    KM.06

    +
    +

    Organisasi Himpunan Orang Tua Mahasiswa

    +
    +

    KM.06.00

    +
    +

    + Pembentukan Organisasi +

    +

    1. Draf organisasi himpunan orang tua;

    +

    2. Peraturan organisasi himpunan orang tua;

    +

    3. Naskah dinas yang berkaitan dengan pembentukan organisasi.

    +
    +

    KM.06.01

    +
    +

    + Pengangkatan/Pemberhentian Pengurus +

    +

    1. Surat usulan;

    +

    2. Draf SK pengangkatan/pemberhentian pengurus;

    +

    3. SK pengangkatan/pemberhentian pengurus;

    +

    + 4. Naskah dinas yang berkaitan dengan pengangkatan/pemberhentian + pengurus. +

    +
    +

    KM.06.02

    +
    +

    + Kegiatan Organisasi +

    +

    1. Profil organisasi;

    +

    2. Laporan kegiatan organisasi;

    +

    3. Naskah dinas yang berkaitan dengan kegiatan organisasi.

    +
    +

    KM.06.03

    +
    +

    + Laporan +

    +

    1. Laporan berkala (semester/triwulan);

    +

    2. Naskah dinas yang berkaitan dengan penyusunan laporan.

    +
    +

    KM.07

    +
    +

    Berkas Perseorangan Mahasiswa

    +

    1. Kartu mahasiswa;

    +

    2. Kartu Rencana Studi (KRS);

    +

    3. Kartu Hasil Studi (KHS);

    +

    4. Kartu Tanda Registrasi/Administrasi Mahasiswa (KTRM);

    +

    5. Surat keterangan/izin/tugas;

    +

    6. Sertifikat/piagam/surat keterangan PMB;

    +

    7. Berkas pendaftaran mahasiswa;

    +

    8. Nilai tugas akhir/skripsi/tesis/disertasi;

    +

    9. Sertifikat/Piagam KKN/KKM;

    +

    10. Sertifikat penghargaan bagi mahasiswa berprestasi;

    +

    11. Salinan Ijazah;

    +

    12. Salinan Transkip Nilai;

    +

    13. Biodata Mahasiswa;

    +

    + 14. Naskah dinas yang berkaitan dengan berkas perseorangan + mahasiswa. +

    +
    +

    PK

    +
    +

    PERKULIAHAN

    +
    +

    PK.00

    +
    +

    Penyusunan Kalender Akademik

    +

    1. Surat undangan rapat;

    +

    2. SK tim penyusun;

    +

    3. Draft kalender akademik;

    +

    4. Notula rapat;

    +

    5. Penetapan kalender akademik;

    +

    + 6. Naskah dinas yang berkaitan dengan penyusunan kalender + akademik. +

    +
    +

    PK.01

    +
    +

    Pelaksanaan Perkuliahan dan Praktikum

    +
    +

    PK.01.00

    +
    +

    + Penyusunan Jadwal Perkuliahan +

    +

    1. Surat undangan rapat;

    +

    2. Draft jadwal perkuliahan;

    +

    3. Notula rapat;

    +

    4. Jadwal perkuliahan;

    +

    5. Naskah dinas yang berkaitan dengan jadwal perkuliahan.

    +
    +

    PK.01.01

    +
    +

    + Daftar mahasiswa peserta mata kuliah +

    +

    1. Pengumuman nama-nama mahasiswa per mata kuliah;

    + +

    2. Pengumuman nama-nama mahasiswa per kelas;

    +

    + 3. Naskah dinas yang berkaitan dengan daftar mahasiswa peserta + mata kuliah. +

    +
    +

    PK.01. 02

    +
    +

    + Penyelenggaraan Kuliah Tamu/Kuliah Umum/Kuliah Perdana +

    +

    1. Undangan rapat tim protokoler;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Jadwal acara kuliah tamu/umum/perdana;

    +

    5. Surat permohonan sebagai pemateri/narasumber;

    +

    + 6. Naskah dinas yang berkaitan dengan penyelenggaraan kuliah + tamu/umum/perdana. +

    +
    +

    PK.01.03

    +
    +

    + Pelaksanaan Perkuliahan +

    +

    1. Daftar hadir dan laporan kehadiran;

    +

    2. Materi/tutorial;

    +

    + 3. Naskah dinas yang berkaitan dengan pelaksanaan perkuliahan. +

    +
    +

    PK.01. 04

    +
    +

    + Pelaksanaan Praktikum +

    +

    1. Daftar hadir dan laporan kehadiran;

    +

    2. Materi/tutorial;

    +

    3. Surat peminjaman/penggunaan laboratorium;

    +

    4. SOP praktikum;

    +

    5. Daftar inventaris alat dan bahan habis pakai;

    +

    6. Laporan praktikum;

    +

    7. Naskah dinas yang berkaitan dengan pelaksanaan praktikum.

    +
    +

    PK.01. 05

    +
    +

    + Kuliah lintas prodi/lintas fakultas +

    +

    1. Usulan mata kuliah;

    +

    2. Garis-garis besar program pengajaran;

    +

    3. Laporan kuliah lintas prodi/lintas fakultas;

    +

    + 4. Naskah dinas yang berkaitan dengan kuliah lintas prodi/lintas + fakultas. +

    +
    +

    PK.01.06

    +
    +

    + Magang/PKL +

    +

    1. Permohonan magang/PKL;

    +

    2. Persetujuan/penolakan;

    +

    3. Jadwal pelaksanaan magang/PKL;

    +

    4. Presentasi magang/PKL;

    +

    5. Laporan magang/PKL;

    +

    6. Surat keterangan magang/PKL;

    +

    7. Naskah dinas yang berkaitan dengan magang/PKL.

    +
    +

    PK.01.07

    +
    +

    + Evaluasi dan Laporan Pelaksanaan Perkuliahan dan + Praktikum +

    +

    1. Dokumen evaluasi;

    +

    2. Laporan pelaksanaan perkuliahan dan praktikum;

    +

    + 3. Naskah dinas yang berkaitan dengan evaluasi dan laporan + pelaksanaan perkuliahan dan praktikum. +

    +
    +

    PK.02

    +
    +

    + Kegiatan Multiprodi / Multifakultas / Student Exchange / Double + Degree / Mahasiswa Kemitraan / Joint Degree +

    +
    +

    PK.02.00

    +
    +

    + Perencanaan Kegiatan +

    +

    1. Dokumen penawaran;

    +

    2. Usulan/pendaftaran;

    +

    3. Proses seleksi;

    +

    4. SK penetapan hasil seleksi;

    +

    + 5. Naskah dinas yang berkaitan dengan perencanaan kegiatan + multiprodi/multifakultas/student exchange/double degree/mahasiswa + kemitraan/joint degree. +

    +
    +

    PK.02.01

    +
    +

    + Kontrak kerja sama +

    +

    1. Usulan draf kontrak kerja sama;

    +

    2. Kontrak kerja sama;

    +

    + 3. Naskah dinas yang berkaitan dengan kontrak kerja sama antara + peserta/institusi pengirim dan penyelenggara program. +

    +
    +

    PK.02.02

    +
    +

    + Berita acara serah terima +

    +

    1. Berita acara serah terima;

    +

    2. Daftar hadir peserta;

    +

    + 3. Naskah dinas yang berkaitan dengan berita acara serah terima. +

    +
    +

    PK.02.03

    +
    +

    + Ketetapan Pendanaan +

    +

    1. Draf SK tentang pendanaan;

    +

    2. SK pendanaan;

    +

    3. Naskah dinas yang berkaitan dengan ketetapan pendanaan;

    +
    +

    PK.03

    +
    +

    Ujian

    +
    +

    PK.03.00

    +
    +

    + Panitia penyelenggara ujian +

    +

    1. SK panitia penyelenggara ujian;

    +

    2. Undangan rapat;

    +

    3. Notula rapat;

    +

    4. Surat peminjaman fasilitas/aset;

    +

    + 5. Naskah dinas yang berkaitan dengan panitia penyelenggara ujian. +

    +
    +

    PK.03.01

    +
    +

    + Tata tertib ujian +

    +

    1. SOP tata tertib ujian;

    +

    2. Pedoman umum dan khusus;

    +

    3. Petunjuk teknis;

    +

    4. Naskah dinas yang berkaitan dengan tata tertib ujian.

    +
    +

    PK.03.02

    +
    +

    + Pengumuman dan jadwal ujian +

    +

    1. Pengumuman ujian;

    +

    2. Jadwal ujian;

    +

    + 3. Naskah dinas yang berkaitan dengan pengumuman dan jadwal ujian. +

    +
    +

    PK.03.03

    +
    +

    + Naskah soal ujian +

    +

    1. Surat permohonan soal ujian;

    +

    2. Soal ujian tengah semester;

    +

    3. Soal ujian akhir semester;

    +

    4. Naskah dinas yang berkaitan dengan naskah soal ujian.

    +
    +

    PK.03.04

    +
    +

    + Pengawas ujian +

    +

    1. SK panitia pengawas ujian;

    +

    2. Surat pernyataan kesanggupan;

    +

    3. Jadwal pengawasan;

    +

    4. Daftar hadir pengawas ujian;

    +

    5. Naskah dinas yang berkaitan dengan pengawas ujian.

    +
    +

    PK.03.05

    +
    +

    + Berita acara ujian +

    +

    1. Berita acara ujian;

    +

    2. Daftar hadir peserta ujian;

    +

    3. Naskah dinas yang berkaitan dengan berita acara ujian.

    +
    +

    PK.03.06

    +
    +

    + Nilai hasil ujian +

    +

    1. Surat permohonan nilai ujian;

    +

    2. Rekapitulasi hasil ujian

    +

    3. Naskah dinas yang berkaitan dengan nilai hasil ujian.

    +
    +

    PK.03.07

    +
    +

    + Kartu Hasil Studi (KHS) +

    +

    1. Pengumuman jadwal penyerahan KHS;

    +

    2. Rekapitulasi KHS;

    +

    + 3. Naskah dinas yang berkaitan dengan Kartu Hasil Studi (KHS). +

    +
    +

    PK.03.08

    +
    +

    + Tugas Akhir/Skripsi/Tesis/Disertasi +

    +

    1. Seminar proposal tugas akhir/skripsi/tesis/disertasi;

    +

    2. Sidang tertutup tugas akhir/skripsi/tesis/disertasi;

    +

    3. Sidang terbuka disertasi;

    +

    + 4. Naskah dinas yang berkaitan dengan tugas + akhir/skripsi/tesis/disertasi. +

    +
    +

    PK.04

    +
    +

    Yudisium

    +
    +

    PK.04.00

    +
    +

    + Administrasi Yudisium +

    +

    1. SK panitia yudisium;

    +

    2. Undangan rapat;

    +

    3. Notula rapat;

    +

    4. Penetapan peserta yudisium;

    +

    5. Undangan yudisium;

    +

    6. Naskah dinas yang berkaitan dengan administrasi yudisium.

    +
    +

    PK.04. 01

    +
    +

    + Penetapan Kelulusan +

    +

    1. Undangan rapat;

    +

    2. Notula rapat;

    +

    3. SK penetapan kelulusan;

    +

    4. Naskah dinas yang berkaitan dengan penetapan kelulusan.

    +
    +

    PK.05

    +
    +

    Ijazah dan transkrip

    +
    +

    PK.05.00

    +
    +

    + Surat Keterangan Lulus +

    +

    1. Surat keterangan lulus;

    +

    2. Daftar transkrip sementara;

    +

    3. Naskah dinas yang berkaitan dengan surat keterangan lulus.

    +
    +

    PK.05.01

    +
    +

    + Nomor Induk registrasi lulusan +

    +

    1. Buku Registrasi;

    +

    + 2. Naskah dinas yang berkaitan dengan nomor induk registrasi + lulusan. +

    +
    +

    PK.05.02

    +
    +

    + Salinan ijazah dan transkrip nilai +

    +

    1. Tanda terima;

    +

    2. Salinan ijazah;

    +

    3. Salinan transkrip nilai;

    +

    + 4. Naskah dinas yang berkaitan dengan salinan ijazah dan transkrip + nilai. +

    +
    +

    PK.05.03

    +
    +

    + Surat kehilangan ijazah/transkrip nilai +

    +

    1. Tanda terima;

    +

    2. Surat laporan kepolisian;

    +

    + 3. Naskah dinas yang berkaitan dengan Surat kehilangan + ijazah/transkrip nilai. +

    +
    +

    PK.05.04

    +
    +

    + Surat keterangan pengganti ijazah/transkrip nilai +

    +

    1. Tanda terima;

    +

    2. Surat keterangan pengganti ijasah/transkrip;

    +

    + 3. Naskah dinas yang berkaitan dengan surat keterangan pengganti + ijazah/ transkrip nilai. +

    +
    +

    PK.05.05

    +
    +

    + Surat keterangan pendamping ijazah +

    +

    1. Tanda terima;

    +

    2. Surat keterangan pendamping ijasah/transkrip;

    +

    + 3. Naskah dinas yang berkaitan dengan surat keterangan pendamping + ijazah untuk profesi. +

    +
    +

    DI

    +
    +

    DATA, INFORMASI DAN PENGEMBANGAN AKADEMIK

    +
    +

    DI.00

    +
    +

    Data mahasiswa

    +
    +

    DI.00.00

    +
    +

    + Data prestasi mahasiswa +

    +

    1. Data prestasi mahasiswa;

    + +

    + 2. Naskah dinas yang berkaitan dengan data prestasi mahasiswa. +

    +
    +

    DI.00.01

    +
    +

    + Data inventori mahasiswa +

    +

    1. Data inventori mahasiswa;

    +

    + 2. Naskah dinas yang berkaitan dengan data inventori mahasiswa. +

    +
    +

    DI.00.02

    +
    +

    + Data nilai akhir/transkrip +

    +

    1. Data nilai akhir/transkip;

    +

    + 2. Naskah dinas yang berkaitan dengan data nilai akhir/transkip. +

    +
    +

    DI.00.03

    +
    +

    + Data mahasiswa asing +

    +

    1. Data mahasiswa asing;

    +

    2. Naskah dinas yang berkaitan dengan data mahasiswa asing.

    +
    +

    DI.01

    +
    +

    Statistik perguruan tinggi

    +

    1. Data statistik perguruan tinggi;

    +

    + 2. Naskah dinas yang berkaitan dengan statistik perguruan tinggi. +

    +
    +

    DI.02

    +
    +

    Bursa Pendidikan

    +

    1. Lowongan Kerja;

    +

    2. Naskah dinas yang berkaitan dengan bursa pendidikan.

    +
    +

    DI.03

    +
    +

    Data Akademik

    +

    1. Data kepakaran (pendidik/tendik);

    +

    2. Data lulusan mahasiswa;

    +

    3. Data lulusan mahasiswa terbaik;

    +

    4. Data mahasiswa program beasiswa;

    +

    5. Data alumni;

    +

    6. Naskah dinas yang berkaitan dengan data akademik.

    +
    +

    DI.04

    +
    +

    Informasi akademik

    +
    +

    DI.04.00

    +
    +

    + Profil lembaga +

    +

    1. Profil universitas;

    +

    2. Profil fakultas;

    +

    3. Profil lembaga;

    +

    4. Profil pascasarjana;

    +

    5. Profil unit pelaksana teknis;

    +

    6. Profil biro;

    +

    7. Naskah dinas yang berkaitan dengan profil lembaga.

    +
    +

    DI.04.01

    +
    +

    + Publikasi dan informasi +

    +

    1. Materi publikasi dan informasi;

    +

    + 2. Naskah dinas yang berkaitan dengan publikasi dan informasi. +

    +
    +

    DI.04.02

    +
    +

    + Pangkalan Data Pendidikan Tinggi (PDPT) +

    +

    1. Data pendidikan tinggi;

    +

    + 2. Naskah dinas yang berkaitan dengan pangkalan data pendidikan + tinggi (PDPT). +

    +
    +

    DI.04.03

    +
    +

    + Wisuda +

    +

    1. Data wisudawan;

    +

    2. SK penetapan wisudawan;

    +

    3. Naskah dinas yang berkaitan dengan wisuda.

    +
    +

    DI.04.04

    +
    +

    + Dies natalis +

    +

    1. Data kegiatan dies natalis;

    +

    2. SK dies natalis;

    +

    3. Naskah dinas yang berkaitan dengan dies natalis.

    +
    +

    DI.04.05

    +
    +

    + Orasi ilmiah +

    +

    1. Daftar hadir;

    +

    2. Materi orasi ilmiah;

    +

    3. Naskah dinas yang berkaitan dengan orasi ilmiah.

    +
    +

    DI.05

    +
    +

    Pengembangan Akademik

    +
    +

    DI.05.00

    +
    +

    + Pembentukan Tim +

    +

    1. Undangan rapat:

    +

    2. Notula rapat;

    +

    3. Usulan pengembangan akademik;

    +

    4. SK tim pengembangan akademik;

    +

    + 5. Naskah dinas yang berkaitan dengan pembentukan tim pengembangan + akademik. +

    +
    +

    DI.05.01

    +
    +

    + Proposal dan Studi Kelayakan +

    +

    1. Proposal dan hasil studi kelayakan pengembangan akademik;

    +

    + 2. Naskah dinas yang berkaitan dengan proposal dan studi kelayakan + pengembangan akademik. +

    +
    +

    DI.05.02

    +
    +

    + Naskah Akademik +

    +

    1. Usulan naskah akademik;

    +

    2. Naskah akademik yang diterima;

    +

    3. Naskah dinas yang berkaitan dengan naskah akademik.

    +
    +

    DI.05.03

    +
    +

    + Penetapan +

    +

    1. Surat izin penyelenggaraan program studi;

    +

    + 2. Naskah dinas yang berkaitan dengan penetapan pengembangan + akademik. +

    +
    +

    DI.05.04

    +
    +

    + Laporan dan Evaluasi +

    +

    1. Laporan dan evaluasi pengembangan akademik;

    +

    + 2. Naskah dinas yang berkaitan dengan laporan dan evaluasi + pengembangan akademik. +

    +
    +

    TA

    +
    +

    PENUNJANG AKADEMIK

    +
    +

    TA.00

    +
    +

    + Laboratorium/Studio/Workshop/Kebun Pendidikan/ Rumah + Produksi/Pusat Kajian +

    +
    +

    TA.00.00

    +
    +

    + Layanan Praktikum +

    +

    1. Surat usulan tim pratikum;

    +

    2. SK tim praktikum;

    +

    3. Surat permohonan penggunaan laboratorium;

    +

    4. Surat izin praktikum (mahasiswa);

    +

    5. Hasil praktikum;

    +

    6. Pedoman alat atau SOP praktikum;

    +

    7. Naskah dinas yang berkaitan dengan layanan praktikum.

    +
    +

    TA.00.01

    +
    +

    + Layanan Pengujian +

    +

    1. Surat usulan tim ujicoba;

    +

    2. SK tim ujicoba;

    +

    3. Surat permohonan pengujian;

    +

    4. Surat izin penggunaan laboratorium (umum/mahasiswa/dosen);

    +

    5. Hasil pengujian/tes;

    +

    6. Pedoman alat atau SOP pengujian;

    +

    7. Naskah dinas yang berkaitan dengan layanan pengujian.

    +
    +

    TA.00.02

    +
    +

    + Layanan Kalibrasi +

    +

    1. Surat usulan tim kalibrasi;

    +

    2. SK tim kalibrasi;

    +

    3. Surat permohonan kalibrasi alat;

    +

    4. Surat izin penggunaan laboratorium (umum/mahasiswa/dosen);

    +

    5. Hasil kalibrasi/tes;

    +

    6. Pedoman alat atau SOP kalibrasi alat;

    +

    7. Naskah dinas yang berkaitan dengan layanan kalibrasi.

    +
    +

    TA.00.03

    +
    +

    + Layanan Penelitian +

    +

    1. Surat usulan tim peneliti;

    +

    2. SK tim peneliti;

    +

    3. Surat permohonan penelitian;

    +

    4. Surat izin penelitian (umum/mahasiswa/dosen);

    +

    5. Surat permohonan sebagai counterpart (peneliti asing);

    +

    6. Laporan hasil penelitian;

    +

    7. Pedoman atau SOP penelitian;

    +

    8. Naskah dinas yang berkaitan dengan layanan penelitian.

    +
    +

    TA.00.04

    +
    +

    + Layanan Bahasa +

    +

    1. Surat usulan pengelola pusat bahasa;

    +

    2. SK pengelola;

    +

    3. Surat permohonan kursus atau tes;

    +

    4. Surat permohonan penerjemahan;

    +

    5. Surat izin penggunaan laboratorium (mahasiswa/dosen/umum);

    +

    6. Hasil tes TOEFL/IELTS dan lain-lain;

    +

    7. Sertifikat TOEFL/IELTS dan lain-lain;

    +

    8. Pedoman atau SOP layanan;

    +

    9. Naskah dinas yang berkaitan dengan layanan bahasa

    +
    +

    TA.01

    +
    +

    Perpustakaan

    +
    +

    TA.01.00

    +
    +

    + Pengembangan koleksi +

    +

    1. Daftar buku terseleksi/dalam pemesanan/dalam permintaan;

    +

    2. Usulan pembelian buku/jurnal/majalah oleh perpustakaan;

    +

    + 3. Program tukar menukar buku berkaitan dengan pengembangan bahan + pustaka; +

    +

    4. Hibah/hadiah/sumbangan buku untuk perpustakaan;

    +

    5. Penyiangan bahan perpustakaan;

    +

    6. Naskah dinas yang berkaitan dengan pengembangan koleksi.

    +
    +

    TA.01.01

    +
    +

    + Pengolahan bahan perpustakaan +

    +

    1. Panduan katalogisasi;

    +

    2. Panduan klasifikasi;

    +

    + 3. Naskah dinas yang berkaitan dengan pengolahan bahan + perpustakaan. +

    +
    +

    TA.01.02

    +
    +

    + Pelayanan perpustakaan +

    +

    1. Kebijakan layanan perpustakaan;

    +

    2. Layanan perpustakaan secara manual;

    +

    3. Layanan perpustakaan secara elektronik;

    +

    4. Usulan dan saran terkait layanan peminjaman;

    +

    5. Surat keterangan bebas perpustakaan;

    +

    6. Naskah dinas yang berkaitan dengan pelayanan perpustakaan.

    +
    +

    TA.01.03

    +
    +

    + Preservasi bahan perpustakaan +

    +

    1. Berita acara penerimaan koleksi bahan pustaka;

    +

    2. Administrasi pengolahan/penyimpanan bahan pustaka;

    +

    + 3. Naskah dinas yang berkaitan dengan preservasi/pemeliharaan + bahan perpustakaan. +

    +
    +

    TA.01.04

    +
    +

    + Sosialisasi dan Pendidikan Pemustaka +

    +

    1. Surat undangan;

    +

    2. Surat penunjukan peserta;

    +

    3. Daftar hadir;

    +

    4. Materi/modul;

    +

    5. Sertifikat;

    +

    6. Laporan kegiatan;

    +

    + 7. Naskah dinas yang berkaitan dengan sosialisasi dan pendidikan + pemustaka. +

    +
    +

    TA.01.05

    +
    +

    + Keanggotaan Perpustakaan +

    +

    1. Daftar anggota;

    +

    2. Kartu anggota;

    +

    + 3. Naskah dinas yang berkaitan dengan administrasi keanggotaan + perpustakaan. +

    +
    +

    TA.02

    +
    +

    Arsip Perguruan tinggi

    +
    +

    TA.02.00

    +
    +

    + Kebijakan tentang Pembinaan Kearsipan dan Pengelolaan + Arsip +

    +

    1. Pengkajian dan pengusulan kegiatan;

    +

    2. Penyiapan kebijakan;

    +

    3. Perumusan kebijakan;

    +

    4. Penetapan norma, standar, prosedur dan kriteria (NSPK).

    +

    + 5. Naskah dinas yang berkaitan dengan Kebijakan tentang pembinaan + kearsipan dan pengelolaan arsip. +

    +
    +

    TA.02.01

    +
    +

    Pembinaan kearsipan

    +

    1. Akreditasi lembaga kearsipan;

    +

    o Proses akreditasi;

    +

    o Berkas penetapan akreditasi.

    +

    2. Sertifikasi arsiparis;

    +

    o Proses sertifikasi;

    +

    o Berkas penetapan sertifikasi;

    +

    o Database sertifikasi arsiparis.

    +

    3. Bina arsiparis;

    +

    o Pengembangan profesi arsiparis;

    +

    o Bimbingan konsultasi arsiparis;

    +

    o Penilaian arsiparis;

    +

    o Pemilihan arsiparis teladan;

    +

    o Database arsiparis.

    +

    4. Bimbingan dan konsultasi;

    +

    o Penetapan sistem;

    +

    o Penggunaan sarana dan prasarana;

    +

    o Unit kearsipan;

    +

    o Sumber daya manusia.

    +

    5. Supervisi dan evaluasi;

    +

    o Perencanaan;

    +

    o Pelaksanaan;

    +

    o Laporan hasil supervisi dan evaluasi.

    +

    6. Database bimbingan konsultasi dan supervise;

    +

    7. Fasilitas kearsipan;

    +

    o SDM;

    +

    o Sarana dan prasarana;

    +

    8. Unit kearsipan teladan;

    +

    o Penyelenggaraan;

    +

    o Berkas penyelenggaraan unit kearsipan teladan.

    +

    9. Naskah dinas yang berkaitan dengan pembinaan kearsipan.

    +
    +

    TA.02.02

    +
    +

    + Persetujuan Jadwal Retensi Arsip +

    +

    1. Penyusunan rancangan/revisi JRA di perguruan tinggi;

    +

    2. Permohonan persetujuan JRA s.d. persetujuan ka. ANRI;

    +

    + 3. Naskah dinas yang berkaitan dengan persetujuan Jadwal Retensi + Arsip. +

    +
    +

    TA.02.03

    +
    +

    + Pengelolaan Arsip Statis +

    +

    1. Akuisisi;

    +

    o Monitoring fisik dan daftar arsip;

    +

    o Verifikasi terhadap daftar arsip;

    +

    o Penetapan status arsip statis;

    +

    o Persetujuan untuk penyerahan;

    +

    o Penetapan arsip yan akan diserahkan;

    +

    o BA penyerahan arsip;

    +

    o Daftar arsip yang diserahkan.

    +

    2. Sejarah lisan;

    +

    o Administrasi pelaksanaan sejarah lisan;

    +

    o BA wawancara sejarah lisan;

    +

    o Laporan.

    +

    3. Daftar pencarian arsip statis;

    +

    4. Penghargaan dan imbalan;

    +

    5. Pengolahan;

    +

    o Penataan informasi;

    +

    o Penataan fisik arsip;

    +

    o Penyusunan sarana bantu temu balik.

    +

    6. Preservasi;

    +

    o Preventif ;

    +

    o Kuratif;

    +

    o Laporan.

    +

    7. Autentifikasi arsip dinamis;

    +

    o Pembuktian;

    +

    o Pendapat ahli;

    +

    o Pengujian;

    +

    o Pernyataan pencipta arsip.

    + +

    8. Akses arsip statis;

    +

    o Layanan arsip;

    +

    o Penerbitan naskah sumber.

    +

    9. Pameran arsip;

    +

    + 10. Naskah dinas yang berkaitan dengan pengelolaan arsip statis. +

    +
    +

    TA.02.04

    +
    +

    + Pengawasan +

    +

    1. Pengawasan internal;

    +

    2. Pengawasan eksternal;

    +

    3. Naskah dinas yang berkaitan dengan pengawasan.

    +
    +

    TA.02.05

    +
    +

    + Sosialisasi Kearsipan +

    +

    1. Undangan sosialisasi;

    +

    2. Materi sosialisasi;

    +

    3. Permohonan narasumber;

    +

    + 4. Naskah dinas yang berkaitan dengan kegiatan sosialisasi + kearsipan. +

    +
    +

    TA.03

    +
    +

    Rumah Sakit/Klinik Pratama

    +
    +

    TA.03.00

    +
    +

    + Dewan Pengawas +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK dewan pengawas;

    +

    3. SK dewan pengawas;

    +

    + 4. Naskah dinas yang berkaitan dengan dewan pengawas rumah sakit. +

    +
    +

    TA.03.01

    +
    +

    + Dewan Pembina +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK dewan pembina;

    +

    3. SK dewan pembina;

    +

    + 4. Naskah dinas yang berkaitan dengan dewan pembina rumah sakit. +

    +
    +

    TA.03.02

    +
    +

    + Badan Koordinasi Pendidikan +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK bakordik;

    +

    3. SK bakordik;

    +

    + 4. Naskah dinas yang berkaitan dengan badan koordinasi pendidikan. +

    +
    +

    TA.03.03

    +
    +

    + Komite +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK komite;

    +

    3. SK komite;

    +

    4. Naskah dinas yang berkaitan dengan komite.

    +
    +

    TA.03.04

    +
    +

    + Dokter dan Tenaga Medik +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK dokter dan medik;

    +

    3. SK dokter dan medik;

    +

    4. Naskah dinas yang berkaitan dengan dokter dan medik.

    +
    +

    TA.03.05

    +
    +

    + Tenaga Non Medik +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK tenaga non medik;

    +

    3. SK tenaga non medik;

    +

    4. Naskah dinas yang berkaitan dengan tenaga non medik.

    +
    +

    TA.03.06

    +
    +

    + Dokter Tamu +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK dokter tamu;

    +

    3. SK dokter tamu;

    +

    4. Naskah dinas yang berkaitan dengan dokter tamu.

    +
    +

    TA.03.07

    +
    +

    + Tenaga Penunjang Medik +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK tenaga penunjang medik;

    +

    3. SK tenaga penunjang medik;

    +

    4. Naskah dinas yang berkaitan dengan tenaga penunjang medik.

    +
    +

    TA.03.08

    +
    +

    + Rekam Medik +

    +

    1. Surat keterangan sakit; 2. …

    +

    3. …

    +

    4. Naskah dinas yang berkaitan dengan rekam medik.

    +
    +

    TA.03.9

    +
    +

    + Farmasi +

    +

    1. Surat usulan kebutuhan obat;

    +

    2. Daftar obat;

    +

    3. Daftar supplier obat;

    +

    4. Naskah dinas yang berkaitan dengan farmasi.

    +
    +

    TA.03.10

    +
    +

    + Pemulasaraan Jenazah +

    +

    1. Pendaftaran jenazah;

    +

    2. BA serah terima jenazah;

    +

    3. Naskah dinas yang berkaitan dengan pemulasaraan jenazah.

    +
    +

    TA.03.11

    +
    +

    + Pengembangan Akademik dan Riset +

    +

    1. Renstra riset RS;

    +

    2. Proposal/TOR;

    +

    3. Hasil riset;

    + +

    4. Evaluasi/review;

    +

    5. Laporan;

    +

    + 6. Naskah dinas yang berkaitan dengan pengembangan akademik dan + riset rumah sakit. +

    +
    +

    TA.03.12

    +
    +

    + Laporan Coass (co assistant) +

    +

    1. Permohonan coass;

    +

    2. Persetujuan/penolakan;

    +

    3. Surat keterangan coass;

    +

    4. Jadwal pelaksanaan coass;

    +

    5. Presensi;

    +

    6. Laporan;

    +

    + 7. Naskah dinas yang berkaitan dengan laporan coass (co + assistant). +

    +
    +

    TA.03.13

    +
    +

    + Rujukan Fasilitas Kesehatan +

    +

    1. Surat penerimaan rujukan;

    +

    2. Surat pemberian rujukan;

    +

    + 3. Naskah dinas yang berkaitan dengan rujukan fasilitas kesehatan. +

    +
    +

    TA.03.14

    +
    +

    + Asuransi +

    +

    1. Daftar pasien pemegang asuransi;

    +

    2. Surat permintaan klaim asuransi;

    +

    3. Naskah dinas yang berkaitan dengan asuransi.

    +
    +

    TA.03.15

    +
    +

    + Laporan Kelahiran +

    +

    1. Surat kelahiran;

    +

    2. Rekapitulasi tingkat kelahiran;

    +

    3. Naskah dinas yang berkaitan dengan laporan kelahiran.

    +
    +

    TA.03.16

    +
    +

    + Laporan Kematian +

    +

    1. Surat kematian;

    +

    2. Rekapitulasi tingkat kematian;

    +

    3. Naskah dinas yang berkaitan dengan laporan kematian.

    +
    +

    TA.03.17

    +
    +

    + Laporan Kejadian Kecelakaan +

    +

    1. Laporan kecelakaan saat hari libur/hari raya;

    +

    2. Laporan kecelakaan lalu lintas;

    +

    + 3. Naskah dinas yang berkaitan dengan laporan kejadian kecelakaan. +

    +
    +

    TA.03.18

    +
    +

    + Laporan Perkembangan Pasien +

    +

    1. Data statistik jumlah pasien per tahun;

    +

    + 2. Naskah dinas yang berkaitan dengan laporan perkembangan pasien. +

    +
    +

    TA.03.19

    +
    +

    + Laporan Kasus Terbanyak +

    +

    1. Data statistik jumlah kasus per tahun;

    +

    + 2. Naskah dinas yang berkaitan dengan laporan kasus terbanyak. +

    +
    +

    TA.03.20

    +
    +

    + Kasus Khusus +

    +

    1. Laporan kasus khusus;

    +

    2. Naskah dinas yang berkaitan dengan kasus khusus.

    +
    +

    TA.03.21

    +
    +

    + Laporan Internal Rumah Sakit +

    +

    1. …

    +

    2. …

    +

    + 3. Naskah dinas yang berkaitan dengan laporan internal rumah + sakit. +

    +
    +

    TA.03.22

    +
    +

    + Laporan Eksternal Rumah Sakit +

    +

    1. …

    +

    + 2. …Naskah dinas-Naskah dinas yang berkaitan dengan laporan + eksternal rumah sakit. +

    +
    +

    TA.03.23

    +
    +

    + Izin Praktik Profesi Kesehatan +

    +

    1. Usulan izin praktek dokter/dokter spesialis;

    +

    2. Usulan izin praktek bidan;

    +

    3. Usulan izin praktek apoteker;

    +

    + 4. Naskah dinas yang berkaitan dengan izin praktik profesi + kesehatan. +

    +
    +

    PT

    +
    +

    PENELITIAN

    +
    +

    PT.00

    +
    +

    Kebijakan Penelitian

    +

    1. Renstra penelitian;

    +

    2. RKAKL penelitian;

    +

    3. Naskah dinas yang berkaitan dengan kebijakan penelitian.

    +
    +

    PT.01

    +
    +

    Penjaminan Mutu Penelitian

    +
    +

    PT.01.00

    +
    +

    + Penawaran Penelitian +

    +

    1. Panduan penelitian;

    +

    2. Informasi penerimaan proposal penelitian;

    +

    3. Pengantar draf SK tim reviewer;

    +

    4. SK tim reviewer;

    +

    5. Hasil penilaian proposal;

    +

    6. SK proposal yang diterima;

    +

    7. Naskah dinas yang berkaitan dengan penawaran penelitian.

    +
    +

    PT.01.01

    +
    +

    + Perencanaan Penelitian +

    +

    1. Proposal yang diterima;

    +

    2. Proposal yang ditolak;

    +

    3. Surat pengantar proposal;

    +

    4. Naskah dinas yang berkaitan dengan perencanaan penelitian;

    +
    +

    PT.01.02

    +
    +

    + Pendanaan Penelitian +

    +

    1. Laporan keuangan penelitian;

    + +

    2. Surat permohonan pencairan dana penelitian;

    +

    3. Naskah dinas yang berkaitan dengan pendanaan penelitian

    +
    +

    PT.01.03

    +
    +

    + Kontrak/Perjanjian +

    +

    1. Pengantar draf kontrak/perjanjian penelitian;

    +

    2. Kontrak/perjanjian penelitian;

    +

    3. Naskah dinas yang berkaitan dengan kontrak/ perjanjian.

    +
    +

    PT.01.04

    +
    +

    + Izin Penelitian +

    +

    1. Surat permohonan penelitian;

    +

    2. Surat persetujuan/penolakan penelitian;

    +

    3. Surat izin penelitian;

    +

    4. Naskah dinas yang berkaitan dengan surat izin penelitian.

    +
    +

    PT.01.05

    +
    +

    + Pelaksanaan Penelitian +

    +

    1. Kontrak kerja;

    +

    2. SK penelitian;

    +

    3. Penetapan biaya penelitian;

    +

    4. Laporan penelitian;

    +

    5. Naskah dinas yang berkaitan dengan pelaksanaan penelitian.

    +
    +

    PT.01.06

    +
    +

    + Seminar/Workshop Hasil Penelitian +

    +

    1. Undangan;

    +

    2. Materi Proposal;

    +

    3. Penetapan pembicara/narasumber;

    +

    4. Jadwal acara;

    +

    + 5. Naskah dinas yang berkaitan dengan seminar/workshop hasil + penelitian. +

    +
    +

    PT.01.07

    +
    +

    + Desiminasi/Publikasi Hasil Penelitian +

    +

    1. Undangan;

    +

    2. Materi desiminasi/publikasi;

    +

    3. Penetapan pembicara/narasumber;

    +

    4. Jadwal acara;

    +

    + 5. Naskah dinas yang berkaitan dengan desiminasi/publikasi hasil + penelitian. +

    +
    +

    PT.01.08

    +
    +

    + Pemanfaatan Hasil Penelitian +

    +

    1. Surat pengajuan kerja sama pemanfaatan hasil penelitian;

    +

    2. MoU dengan pihak ketiga;

    +

    3. Laporan pemanfaatan hasil penelitian;

    +

    + 4. Naskah dinas yang berkaitan dengan pemanfaatan h asil + penelitian. +

    +
    +

    PT.01.09

    +
    +

    + Monitoring dan Evaluasi, Laporan, Statistik Penelitian +

    +

    1. Sertifikat penelitian;

    +

    2. Laporan monev penelitian;

    +

    3. Data statistik penelitian;

    +

    + 4. Naskah dinas yang berkaitan dengan monitoring, evaluasi dan + laporan, statistik penelitian termasuk sertifikat. +

    +
    +

    PT.02

    +
    +

    Forum Penelitian

    +

    1. Dokumen kegiatan;

    +

    2. Laporan kegiatan;

    +

    3. Naskah dinas yang berkaitan dengan forum penelitian.

    +
    +

    PT.03

    +
    +

    Hak atas Kekayaan Intelektual (HaKI)

    +
    +

    PT.03.00

    +
    +

    + Pengajuan paten +

    +

    1. Surat pengajuan paten;

    +

    2. Sertifikat paten;

    +

    3. Naskah dinas yang berkaitan dengan pengajuan paten;

    +
    +

    PT.03.01

    +
    +

    + Pengajuan Hak Cipta +

    +

    1. Surat pengajuan hak cipta;

    +

    2. Sertifikat hak cipta;

    +

    3. Naskah dinas yang berkaitan dengan pengajuan hak cipta.

    +
    +

    PT.03.02

    +
    +

    + Administrasi Biaya Pemeliharaan Paten/Hak Cipta +

    +

    1. Surat permohonan biaya pengurusan paten/hak cipta;

    +

    2. Surat izin penggunaan paten/hak cipta;

    +

    + 3. Naskah dinas yang berkaitan dengan administrasi biaya + pemeliharaan paten/hak cipta. +

    +
    +

    PT.03.03

    +
    +

    Data Paten/Hak Cipta

    +

    1. Daftar paten dan hak cipta;

    +

    2. Naskah dinas yang berkaitan dengan data paten/hak cipta.

    +
    +

    PM

    +
    +

    PENGABDIAN KEPADA MASYARAKAT

    +
    +

    PM.00

    +
    +

    Kuliah Kerja Nyata

    +
    +

    PM.00.00

    +
    +

    + Pedoman/panduan KKN +

    +

    1. Draf pedoman/panduan KKN;

    +

    2. Surat permohonan review pedoman/panduan KKN;

    +

    3. Pedoman/panduan KKN;

    +

    4. Naskah dinas yang berkaitan dengan pedoman/panduan KKN.

    +
    +

    PM.00.01

    +
    +

    + Administrasi KKN + (Survei Lapangan, Pendaftaran Peserta, Penetapan Lokasi, + Pembimbing KKN) +

    +

    1. Surat penunjukan tim survei;

    +

    2. Pengumuman pendaftaran KKN;

    +

    3. SK penetapan lokasi KKN;

    +

    4. SK pembimbing KKN;

    +

    + 5. Naskah dinas yang berkaitan dengan administrasi KKN (survei + lapangan, pendaftaran peserta, +

    + +

    penetapan lokasi, pembimbing KKN).

    +
    +

    PM.00.02

    +
    +

    + Pembekalan KKN +

    +

    1. Undangan pembekalan;

    +

    2. Daftar hadir;

    +

    3. Materi pembekalan KKN;

    +

    4. Naskah dinas yang berkaitan dengan pembekalan KKN.

    +
    +

    PM.00.03

    +
    +

    + Pelaksanaan KKN +

    +

    1. Undangan rapat;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Surat perubahan lokasi KKN;

    +

    5. Surat penggantian peserta/pembimbing KKN;

    +

    6. Naskah dinas yang berkaitan dengan pelaksanaan KKN.

    +
    +

    PM.00.04

    +
    +

    + Nilai KKN +

    +

    1. Surat permintaan nilai KKN;

    +

    2. Daftar nilai peserta KKN;

    +

    3. Naskah dinas yang berkaitan dengan nilai KKN.

    +
    +

    PM.00.05

    +
    +

    + Sertifikat KKN +

    +

    1. Salinan sertifikat KKN;

    +

    2. Pemberitahuan pengambilan sertifikat KKN;

    +

    3. Naskah dinas yang berkaitan dengan sertifikat KKN.

    +
    +

    PM.00.06

    +
    +

    + Statistik KKN +

    +

    1. Data statistik KKN;

    +

    2. Peta sebaran wilayah mahasiswa KKN;

    +

    3. Naskah dinas yang berkaitan dengan statistik KKN.

    +
    +

    PM.00.07

    +
    +

    + Pengembangan KKN +

    +

    1. Program pengembangan KKN;

    +

    2. Program KKN kebangsaan;

    +

    3. Program KKN tematik;

    +

    4. Naskah dinas yang berkaitan dengan pengembangan KKN.

    +
    +

    PM.00.08

    +
    +

    + Asuransi Mahasiswa KKN +

    +

    1. Penawaran paket asuransi KKN;

    +

    2. Data klaim asuransi KKN;

    +

    3. Naskah dinas yang berkaitan dengan asuransi mahasiswa KKN.

    +
    +

    PM.00.09

    +
    +

    + Laporan KKN +

    +

    1. Undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Laporan KKN;

    +

    5. Naskah dinas yang berkaitan dengan laporan KKN.

    +
    +

    PM.01

    +
    +

    Layanan Masyarakat

    +
    +

    PM.01.00

    +
    +

    + Penawaran Kerjasama Pengabdian +

    +

    1. Permohonan penawaran kerjasama pengabdian;

    +

    2. Persetujuan penawaran kerjasama pengabdian;

    +

    + 3. Naskah dinas yang berkaitan dengan penawaran kerjasama + pengabdian. +

    +
    +

    PM.01.01

    +
    +

    + Kontrak/Surat Perjanjian +

    +

    1. Undangan penandatanganan kontrak/surat perjanjian;

    +

    2. Kontrak/surat perjanjian;

    +

    + 3. Naskah dinas yang berkaitan dengan kontrak/surat perjanjian. +

    +
    +

    PM.01.02

    +
    +

    + Pembinaan +

    +

    1. Penawaran kegiatan mentoring dan konsultasi;

    +

    2. Laporan pembinaan;

    +

    3. Naskah dinas yang berkaitan dengan pembinaan.

    +
    +

    PM.01.03

    +
    +

    + Bantuan Sosial +

    +

    + 1. Pelaksanaan bantuan sosial (panti asuhan, panti jompo, panti + rehabilitasi dll.); +

    +

    2. Laporan bantuan sosial;

    +

    3. Naskah dinas yang berkaitan dengan bantuan sosial;

    +
    +

    PM.01.04

    +
    +

    + Monitoring dan Evaluasi +

    +

    1. Undangan rapat monev;

    +

    2. Daftar hadir;

    +

    3. Laporan monev;

    +

    + 4. Naskah dinas yang berkaitan dengan monitoring dan evaluasi. +

    +
    +

    PM.02

    +
    +

    Data Statistik Pengabdian

    +

    1. Data statistik pengabdian;

    +

    + 2. Naskah dinas yang berkaitan dengan data statistik pengabdian. +

    +
    +

    PM.03

    +
    +

    + Seminar, Lokakarya, Workshop Hasil Pengabdian +

    +

    1. Undangan;

    +

    2. Daftar hadir;

    +

    3. Materi seminar/lokakarya/workshop;

    +

    + 4. Naskah dinas yang berkaitan dengan seminar, lokakarya, workshop + hasil pengabdian. +

    +
    +

    PM.04

    +
    +

    Penerbitan Hasil Pengabdian

    +

    1. Pengurusan izin hasil pengabdian;

    +

    2. Penerbitan hasil pengabdian;

    + +

    3. Pengantar hasil pengabdian;

    +

    + 4. Naskah dinas yang berkaitan dengan penerbitan hasil pengabdian. +

    +
    +

    PM.05

    +
    +

    Forum Pengabdian Kepada Masyarakat

    +

    1. Undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Laporan;

    +

    + 5. Naskah dinas yang berkaitan dengan forum pengabdian kepada + masyarakat. +

    +
    +

    PJ

    +
    +

    PUBLIKASI JURNAL/BUKU

    +
    +

    PJ.00

    +
    +

    Pengajuan

    +
    +

    PJ.00.00

    +
    +

    + Proposal Publikasi +

    +

    1. Pengumuman proposal publikasi;

    +

    2. Pengantar proposal publikasi;

    +

    3. Naskah dinas yang berkaitan dengan proposal publikasi.

    +
    +

    PJ.00.01

    +
    +

    + Naskah Jurnal/Buku +

    +

    1. Pengumuman naskah jurnal/buku;

    +

    2. Pengantar naskah jurnal/buku;

    +

    3. Naskah dinas yang berkaitan dengan naskah jurnal/buku.

    +
    +

    PJ.00.02

    +
    +

    + Penilaian dan Review Proposal/ Naskah +

    +

    1. Undangan rapat;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. SK tim penilai/reviewer;

    +

    5. Hasil penilaian dan review;

    +

    + 6. Naskah dinas yang berkaitan dengan penilaian dan review + proposal/naskah. +

    +
    +

    PJ.00.03

    +
    +

    + Sidang Review Proposal/Jurnal/Buku +

    +

    1. Undangan rapat;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Materi proposal/jurnal/buku;

    +

    5. Laporan;

    +

    6. Naskah dinas yang berkaitan dengan sidang review proposal.

    +
    +

    PJ.00.04

    +
    +

    + Pendampingan dan Workshop +

    +

    1. Undangan;

    +

    2. Daftar hadir;

    +

    3. Materi/bahan;

    +

    4. Laporan;

    +

    + 5. Naskah dinas yang berkaitan dengan pendampingan dan workshop. +

    +
    +

    PJ.00.05

    +
    +

    + Kontrak Penerbitan +

    +

    1. Penawaran penerbitan;

    +

    2. Kontrak;

    +

    3. Naskah dinas yang berkaitan dengan kontrak penerbitan.

    +
    +

    PJ.01

    +
    +

    Produksi

    +
    +

    PJ.01.00

    +
    +

    + Pembuatan Lembar Kerja +

    +

    1. SK tim editor;

    +

    2. Lembar kerja;

    +

    3. Naskah dinas yang berkaitan dengan lembar kerja.

    +
    +

    PJ.01.01

    +
    +

    + Proses Pengeditan +

    +

    1. Hasil pengeditan awal;

    +

    2. Finalisasi hasil pengeditan;

    +

    3. Naskah dinas yang berkaitan dengan proses pengeditan.

    +
    +

    PJ.01.02

    +
    +

    + Pembuatan Master Jurnal/Buku +

    +

    1. Master jurnal/buku yang telah diterbitkan;

    +

    2. Naskah dinas yang berkaitan dengan master jurnal/buku.

    +
    +

    PJ.01.03

    +
    +

    + ISSN/ISBN +

    +

    1. Pengajuan ISSN/ISBN;

    +

    2. Data dan informasi ISSN/ISBN;

    +

    3. Naskah dinas yang berkaitan dengan ISSN/ISBN.

    +
    +

    PJ.02

    +
    +

    Pemasaran dan Evaluasi

    +
    +

    PJ.02.00

    +
    +

    + Pemasaran +

    +

    1. Promosi jurnal/buku versi print/hardcover;

    +

    2. Promosi jurnal/buku versi e jurnal/book;

    +

    3. Hasil penjualan jurnal/buku;

    +

    4. Naskah dinas yang berkaitan dengan pemasaran jurnal/buku.

    +
    +

    PJ.02.01

    +
    +

    + Evaluasi +

    +

    1. Undangan;

    +

    2. Daftar hadir;

    +

    3. Hasil Monev publikasi jurnal/buku;

    +

    + 4. Naskah dinas yang berkaitan dengan evaluasi publikasi + jurnal/buku. +

    +
    +

    PJ.02.02

    +
    +

    + Laporan Akhir +

    +

    1. Undangan rapat;

    +

    2. Daftar hadir;

    +

    3. Penyampaian laporan akhir;

    + +

    4. Naskah dinas yang berkaitan dengan laporan akhir.

    +
    +

    WA

    +
    +

    WISUDA DAN ALUMNI

    +
    +

    WA.00

    +
    +

    Wisuda

    +
    +

    WA.00.00

    +
    +

    + Penyelenggaraan Wisuda +

    +

    1. Berkas pendaftaran dan persyaratan wisuda;

    +

    2. Surat usulan fakultas/jurusan/prodi;

    +

    3. Penetapan daftar wisudawan;

    +

    4. Penetapan panitia wisuda;

    +

    5. Notula rapat panitia wisuda;

    +

    6. Daftar hadir wisudawan;

    +

    7. Sambutan rektor/pejabat tinggi;

    +

    8. Sambutan wakil wisuda;

    +

    9. Naskah dinas yang berkaitan dengan penyelenggaraan wisuda.

    +
    +

    WA.00.01

    +
    +

    + Biodata Wisudawan +

    +

    1. Biodata wisudawan;

    +

    2. Penetapan wisudawan berprestasi;

    +

    3. Naskah dinas yang berkaitan dengan biodata wisudawan.

    +
    +

    WA.00.02

    +
    +

    + Sumpah Profesi +

    +

    1. Presensi;

    +

    2. Berita Acara;

    +

    3. Naskah sumpah profesi;

    +

    4. Naskah dinas yang berkaitan dengan sumpah profesi.

    +
    +

    WA.00.03

    +
    +

    + Laporan Kegiatan Wisuda +

    +

    1. Laporan;

    +

    + 2. Naskah dinas yang berkaitan dengan laporan kegiatan wisuda. +

    +
    +

    WA.01

    +
    +

    Alumni

    +
    +

    WA.01.00

    +
    +

    + Data/Buku Induk Alumni +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Data/Buku induk + alumni +

    +
    +

    WA.01.01

    +
    +

    + Statistik Alumni +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Statistik Alumni +

    +
    +

    WA.01.02

    +
    +

    + Organisasi Alumni +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Organisasi alumni +

    +
    +

    WA.01.03

    +
    +

    + Bursa Kerja/Job hunting/Campus Hiring +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Bursa Kerja/Job + hunting/Campus Hiring +

    +
    +

    WA.01.04

    +
    +

    + Tracer Studi +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Hasil Tracer studi +

    +
    +

    JM

    +
    +

    PENJAMINAN MUTU

    +
    +

    JM.00

    +
    +

    Audit Mutu Akademik Internal/ Eksternal

    +

    1. Instrumen audit;

    +

    2. Borang audit;

    +

    3. Hasil audit;

    +

    4. Laporan;

    +

    5. Tindak lanjut hasil audit;

    +

    + 6. Naskah dinas yang berkaitan dengan audit mutu akademik + internal/eksternal. +

    +
    +

    JM.01

    +
    +

    Akreditasi

    +
    +

    JM.01.00

    +
    +

    + Akreditasi Nasional +

    +

    1. Borang akreditasi;

    +

    2. SK penetapan akreditasi dari BAN-PT;

    +

    + 3. Naskah dinas yang berkaitan dengan akreditasi nasional meliputi + akreditasi perguruan tinggi dan akreditasi program studi. +

    +
    +

    JM.01.01

    +
    +

    + Akreditasi Internasional +

    +

    1. Borang akreditasi;

    +

    2. SK penetapan akreditasi dari lembaga internasional;

    +

    + 3. Naskah dinas yang berkaitan dengan akreditasi internasional. +

    +
    +

    JM.02

    +
    +

    Sertifikasi

    +
    +

    JM.02.00

    +
    +

    + Sertifikasi Nasional +

    +

    1. Portofolio/usulan;

    +

    2. Borang sertifikasi;

    +

    3. Sertifikat;

    +

    + 4. Naskah dinas yang berkaitan dengan sertifikasi nasional, yaitu: + lembaga pendidikan formal, lembaga informal, dan lembaga + non-formal +

    +
    +

    JM.02.01

    +
    +

    + Sertifikasi Internasional +

    +

    1. Portofolio/usulan;

    +

    2. Sertifikat;

    +

    + 3. Naskah dinas yang berkaitan dengan sertifikasi internasional. +

    +
    +

    TP

    +
    +

    TATA PAMONG

    +
    +

    TP.00

    +
    +

    Senat Universitas/Fakultas

    +
    +

    TP.00.00

    +
    +

    + Data Anggota Senat +

    +

    1. Daftar anggota senat;

    +

    + 2. SK/peraturan rektor tentang tata cara pemilihan anggota senat; +

    +

    3. BA pemilihan anggota senat dari fakultas-fakultas;

    +

    4. Naskah dinas yang berkaitan dengan data anggota senat.

    +
    +

    TP.00.01

    +
    +

    + Surat Keputusan/Peraturan Senat +

    +

    1. Surat usulan;

    +

    2. Pengantar draf SK/Peraturan/Pertimbangan Senat;

    +

    3. SK/Peraturan/Pertimbangan Senat;

    +

    + 4. Naskah dinas yang berkaitan dengan SK/peraturan/pertimbangan + Senat; +

    +
    +

    TP.00.02

    +
    +

    + Rapat Senat +

    +

    1. Undangan rapat;

    +

    2. Notula/risalah rapat senat;

    +

    + 3. Naskah dinas yang berkaitan dengan notula/risalah rapat senat. +

    +
    +

    TP.00.03

    +
    +

    + Penyusunan Kode Etik +

    +

    1. Pengantar draf peraturan senat tentang kode etik;

    +

    2. Peraturan senat tentang kode etik;

    +

    3. Naskah yang berkaitan dengan penyusunan kode etik.

    +
    +

    TP.00.04

    +
    +

    + Pemilihan Rektor/Dekan +

    +

    1. Surat usulan;

    +

    2. Undangan;

    +

    3. Notula rapat;

    +

    4. Pertimbangan senat;

    +

    5. Pedoman pemilihan rektor/dekan;

    +

    6. Pelaksanaan kegiatan;

    +

    7. Materi presentasi calon rektor/dekan;

    +

    8. Hasil pemilihan senat;

    +

    9. Penetapan senat tentang pemilihan rektor/dekan;

    +

    10. Laporan;

    +

    11. Naskah dinas yang berkaitan dengan pemilihan rektor.

    +
    +

    TP.00.05

    +
    +

    + Pemberian Gelar Doktor HC +

    +

    1. Usulan;

    +

    2. Notula rapat;

    +

    3. Persetujuan senat;

    +

    4. SK rektor tentang gelar doctor HC;

    +

    5. Buku acara pengukuhan;

    +

    6. Naskah orasi ilmiah;

    +

    7. Berita acara penganugrahan doktor Honoris Causa;

    +

    8. Dokumentasi;

    +

    + 9. Naskah dinas yang berkaitan dengan pemberian gelar doktor HC. +

    +
    +

    TP.00.06

    +
    +

    + Izin Pembukaan Fakultas,Vokasi, Departemen, Bagian, + Jurusan/Prodi +

    +

    1. Surat usulan;

    +

    2. Undangan rapat;

    +

    3. Notula rapat;

    +

    4. Borang izin pembukaan;

    +

    5. Pengantar izin dari rektor ke menteri;

    +

    + 6. Naskah dinas yang berkaitan dengan izin pembukaan fakultas, + vokasi, departemen, bagian, jur./prodi. +

    +
    +

    TP.00.07

    +
    +

    + Pengukuhan Guru Besar +

    +

    1. Surat pengantar;

    +

    2. Surat pernyataan bebas plagiarisme;

    +

    3. Surat keterangan reviewer;

    +

    4. Buku karya guru besar;

    +

    5. Orasi ilmiah;

    +

    6. Undangan;

    +

    7. Daftar hadir;

    +

    8. SK dari Kementerian pusat;

    +

    9. Naskah dinas yang berkaitan dengan p engukuhan guru besar.

    +
    +

    TP.01

    +
    +

    Satuan Pengawas Internal (SPI)

    +
    +

    TP.01.00

    +
    +

    + Data Anggota SPI +

    +

    1. Daftar anggota SPI;

    +

    2. SK rektor tentang anggota SPI;

    +

    + 3. Naskah dinas yang berkaitan dengan data anggota komite audit. +

    +
    +

    TP.01.01

    +
    +

    + Rapat SPI +

    +

    1. Undangan rapat SPI;

    +

    2. Notula/risalah rapat SPI;

    +

    3. Naskah dinas yang berkaitan dengan rapat SPI.

    +
    +

    TP.01.02

    +
    +

    + Laporan Hasil Audit +

    +

    1. Undangan temu awal/akhir;

    +

    2. Daftar hadir;

    +

    3. Temuan hasil audit;

    +

    4. Laporan close pada temuan;

    +

    5. BA persetujuan hasil audit;

    +

    6. Laporan;

    +

    7. Naskah dinas yang berkaitan dengan laporan hasil audit.

    +
    +

    TP.02

    +
    +

    Dewan Pengawas

    +
    +

    TP.02.00

    +
    +

    + Surat Keputusan/Peraturan/Pertimbangan Dewan Pengawas +

    +

    1. Surat permohonan;

    +

    2. SK/Peraturan/Pertimbangan dewan pengawas;

    +

    + 3. Naskah dinas yang berkaitan dengan SK/Peraturan/Pertimbangan + Dewan Pengawas. +

    +
    +

    TP.02.01

    +
    +

    + Rapat Dewan Pengawas +

    +

    1. Undangan rapat;

    +

    2. Notula/risalah rapat;

    +

    3. Naskah dinas yang berkaitan dengan rrapat Dewan Pengawas.

    +
    +

    TP.02.02

    +
    +

    + Data Anggota Dewan Pengawas +

    +

    1. Daftar anggota dewan pengawas;

    +

    2. CV anggota dewan pengawas;

    +

    + 3. Naskah dinas yang berkaitan dengan data anggota dewan pengawas. +

    +
    +

    TP.02.03

    +
    +

    + Laporan Dewan Pengawas +

    +

    1. Jadwal kegiatan dewan pengawas;

    +

    2. Daftar hadir kegiatan;

    +

    3. Rekomendasi dewan pengawas;

    +

    4. Naskah dinas yang berkaitan dengan laporan dewan pengawas.

    +
    +

    TP.03

    +
    +

    Dewan Penyantun

    +
    +

    TP.03.00

    +
    +

    + Surat Keputusan/Peraturan/Pertimbangan Dewan Penyantun +

    +

    1. Surat permohonan;

    +

    2. SK/Peraturan/Pertimbangan dewan penyantun;

    +

    + 3. Naskah dinas yang berkaitan dengan SK/Peraturan/Pertimbangan + Dewan Penyantun. +

    +
    +

    TP.03.01

    +
    +

    + Rapat Dewan Penyantun +

    +

    1. Undangan rapat;

    +

    2. Notula/risalah rapat;

    +

    3. Naskah dinas yang berkaitan dengan rrapat Dewan Penyantun.

    +
    +

    PR

    +
    +

    PERENCANAAN

    +
    +

    PR.00

    +
    +

    + Pokok-Pokok Kebijakan dan Strategi Pembangunan +

    +
    +

    PR.00.00

    +
    +

    + Rencana Pembangunan Jangka Panjang /masterplan (RPJP) bidang + pendidikan, Rencana Induk + Pengembangan Kampus (RIPK) +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Rencana + Pembangunan Jangka Panjang /master plan (RPJP) bidang pendidikan, + Rencana Induk Pengembangan Kampus (RIPK) +

    +
    +

    PR.00.01

    +
    +

    + Rencana + Pembangunan + Jangka + Menengah + /RPJM + bidang pendidikan Rencana Strategis +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Rencana + Pembangunan Jangka Menengah /RPJM bidang pendidikan Rencana + Strategis +

    +
    +

    PR.00.02

    +
    +

    + Rencana Operasional +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Rencana + Operasional +

    +
    +

    PR.00.03

    +
    +

    + Program Kerja + Tahunan/RKAKL + (Rencana + Kerja + Anggaran Kementerian/ Lembaga) +

    +

    1. Usulan dari unit kerja dan data pendukungnya;

    +

    2. Usulan dari perguruan tinggi;

    +

    3. Program kerja tahunan unit kerja;

    +

    4. Program kerja tahunan perguruan tinggi;

    +

    + 5. Naskah dinas yang berkaitan dengan program kerja tahunan/RKAKL. +

    +
    +

    PR.01

    +
    +

    + Rencana Anggaran Pendapatan dan Belanja (RAPB) +

    +
    +

    PR.01.00

    +
    +

    + Rencana Kerja Anggaran (RKA) +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Naskah dinas + Rencana Kerja Anggaran (RKA) +

    +
    +

    PR.01.01

    +
    +

    + Usulan dan Penetapan Target Penerimaan Negara +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Naskah dinas + Usulan dan Penetapan Target Penerimaan Negara +

    +
    +

    PR.01.02

    +
    +

    + Penyusunan RAPB +

    +

    + 1. Arah kebijakan strategis prioritas dan renstra PT serta + petunjuk penyusunan anggaran; +

    +

    + 2. Rencana anggaran kerja PT (RAKIP) dan RKAKL (termasuk usulan + anggaran dari unit organisasi); +

    +

    3. Rancangan anggaran satuan kerja PT;

    +

    4. Naskah dinas yang berkaitan dengan penyusunan RAPB.

    +
    +

    PR.02

    +
    +

    Penyusunan Anggaran Pendapatan dan Belanja

    +
    +

    PR.02.00

    +
    +

    + Pembahasan/Penelaahan Anggaran +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Hasil pembahasan/penelaahan anggaran;

    +

    + 5. Naskah dinas yang berkaitan dengan pembahasan/penelaahan + anggaran. +

    +
    +

    PR.02.01

    +
    +

    + Ketetapan Pagu Indikatif/Pagu Sementara +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Ketetapan pagu + indikatif/pagu sementara +

    +
    +

    PR.02.02

    +
    +

    + Ketetapan Pagu Definitif +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Ketetapan pagu + definitif +

    +
    +

    PR.02.03

    +
    +

    + Rencana Kerja Anggaran +

    +

    1. Rencana kerja anggaran unit kerja;

    +

    2. Rencana kerja anggaran PT;

    +

    + 3. Naskah dinas yang berkaitan dengan rencana kerja anggaran + termasuk revisi. +

    +
    +

    PR.02.04

    +
    +

    + Daftar Isian Pelaksanaan Anggaran (DIPA), Petunjuk + Operasional Kegiatan (POK) dan Revisinya +

    +

    1. Penyampaian DIPA;

    +

    + 2. Naskah dinas yang berkaitan dengan Daftar Isian Pelaksanaan + Anggaran (DIPA), Petunjuk Operasional Kegiatan (POK) dan + revisinya. +

    +
    +

    PR.02.05

    +
    +

    + Ketentuan yang Menyangkut Pelaksanaan, Penatausahaan dan + Pertanggungjawaban +

    +

    1. Usulan pejabat perbendaharaan;

    +

    + 2. Naskah dinas yang berkaitan dengan Ketentuan yang menyangkut + pelaksanaan penatausahaan dan pertanggungjawaban. +

    +
    +

    PR.02.06

    +
    +

    + Target Penerimaan Negara Bukan Pajak +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Target penerimaan + negara bukan pajak +

    +
    +

    PR.03

    +
    +

    Revisi Anggaran

    +
    +

    PR.03.00

    +
    +

    + Rupiah Murni +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Usulan revisi anggaran RM;

    +

    + 5. Naskah dinas yang berkaitan dengan revisi anggaran Rupiah + Murni. +

    +
    +

    PR.03.01

    +
    +

    + BLU +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Usulan revisi anggaran BLU;

    +

    5. Naskah dinas yang berkaitan dengan revisi anggaran BLU.

    +
    +

    PR.03.02

    +
    +

    + Bantuan Operasional Perguruan Tinggi Negeri (BOPTN) +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Usulan revisi anggaran BOPTN;

    + +

    5. Naskah dinas yang berkaitan dengan revisi anggaran BOPTN.

    +
    +

    PR.03.03

    +
    +

    + Hibah +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Usulan revisi anggaran hibah;

    +

    + 5. Naskah dinas yang berkaitan dengan revisi anggaran hibah + dalam/luar negeri. +

    +
    +

    PR.04

    +
    +

    Laporan

    +
    +

    PR.04.00

    +
    +

    + Laporan Berkala +

    +

    1. Laporan bulanan;

    +

    2. Laporan triwulanan;

    +

    3. Laporan semesteran;

    +

    4. Laporan tahunan;

    +

    5. Naskah dinas yang berkaitan dengan laporan berkala.

    +
    +

    PR.04.01

    +
    +

    + Laporan Insidental +

    +

    1. Laporan per kasus;

    +

    2. Naskah dinas yang berkaitan dengan laporan insidental.

    +
    +

    PR.04.02

    +
    +

    + LAKIP +

    +

    1. LAKIP unit kerja;

    +

    2. LAKIP PT;

    +

    3. Naskah dinas yang berkaitan dengan LAKIP.

    +
    +

    PR.05

    +
    +

    Monitoring dan Evaluasi

    +
    +

    PR.05.00

    +
    +

    + Monitoring dan Evaluasi Program Unit Kerja +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Laporan monev program unit kerja;

    +

    + 5. Naskah dinas yang berkaitan dengan monev program unit kerja. +

    +
    +

    PR.05.01

    +
    +

    + Monitoring dan Evaluasi Program Perguruan Tinggi +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Laporan monev program PT;

    +

    + 5. Naskah dinas yang berkaitan dengan monev program perguruan + tinggi. +

    +
    +

    PR.06

    +
    +

    + Ketentuan/kebijakan yang + menyangkut penyusunan, + pelaksanaan dan pertanggungjawaban anggaran +

    +

    1. Pedoman/panduan/SOP penyusunan anggaran;

    +

    2. Pedoman/panduan/SOP pelaksanaan anggaran;

    +

    3. Pedoman/panduan/SOP pertanggungjawaban anggaran;

    +

    + 4. Naskah dinas yang berkaitan dengan ketentuan/kebijakan yang + menyangkut penyusunan, pelaksanaan dan pertanggungjawaban + anggaran. +

    +
    +

    HK

    +
    +

    HUKUM

    +
    +

    HK.00

    +
    +

    + Peraturan Perundang-undangan terkait Perguruan Tinggi +

    +

    1. Peraturan Pemerintah;

    +

    2. Peraturan Presiden;

    +

    3. Keputusan Presiden;

    +

    4. Instruksi Presiden;

    +

    5. Peraturan Menteri;

    +

    6. Keputusan Menteri;

    +

    7. Instruksi Menteri;

    +

    + 8. Naskah dinas yang berkaitan dengan peraturan perundang-undangan + terkait PT yang bersangkutan. +

    +
    +

    HK.01

    +
    +

    Peraturan Rektor

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Draf peraturan;

    +

    5. Master peraturan;

    +

    6. Naskah dinas yang berkaitan dengan peraturan Rektor.

    +
    +

    HK.02

    +
    +

    Keputusan Rektor

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Draf SK;

    +

    5. Master SK;

    +

    6. Naskah dinas yang berkaitan dengan Keputusan Rektor.

    +
    +

    HK.03

    +
    +

    + Peraturan Dekan/Direktur Pascasarjana/Ketua Lembaga +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Draf peraturan;

    +

    5. Master peraturan;

    +

    + 6. Naskah dinas yang berkaitan dengan peraturan dekan/direktur + pascasarjana/ketua lembaga. +

    +
    +

    HK.04

    +
    +

    + Keputusan Dekan /Direktur Pascasarjana/Ketua Lembaga +

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Draf SK;

    +

    5. Master SK;

    +

    + 6. Naskah dinas yang berkaitan dengan keputusan dekan/direktur + pascasarjana/ketua lembaga. +

    +
    +

    HK.05

    +
    +

    Instruksi Rektor

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Draf instruksi;

    +

    5. Master instruksi;

    +

    6. Naskah dinas yang berkaitan dengan instruksi rektor.

    +
    +

    HK.06

    +
    +

    Pedoman, SOP, Juklak, Juknis dan Protap

    +

    1. Surat undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Draf pedoman, sop, juklak, juknis dan protap;

    +

    5. Master pedoman, sop, juklak, juknis dan protap;

    +

    + 6. Naskah dinas yang berkaitan dengan pedoman, standar, juklak, + juknis dan protap tingkat PT. +

    +
    +

    HK.07

    +
    +

    + MoU, Kontrak, + Kerjasama + (Rancangan/draft sampai + dengan rancangan final, + Telaah/kajian/evaluasi +

    +

    + dan pertimbangan hukum, Naskah asli yang ditandatangani, + Risalah pembuatan MoU, Kontrak, perjanjian) +

    +
    +

    HK.07.00

    +
    +

    + Dalam Negeri +

    +

    + 1. Keprotokolan penandatanganan MoU, MoA dan PKS (undangan, daftar + hadir, konsumsi, akomodasi, dll); +

    +

    2. MoU/nota kesepahaman;

    +

    3. MoA/nota persetujuan;

    +

    4. Perjanjian Kerjasama (PKS);

    +

    + 5. Naskah dinas yang berkaitan dengan MoU, Kontrak Kerjasama + (rancangan/draft sampai dengan rancangan final, + telaah/kajian/evaluasi dan pertimbangan hukum, naskah asli yang + ditandatangani, risalah pembuatan MoU, kontrak, perjanjian) dalam + negeri. +

    +
    +

    HK.07.01

    +
    +

    + Luar Negeri +

    +

    + 1. Keprotokolan penandatanganan MoU, MoA dan PKS (undangan, daftar + hadir, konsumsi, akomodasi, dll); +

    +

    2. MoU/nota kesepahaman;

    +

    3. MoA/nota persetujuan;

    +

    4. Perjanjian Kerjasama (PKS);

    +

    + 5. Naskah dinas yang berkaitan dengan MoU, Kontrak Kerjasama + (rancangan/draft sampai dengan rancangan final, + telaah/kajian/evaluasi dan pertimbangan hukum, naskah asli yang + ditandatangani, risalah +

    +

    pembuatan MoU, kontrak, perjanjian) luar negeri.

    +
    +

    HK.08

    +
    +

    Sosialisasi/Penyuluhan dan Pembinaan Hukum

    +
    +

    HK.08.00

    +
    +

    + Sosialisasi/ Penyuluhan Hukum +

    +

    + 1. Administrasi sosialisasi/penyuluhan hukum (surat undangan, + surat narasumber, materi, transportasi, akomodasi, kontribusi, + daftar hadir, surat tugas peserta dan narasumber, laporan, dll); +

    +

    + 2. Naskah dinas yang berkaitan dengan sosialisasi/penyuluhan + hukum. +

    +
    +

    HK.08.01

    +
    +

    + Pembinaan Hukum +

    +

    + 1. Administrasi pembinaan/pendidikan hukum (surat undangan, surat + narasumber, materi, transportasi, akomodasi, kontribusi, daftar + hadir, surat tugas peserta dan narasumber, laporan, dll); +

    +

    2. Naskah dinas yang berkaitan dengan pembinaan hukum.

    +
    +

    HK.09

    +
    +

    Bantuan dan Konsultasi Hukum/Advokasi

    +
    +

    HK.09.00

    +
    +

    + Pidana +

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan/penolakan;

    +

    3. Hasil bantuan dan konsultasi hukum/advokasi pidana;

    +

    + 4. Naskah dinas yang berkaitan dengan bantuan dan konsultasi + hukum/ advokasi pidana. +

    +
    +

    HK.09.01

    +
    +

    + Perdata +

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan/penolakan;

    +

    3. Hasil bantuan dan konsultasi hukum/advokasi perdata;

    +

    + 4. Naskah dinas yang berkaitan dengan bantuan dan konsultasi + hukum/advokasi perdata. +

    +
    +

    HK.09.02

    +
    +

    + Tata Usaha Negara +

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan/penolakan;

    +

    + 3. Hasil bantuan dan konsultasi hukum/advokasi tata usaha negara; +

    +

    + 4. Naskah dinas yang berkaitan dengan bantuan dan konsultasi + hukum/advokasi tata usaha negara. +

    +
    +

    HK.09.03

    +
    +

    + Ketenagakerjaan +

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan/penolakan;

    +

    + 3. Surat permohonan KITAS dan izin masuk kembali tenaga kerja + asing; +

    +

    + 4. Hasil bantuan dan konsultasi hukum/advokasi ketenagakerjaan; +

    +

    + 5. Naskah dinas yang berkaitan dengan bantuan dan konsultasi + hukum/advokasi ketenagakerjaan. +

    +
    +

    HK.09.04

    +
    +

    + Internasional +

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan/penolakan;

    +

    3. Hasil bantuan dan konsultasi hukum/advokasi internasional;

    +

    + 4. Naskah dinas yang berkaitan dengan bantuan dan konsultasi + hukum/advokasi internasional. +

    +
    +

    HK.09.05

    +
    +

    + Agama +

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan/penolakan;

    +

    3. Hasil bantuan dan konsultasi hukum/advokasi agama;

    +

    + 4. Naskah dinas yang berkaitan dengan bantuan dan konsultasi + hukum/advokasi agama. +

    +
    +

    HK.10

    +
    +

    Kasus atau Sengketa Hukum

    +
    +

    HK.10.00

    +
    +

    + Pidana +

    +

    1. Surat gugatan;

    +

    2. Surat pemanggilan;

    +

    3. Surat kuasa khusus;

    +

    4. Putusan sidang;

    +

    5. Banding;

    +

    6. Tindak lanjut hasil sidang;

    +

    + 7. Naskah dinas yang berkaitan dengan kasus atau sengketa hukum + pidana. +

    +
    +

    HK.10.01

    +
    +

    + Perdata +

    +

    1. Surat gugatan;

    +

    2. Surat pemanggilan;

    +

    3. Surat kuasa khusus;

    +

    4. Putusan sidang;

    +

    5. Banding;

    +

    6. Tindak lanjut hasil sidang;

    +

    + 7. Naskah dinas yang berkaitan dengan kasus atau sengketa hukum + perdata. +

    +
    +

    HK.10.02

    +
    +

    + Tata Usaha Negara +

    +

    1. Surat gugatan;

    +

    2. Surat pemanggilan;

    +

    3. Surat kuasa khusus;

    +

    4. Putusan sidang;

    +

    5. Banding;

    +

    6. Tindak lanjut hasil sidang;

    +

    + 7. Naskah dinas yang berkaitan dengan kasus atau sengketa hukum + tata usaha negara. +

    +
    +

    HK.10.03

    +
    +

    + Arbitrase +

    +

    1. Surat gugatan;

    +

    2. Surat pemanggilan;

    +

    3. Surat kuasa khusus;

    +

    4. Putusan sidang;

    +

    5. Banding;

    +

    6. Tindak lanjut hasil sidang;

    +

    + 7. Naskah dinas yang berkaitan dengan kasus atau sengketa hukum + arbitrase. +

    +
    +

    HK.10.04

    +
    +

    + Sengketa Adat +

    +

    1. Surat gugatan;

    +

    2. Surat pemanggilan;

    +

    3. Surat kuasa khusus;

    +

    4. Putusan sidang;

    +

    5. Banding;

    +

    6. Tindak lanjut hasil sidang;

    +

    + 7. Naskah dinas yang berkaitan dengan kasus atau sengketa hukum + sengketa adat. +

    +
    +

    HK.11

    +
    +

    Perizinan

    +

    1. Surat permohonan;

    +

    2. Syarat perizinan;

    +

    3. Surat izin;

    +

    + 4. Naskah dinas yang berkaitan dengan perijinan non akademik sejak + permohonan sampai dengan diterbitkan surat ijin. +

    +
    +

    HK.12

    +
    +

    Doktrin/Pendapat Pakar

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan;

    +

    3. Hasil rekomendasi doktrin/pendapat pakar;

    +

    4. Naskah dinas yang berkaitan dengan doktrin/pendapat pakar.

    +
    +

    OT

    +
    +

    ORGANISASI DAN KETATALAKSANAAN

    +
    +

    OT.00

    +
    +

    Organisasi

    +
    +

    OT.00.00

    +
    +

    + Statuta, Anggaran Dasar, Anggaran Rumah Tangga +

    +

    1. Usulan tim penyusun;

    +

    2. Rapat koordinasi;

    +

    3. Notula Rapat;

    +

    4. Draf Statuta, AD/ART;

    +

    5. Surat permohonan persetujuan Senat Universitas;

    +

    6. Surat permohonan ke Menteri;

    +

    7. Naskah dinas yang berkaitan dengan statuta AD/ART.

    +
    +

    OT.00.01

    +
    +

    + Struktur Tugas dan Fungsi Organisasi +

    +

    1. Usulan pembentukan;

    +

    2. Usulan perubahan;

    + +

    3. Usulan pembubaran;

    +

    4. Hasil evaluasi kelembagaan;

    +

    5. Undangan;

    +

    6. Notula rapat;

    +

    7. SK pembentukan/perubahan/pembubaran;

    +

    + 8. Naskah dinas yang berkaitan dengan struktur tugas dan fungsi + organisasi. +

    +
    +

    OT.01

    +
    +

    Tata Laksana

    +
    +

    OT.01.00

    +
    +

    + Sistem dan Prosedur Kerja +

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Pedoman SOP;

    +

    + 4. Naskah dinas yang berkaitan dengan sistem dan prosedur kerja + (SOP). +

    +
    +

    OT.01.01

    +
    +

    + Pembakuan Sarana Kerja +

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Pedoman sarana kerja;

    +

    4. Naskah dinas yang berkaitan dengan pembakuan sarana kerja.

    +
    +

    OT.01.02

    +
    +

    + Kajian/Analisis Jabatan/Analisis Manajemen serta Penyuluhan + Ketatalaksanaan +

    +

    1. Analisis organisasi;

    +

    2. Uraian jabatan;

    +

    3. Analisis beban kerja;

    +

    4. Peta jabatan;

    +

    + 5. Naskah dinas yang berkaitan dengan kajian/analisis + jabatan/analisis manajemen serta penyuluhan ketatalaksanaan. +

    +
    +

    OT.01.03

    +
    +

    + Standar Kompetensi Jabatan +

    +

    1. Kompetensi jabatan struktural;

    +

    2. Kompetensi jabatan fungsional;

    +

    + 3. Naskah dinas yang berkaitan dengan standar kompetensi jabatan. +

    +
    +

    OT.02

    +
    +

    Internalisasi Reformasi Birokrasi

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. SK tim reformasi birokrasi;

    +

    4. Rancangan reformasi birokrasi;

    +

    5. Laporan;

    +

    + 6. Naskah dinas yang berkaitan dengan internalisasi reformasi + birokrasi. +

    +
    +

    KA

    +
    +

    KEARSIPAN

    +
    +

    KA.00

    +
    +

    Pembinaan Kearsipan

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Laporan;

    +

    + 4. Naskah dinas yang berkaitan dengan pembinaan kearsipan: + bimbingan teknis dan bimbingan konsultasi. +

    +
    +

    KA.01

    +
    +

    Pengelolaan Arsip Dinamis

    +
    +

    KA.01.00

    +
    +

    + Penciptaan +

    +

    1. Administrasi pencatatan: (buku agenda; kartu kendali);

    +

    2. Administrasi pendistribusian: (bukti ekspedisi);

    +

    + 3. Naskah dinas yang berkaitan dengan penciptaan arsip dinamis. +

    +
    +

    KA.01.01

    +
    +

    Penggunaan

    +

    1. Surat tugas;

    +

    2. Laporan;

    +

    + 3. Administrasi pengklasifikasian, pengamanan dan akses arsip + (folder/cabinet); +

    +

    4. Administrasi peminjaman arsip (bukti peminjaman);

    +

    + 5. Naskah dinas yang berkaitan dengan penggunaan arsip dinamis. +

    +
    +

    KA.02

    +
    +

    + Pemeliharaan Arsip (hard copy dan soft copy) +

    +
    +

    KA.02.00

    +
    +

    + Pemberkasan +

    +

    1. Daftar berkas;

    +

    2. Daftar isi berkas;

    +

    3. Naskah dinas yang berkaitan dengan pemberkasan.

    +
    +

    KA.02.01

    +
    +

    + Penataan Arsip Inaktif +

    +

    1. Pengaturan fisik;

    +

    2. Pengolahan informasi arsip;

    +

    3. Penyusunan daftar arsip inaktif;

    +

    4. Naskah dinas yang berkaitan dengan penataan arsip inaktif.

    +
    +

    KA.02.02

    +
    +

    + Penyimpanan (Fumigasi dll.) +

    +

    1. Skema penyimpanan;

    +

    2. Skema pengamanan;

    +

    3. Daftar arsip;

    +

    + 4. Pemeliharaan arsip dan ruang penyimpanan (seperti kegiatan + fumigasi); +

    +

    + 5. Naskah dinas yang berkaitan dengan penyimpanan (fumigasi dll.). +

    +
    +

    KA.02.03

    +
    +

    + Alih Media Arsip +

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. SK penetapan alih media arsip;

    + +

    4. Autentifikasi;

    +

    5. Berita Acara;

    +

    6. Daftar arsip yang dialihmediakan;

    +

    + 7. Naskah dinas yang berkaitan dengan berkas proses alih media + arsip. +

    +
    +

    KA.02.04

    +
    +

    + Program Arsip Vital dan Arsip Terjaga +

    +

    1. Identifikasi arsip;

    +

    2. Perlindungan dan pengamanan arsip;

    +

    3. Penyelamatan dan pemilihan arsip;

    +

    4. BA penyerahan salinan arsip vital dan arsip terjaga;

    +

    5. Daftar arsip vital dan arsip terjaga;

    +

    + 6. Naskah dinas yang berkaitan dengan berkas arsip vital dan arsip + terjaga. +

    +
    +

    KA.03

    +
    +

    Penyusutan Arsip

    +
    +

    KA.03.00

    +
    +

    + Pemindahan Arsip Inaktif +

    +

    1. BA pemindahan arsip;

    +

    2. Daftar arsip yang dipindahkan;

    +

    + 3. Naskah dinas yang berkaitan dengan pemindahan arsip inaktif. +

    +
    +

    KA.03.01

    +
    +

    + Pemusnahan Arsip +

    +

    1. Usulan tim pemusnahan arsip;

    +

    2. SK tim pemusnahan arsip;

    +

    3. Undangan;

    +

    4. Notula tim pemusnahan arsip pada saat melakukan penilaian;

    +

    + 5. Surat pertimbangan tim penilai arsip kepada pimpinan pencipta + arsip; +

    +

    6. Surat persetujuan dari pimpinan pencipta arsip;

    +

    + 7. Surat persetujuan dari Kepala ANRI (untuk retensi 10 Tahun ke + atas); +

    +

    + 8. Keputusan pimpinan pencipta arsip tentang pelaksanaan + pemusnahan; +

    +

    9. Berita acara pemusnahan;

    +

    10. Daftar arsip yang dimusnahkan;

    +

    11. Naskah dinas yang berkaitan dengan pemusnahan arsip.

    +
    +

    KA.03.02

    +
    +

    + Penyerahan Arsip Statis +

    +

    1. SK tim penyerahan arsip statis;

    +

    2. Notula tim penyerahan arsip pada saat melakukan penilaian;

    +

    + 3. Surat pertimbangan tim penilai arsip kepada pimpinan pencipta + arsip; +

    +

    4. Surat persetujuan dari lembaga kearsipan;

    +

    + 5. Surat pernyataan dari pimpinan bahwa berkas autentik, + terpercaya, utuh dan dapat digunakan; +

    +

    6. SK tentang pelaksanaan penyerahan arsip statis;

    +

    7. BA penyerahan arsip statis;

    +

    8. Daftar arsip yang diserahkan;

    +

    + 9. Naskah dinas yang berkaitan dengan penyerahan arsip statis; +

    +
    +

    TU

    +
    +

    KETATAUSAHAAN

    +
    +

    TU.00

    +
    +

    Permintaan Penggandaan Naskah dinas/Arsip

    +

    1. Surat permintaan;

    +

    2. Formulir isian;

    +

    3. Rekap permintaan penggandaan;

    +

    + 4. Naskah dinas yang berkaitan dengan permintaan penggandaan + naskah dinas/arsip. +

    +
    +

    TU.01

    +
    +

    Risalah /Notula Rapat

    +
    +

    TU.01.00

    +
    +

    + Rapat Staf +

    +

    1. Undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Naskah dinas yang berkaitan dengan rapat staf.

    +
    +

    TU.01.01

    +
    +

    + Rapat Pimpinan +

    +

    1. Undangan;

    +

    2. Daftar hadir;

    +

    3. Notula rapat;

    +

    4. Naskah dinas yang berkaitan dengan rapat pimpinan.

    +
    +

    RT

    +
    +

    KERUMAHTANGGAAN

    +
    +

    RT.00

    +
    +

    + Telekomunikasi: telepon, radio, teleks/fax, cctv, intranet dan + internet +

    +
    +

    RT.00.00

    +
    +

    + Penggunaan Peralatan +

    +

    1. Permohonan permintaan s.d. penggunaan fasilitas;

    +

    2. Persetujuan/penolakan;

    +

    3. Laporan penggunaan;

    +

    + 4. Naskah dinas yang berkaitan dengan telekomunikasi: telepon, + radio, teleks/fax, cctv, intranet dan internet mulai dari + permintaan hingga penggunaan. +

    +
    +

    RT.01

    +
    +

    Perjalanan Dinas

    +
    +

    RT.01.00

    +
    +

    + Dalam Negeri +

    +

    1. Surat tugas;

    +

    2. Surat Perjalanan Dinas (SPD);

    +

    3. Laporan;

    +

    + 4. Naskah dinas yang berkaitan dengan perjalanan dalam negeri. +

    +
    +

    RT.01.01

    +
    +

    + Luar Negeri +

    +

    1. Undangan;

    +

    2. Surat tugas;

    +

    3. Surat izin;

    +

    4. Surat pengantar pengurusan visa;

    + +

    5. Surat pengantar pengurusan SP setneg/setkab;

    +

    6. Surat rekomendasi pembuatan passport;

    +

    7. Surat pengantar pengurusan exit permit;

    +

    8. Surat perjalanan dinas (SPD);

    +

    9. Laporan;

    +

    + 10. Naskah dinas yang berkaitan dengan perjalanan luar negeri. +

    +
    +

    RT.02

    +
    +

    + Urusan Fasilitas Kantor (Ruang, Gedung, Taman, Spot + Iklan/Videotron, Kolam, Jalan, Kebun, Peralatan, + Mesin dll.) +

    +
    +

    RT.02.00

    +
    +

    + Penggunaan (Ruang, Gedung, Taman, Spot Iklan/Videotron, + Kolam, Jalan, Kebun, Peralatan, Mesin dll.) +

    +

    + 1. Surat permintaan/peminjaman/formulir isian penggunaan fasilitas + kantor; +

    +

    + 2. Naskah dinas yang berkaitan dengan penggunaan fasilitas kantor, + meliputi berkas tentang permintaan/peminjaman dan penggunaan + fasilitas kantor dari pengusulan sampai penggunaan. +

    +
    +

    RT.02.00

    +
    +

    + Sewa (Ruang, Gedung, Taman, Spot Iklan/Videotron, Kolam, + Jalan, Kebun, Peralatan, Mesin, dll.) +

    +

    1. Permohonan sewa fasilitas;

    +

    2. Persetujuan/penolakan;

    +

    3. Laporan penggunaan;

    +

    + 4. Naskah dinas yang berkaitan dengan sewa (ruang, gedung, taman, + spot iklan/videotron, kolam, jalan, kebun, peralatan, mesin, + dll.). +

    +
    +

    RT.03

    +
    +

    Pengurusan Kendaraan Dinas

    +
    +

    RT.03.00

    +
    +

    + Pengurusan Surat-Surat Kendaraan +

    +

    1. Surat kuasa kepemilikan kendaraan;

    +

    2. Pengurusan STNK;

    +

    3. Pengurusan BPKB;

    +

    + 4. Naskah dinas yang berkaitan dengan pengurusan surat- surat + kendaraan dinas. +

    +
    +

    RT.03.01

    +
    +

    + Pemeliharaan dan Perbaikan Kendaraan +

    +

    1. Usulan pemeliharaan dan perbaikan;

    +

    2. Laporan pemeliharaan dan perbaikan;

    +

    + 3. Naskah dinas yang berkaitan dengan pemeliharaan dan perbaikan. +

    +
    +

    RT.03.02

    +
    +

    + Pengurusan Kehilangan Kendaraan +

    +

    1. Laporan pengurusan kehilangan kendaraan;

    +

    + 2. Naskah dinas yang berkaitan dengan pengurusan kehilangan + kendaraan. +

    +
    +

    RT.04

    +
    +

    + Pemeliharaaan Ruangan, Gedung, Jalan, Drainase, Taman, Kebun, + Tanah, Peralatan, Mesin, dll. +

    +
    +

    RT.04.00

    +
    +

    + Pertamanan/Landscaping/Kebun/Tanah/dll. +

    +

    1. Usulan pemeliharaan fasilitas;

    +

    2. Laporan pemeliharaan;

    +

    + 3. Naskah dinas yang berkaitan dengan + pertamanan/landscaping/kebun/tanah. +

    +
    +

    RT.04.01

    +
    +

    + Perbaikan Ruangan/Gedung/Jalan/Drainase/dll. +

    +

    1. Usulan perbaikan fasilitas;

    +

    2. Laporan perbaikan;

    +

    + 3. Naskah dinas yang berkaitan dengan perbaikan ruangan/gedung +

    +
    +

    RT.04.02

    +
    +

    + Perbaikan Rumah Dinas/Wisma/Asrama/Rusunawa/Kantin/dll. +

    +

    1. Usulan perbaikan fasilitas;

    +

    2. Laporan perbaikan;

    +

    + 3. Naskah dinas yang berkaitan dengan perbaikan rumah dinas/wisma. +

    +
    +

    RT.04.03

    +
    +

    + Kebersihan Ruangan/Gedung/Jalan/Drainase/dll. +

    +

    1. Usulan perbaikan fasilitas;

    +

    2. Laporan perbaikan;

    +

    + 3. Naskah dinas yang berkaitan dengan kebersihan gedung dan taman +

    +
    +

    RT.05

    +
    +

    + Mekanikal dan Elektrikal (Jaringan/Instalasi Listrik, Air, Gas + dan Internet) +

    +
    +

    RT.05.00

    +
    +

    + Pemasangan Jaringan/Instalasi Listrik, Air, Gas dan + Internet +

    +

    1. Usulan pemasangan;

    +

    2. Permintaan pemasangan;

    +

    3. Surat perjanjian jual beli;

    +

    4. Gambar jaringan/instalasi;

    +

    5. Laporan;

    +

    + 6. Naskah dinas yang berkaitan dengan pemasangan + jaringan/instalasi listrik, air, gas dan internet. +

    +
    +

    RT.05.01

    +
    +

    + Pengelolaan Jaringan/Instalasi Listrik, Air, Gas, dan + Internet +

    +

    1. Permohonan tidak ada pemadaman;

    +

    2. Pemeriksaan berkala;

    +

    3. Perbaikan kerusakan;

    +

    4. Laporan;

    +

    + 5. Naskah dinas yang berkaitan dengan Pengelolaan + jaringan/intalasi listrik, air, gas dan komputer. +

    +
    +

    RT.06

    +
    +

    Keamanan dan Ketertiban/Sekuriti

    +
    +

    RT.06.00

    +
    +

    + Pengamanan/penjagaan dan pengawalan terhadap pejabat, rumah + dinas dan kawasan kampus (ruang, gedung, taman, spot + iklan/videotron, kolam, jalan, kebun, peralatan, mesin, + dll.) +

    +

    1. Surat tugas/penunjukan;

    +

    2. Laporan berkala;

    +

    + 3. Naskah dinas yang berkaitan dengan pengamanan/penjagaan dan + pengawalan terhadap pejabat, rumah dinas dan kawasan kampus + (ruang, gedung, taman, spot iklan/videotron, kolam, jalan, kebun, + peralatan, mesin, dll.) +

    +
    +

    RT.06.01

    +
    +

    + Ketertiban dan Keamanan +

    +

    1. Laporan Kehilangan, kerusakan, kecelakaan, gangguan;

    +

    + 2. Naskah dinas yang berkaitan dengan Ketertiban dan keamanan + kawasan kampus (ruang, gedung, +

    + +

    + taman, spot iklan/videotron, kolam, jalan, kebun, peralatan, + mesin, dll.) +

    +
    +

    RT.07

    +
    +

    Pengelolaan Parkir

    +

    1. Surat tugas/penunjukan;

    +

    2. Laporan berkala;

    +

    3. Naskah dinas yang berkaitan dengan pengelolaan parkir.

    +
    +

    RT.08

    +
    +

    + Pakaian Dinas/Seragam Pegawai, Satpam, Petugas Kebersihan, + Petugas Kesehatan dan Pegawai lainnya. +

    +

    + 1. Usulan kebutuhan pakaian dinas/seragam/batik khas instansi; +

    +

    2. Surat persetujuan desain seragam/batik khas instansi;

    +

    + 3. Naskah dinas yang berkaitan dengan pakaian dinas pegawai, + satpam, petugas kebersihan, petugas kesehatan dan pegawai lainnya. +

    +
    +

    RT.09

    +
    +

    Konsumsi, Transportasi dan Akomodasi

    +

    1. Surat permohonan;

    +

    2. Surat tugas driver;

    +

    3. Laporan;

    +

    + 4. Naskah dinas yang berkaitan dengan konsumsi, transportasi dan + akomodasi. +

    +
    +

    PL

    +
    +

    PERLENGKAPAN

    +
    +

    PL.00

    +
    +

    Rencana Kebutuhan Barang dan Jasa

    +
    +

    PL.00.00

    +
    +

    + Rencana Kebutuhan Unit Kerja +

    +

    1. Usulan rencana kebutuhan barang dan jasa unit kerja;

    +

    2. KAK, RAB, spek teknis, gambar teknik, brosur/katalog dll.;

    +

    + 3. Naskah dinas yang berkaitan dengan rencana kebutuhan unit + kerja. +

    +
    +

    PL.00.01

    +
    +

    + Rencana Kebutuhan Perguruan Tinggi +

    +

    1. Usulan rencana kebutuhan barang dan jasa universitas;

    +

    + 2. KAK, RAB, spek teknis, gambar teknik, brosur/katalog dll. ; +

    +

    3. Rencana umum pengadaan (RUP);

    +

    + 4. Naskah dinas yang berkaitan dengan rencana kebutuhan Perguruan + Tinggi. +

    +
    +

    PL.01

    +
    +

    Pengadaan Barang

    +
    +

    PL.01.00

    +
    +

    + Pengadaan Barang non Tender +

    +

    1. Rencana pelaksanaan pengadaan (KAK, HPS, draf Kontrak);

    +

    2. Dokumen pengadaan;

    +

    3. Undangan penawaran;

    +

    4. Undangan pengadaan langsung;

    +

    5. BA penjelasan pekerjaan;

    +

    6. BA pemasukan dan pembukaan penawaran;

    +

    7. BA evaluasi penelitian dokumen penawaran;

    +

    8. BA klarifikasi dan negosiasi harga penawaran;

    +

    9. BA hasil pengadaan langsung;

    +

    10. Surat penetapan pemenang;

    +

    11. Pengumuman pemenang;

    +

    12. Laporan hasil pengadaan langsung;

    +

    13. Surat penunjukan penyedia barang/jasa (SPPBJ);

    +

    14. Surat perjanjian kerja (SPK, kontrak);

    +

    15. Surat perintah pengiriman;

    +

    16. BA pemeriksaan;

    +

    17. BA serah terima;

    +

    18. BA pembayaran;

    +

    19. Surat permintaan pembayaran;

    +

    + 20. Naskah dinas yang berkaitan dengan pengadaan barang non + tender. +

    +
    +

    PL.01.01

    +
    +

    + Pengadaan Barang Melalui Tender +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan barang + melalui tender +

    +
    +

    PL.01.02

    +
    +

    + Pengadaan Barang Melalui Tender Cepat +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan barang + melalui tender cepat +

    +
    +

    PL.02

    +
    +

    Pengadaan Jasa Konstruksi

    +
    +

    PL.02.00

    +
    +

    + Pengadaan Jasa Konstruksi non Tender +

    +

    1. Rencana pelaksanaan pengadaan (KAK,HPS,draf Kontrak);

    +

    2. Dokumen pengadaan;

    +

    3. Undangan penawaran;

    +

    4. Undangan pengadaan langsung;

    +

    5. BA penjelasan pekerjaan;

    +

    6. BA pemasukan dan pembukaan penawaran;

    +

    7. BA evaluasi penelitian dokumen penawaran;

    +

    8. BA klarifikasi dan negosiasi harga penawaran;

    +

    9. BA hasil pengadaan langsung;

    +

    10. Surat penetapan pemenang;

    +

    11. Pengumuman pemenang;

    +

    12. Laporan hasil pengadaan langsung;

    +

    13. Surat penunjukan penyedia barang/jasa (SPPBJ);

    +

    14. Surat perjanjian kerja (SPK, kontrak);

    +

    15. Surat perintah pengiriman;

    +

    16. BA pemeriksaan;

    +

    17. BA serah terima;

    +

    18. BA pembayaran;

    +

    19. Surat permintaan pembayaran;

    + +

    + 20. Naskah dinas yang berkaitan dengan pengadaan jasa konstruksi + non tender. +

    +
    +

    PL.02.01

    +
    +

    + Pengadaan Jasa Konstruksi Melalui Tender +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan jasa + konstruksi melalui tender +

    +
    +

    PL.02.02

    +
    +

    + Pengadaan Jasa Konstruksi Melalui Tender Cepat +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan jasa + konstruksi melalui tender cepat +

    +
    +

    PL.03

    +
    +

    Pengadaan Jasa Lainnya

    +
    +

    PL.03.00

    +
    +

    + Pengadaan Jasa Lainnya non Tender +

    +

    1. Rencana pelaksanaan pengadaan (KAK,HPS,draf Kontrak);

    +

    2. Dokumen pengadaan;

    +

    3. Undangan penawaran;

    +

    4. Undangan pengadaan langsung;

    +

    5. BA penjelasan pekerjaan;

    +

    6. BA pemasukan dan pembukaan penawaran;

    +

    7. BA evaluasi penelitian dokumen penawaran;

    +

    8. BA klarifikasi dan negosiasi harga penawaran;

    +

    9. BA hasil pengadaan langsung;

    +

    10. Surat penetapan pemenang;

    +

    11. Pengumuman pemenang;

    +

    12. Laporan hasil pengadaan langsung;

    +

    13. Surat penunjukan penyedia barang/jasa (SPPBJ);

    +

    14. Surat perjanjian kerja (SPK, kontrak);

    +

    15. Surat perintah pengiriman;

    +

    16. BA pemeriksaan;

    +

    17. BA serah terima;

    +

    18. BA pembayaran;

    +

    19. Surat permintaan pembayaran;

    +

    + 20. Naskah dinas yang berkaitan dengan pengadaan jasa lainnya non + tender. +

    +
    +

    PL.03.01

    +
    +

    + Pengadaan Jasa Lainnya Melalui Tender +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan jasa + lainnya melalui tender +

    +
    +

    PL.03.02

    +
    +

    + Pengadaan Jasa Lainnya Melalui Tender Cepat +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan jasa + lainnya melalui tender cepat +

    +
    +

    PL.04

    +
    +

    Pengadaan Jasa Konsultansi

    +
    +

    PL.04.00

    +
    +

    + Pengadaan Jasa Konsultansi non Tender +

    +

    1. Rencana pelaksanaan pengadaan (KAK,HPS,draf Kontrak);

    +

    2. Dokumen pengadaan;

    +

    3. Undangan penawaran;

    +

    4. Undangan pengadaan langsung;

    +

    5. BA penjelasan pekerjaan;

    +

    6. BA pemasukan dan pembukaan penawaran;

    +

    7. BA evaluasi penelitian dokumen penawaran;

    +

    8. BA klarifikasi dan negosiasi harga penawaran;

    +

    9. BA hasil pengadaan langsung;

    +

    10. Surat penetapan pemenang;

    +

    11. Pengumuman pemenang;

    +

    12. Laporan hasil pengadaan langsung;

    +

    13. Surat penunjukan penyedia barang/jasa (SPPBJ);

    +

    14. Surat perjanjian kerja (SPK, kontrak);

    +

    15. Surat perintah pengiriman;

    +

    16. BA pemeriksaan;

    +

    17. BA serah terima;

    +

    18. BA pembayaran;

    +

    19. Surat permintaan pembayaran;

    +

    + 20. Naskah dinas yang berkaitan dengan pengadaan jasa konsultansi + tidak melalui tender +

    +
    +

    PL.04.01

    +
    +

    + Pengadaan Jasa Konsultan Melalui Tender +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan jasa + Konsultan melalui tender +

    +
    +

    PL.04.02

    +
    +

    + Pengadaan Jasa Konsultan Melalui Tender Cepat +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan jasa + Konsultan melalui tender cepat +

    +
    +

    PL.05

    +
    +

    Pengadaan Barang dan Jasa Sumber Dana APBN

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan barang + dan jasa sumber dana APBN +

    +
    +

    PL.06

    +
    +

    Pengadaan Barang dan Jasa Sumber Dana BLU

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengadaan barang + dan jasa sumber dana BLU +

    +
    +

    PL.07

    +
    +

    + Pengadaan Barang dan Jasa Sumber Dana Hibah/Pinjaman Luar + Negeri +

    +
    +

    PL.08

    +
    +

    + Pengadaan Barang dan Jasa Melalui Tukar Menukar +

    +

    1. Pengajuan tukar menukar barang dan jasa;

    +

    2. Berita acara tukar menukar barang dan jasa;

    +

    3. Berkas penawaran;

    +

    + 4. Naskah dinas yang berkaitan dengan Pengadaan barang dan jasa + melalui tukar menukar. +

    +
    +

    PL.09

    +
    +

    + Pengadaan Barang dan Jasa Melalui Pinjam Pakai +

    +

    1. Pengajuan pinjaman barang dan jasa;

    +

    2. Berita acara pinjaman barang dan jasa;

    +

    3. Berkas penawaran;

    +

    + 4. Naskah dinas yang berkaitan dengan pengadaan barang dan jasa + melalui pinjam pakai. +

    +
    +

    PL.10

    +
    +

    Pengadaan Barang dan Jasa Melalui Sewa

    +

    1. Pengajuan sewa barang dan jasa;

    +

    2. Berita acara sewa barang dan jasa;

    +

    3. Berkas penawaran;

    +

    + 4. Naskah dinas yang berkaitan dengan pengadaan barang dan jasa + melalui sewa. +

    +
    +

    PL.11

    +
    +

    Penyimpanan/Pergudangan

    +

    1. Tanda terima/surat pengantar pengiriman barang;

    +

    2. Surat pernyataan harga dan mutu barang;

    +

    3. Serah terima barang;

    +

    4. Buku penerimaan;

    +

    5. Buku persediaan barang/kartu stok barang;

    +

    + 6. Naskah dinas yang berkaitan dengan penyimpanan/pergudangan. +

    +
    +

    PL.12

    +
    +

    Penyaluran/Distribusi

    +

    + 1. Surat penerimaan barang dari unit kerja/formulir permintaan; +

    +

    + 2. Persetujuan sampai dengan surat perintah mengeluarkan barang + (SPMB); +

    +

    3. Berita acara serah terima barang;

    +

    4. Laporan dan berita acara mutasi barang;

    +

    5. Berita acara serah terima barang;

    +

    6. Naskah dinas yang berkaitan dengan penyaluran/distribusi.

    +
    +

    PL.13

    +
    +

    Inventarisasi Barang

    +
    +

    PL.13.00

    +
    +

    + Daftar Opname Fisik Barang Inventaris (DOFBI) +

    +

    1. Surat tugas;

    +

    2. Daftar opname;

    +

    + 3. Naskah dinas yang berkaitan dengan daftar opname fisik barang + inventaris (DOFBI). +

    +
    +

    PL.13.01

    +
    +

    + Kartu Inventaris Barang (KIB) +

    +

    1. Tanda Terima Barang;

    +

    2. Kartu Inventaris Barang;

    +

    + 3. Naskah dinas yang berkaitan dengan kartu inventaris barang + (KIB). +

    +
    +

    PL.13.02

    +
    +

    + Laporan SIMAK BMN +

    +

    1. Laporan barang persediaan;

    +

    2. Laporan bulanan;

    +

    3. Berita acara rekonsiliasi internal;

    +

    4. Laporan tengah tahunan/semester;

    +

    5. Berita acara rekonsiliasi eksternal;

    +

    6. Laporan tahunan;

    +

    7. Naskah dinas yang berkaitan dengan laporan SIMAK BMN.

    +
    +

    PL.14

    +
    +

    + Perbaikan/Pemeliharaan Aset Inventaris Kantor +

    +
    +

    PL.14.00

    +
    +

    + Perbaikan/Pemeliharaan Aset Bergerak +

    +

    1. Surat permintaan perbaikan/pemeliharaan;

    +

    2. Penawaran pada/dari rekanan;

    +

    3. Surat perintah kerja (SPK);

    +

    4. Berita acara penyelesaian pekerjaan;

    +

    + 5. Naskah dinas yang berkaitan dengan perbaikan/pemeliharaan aset + bergerak. +

    +
    +

    PL.14.01

    +
    +

    + Perbaikan/Pemeliharaan Aset Tidak Bergerak +

    +

    1. Surat permintaan perbaikan/pemeliharaan;

    +

    2. Penawaran pada/dari rekanan;

    +

    3. Surat perintah kerja (SPK);

    +

    4. Berita acara penyelesaian pekerjaan;

    +

    + 5. Naskah dinas yang berkaitan dengan perbaikan/pemeliharaan aset + tidak bergerak. +

    +
    +

    PL.15

    +
    +

    Penghapusan Aset Inventaris Kantor

    +
    +

    PL.15.00

    +
    +

    + Penghapusan Aset Bergerak +

    +

    1. Dokumen usulan penghapusan;

    +

    2. Panitia penghapusan;

    +

    3. Persetujuan/penolakan;

    +

    4. Berita Acara penghapusan barang;

    +

    5. SK penghapusan;

    +

    + 6. Naskah dinas yang berkaitan dengan penghapusan aset bergerak. +

    +
    +

    PL.15.01

    +
    +

    + Penghapusan Aset Tidak Bergerak +

    +

    1. Dokumen usulan penghapusan;

    +

    2. Panitia penghapusan;

    +

    3. Persetujuan/penolakan;

    +

    4. Berita Acara penghapusan barang;

    +

    5. SK penghapusan;

    +

    + 6. Naskah dinas-Naskah dinas yang berkaitan dengan penghapusan + aset tidak bergerak +

    +
    +

    PL.16

    +
    +

    Bukti-Bukti Kepemilikan Aset

    +

    1. Izin Mendirikan Bangunan (IMB);

    +

    2. Pajak Bumi Bangunan (PBB);

    +

    3. Bukti Pemilik Kendaraan Bermotor (BPKB);

    +

    4. Surat Tanda Nomor Kendaraan (STNK);

    +

    5. Sertifikat Tanah;

    +

    + 6. Gambar Masterplan Gedung dan Site Development (Jalan dan + Drainase); +

    +

    7. Gambar Jaringan Listrik;

    +

    8. Gambar Jaringan Internet;

    +

    9. Gambar Jaringan AC;

    +

    10. Izin Lingkungan;

    +

    11. Izin Genset;

    + +

    + 12. Naskah dinas yang berkaitan dengan bukti-bukti kepemilikan + aset. +

    +
    +

    PL.17

    +
    +

    Pemanfaatan Aset

    +
    +

    PL.17.00

    +
    +

    + Kertas Kerja Penghitungan Tarif +

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. SK Tarif;

    +

    + 4. Naskah dinas yang berkaitan dengan kertas kerja penghitungan + tarif. +

    +
    +

    PL.17.01

    +
    +

    + Perjanjian Kerjasama +

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Pengantar draf SPK;

    +

    4. SPK;

    +

    5. Naskah dinas yang berkaitan dengan perjanjian kerjasama.

    +
    +

    PL.18

    +
    +

    Penggunaan Aset

    +
    +

    PL.18.00

    +
    +

    + Izin Penggunaan Tanah +

    +

    1. Surat permohonan izin penggunaan tanah;

    +

    2. Surat persetujuan/penolakan izin penggunaan tanah;

    +

    3. Naskah dinas yang berkaitan dengan izin penggunaan tanah.

    +
    +

    PL.18.01

    +
    +

    + Izin Penggunaan Aset Selain Tanah +

    +

    1. Surat permohonan izin penggunaan aset selain tanah;

    +

    + 2. Surat persetujuan/penolakan izin penggunaan aset selain tanah; +

    +

    + 3. Naskah dinas yang berkaitan dengan izin penggunaan aset selain + tanah. +

    +
    +

    HM

    +
    +

    HUBUNGAN MASYARAKAT (HUMAS)

    +
    +

    HM.00

    +
    +

    Keprotokolan

    +
    +

    HM.00.00

    +
    +

    + Upacara +

    +

    1. Undangan;

    +

    2. Susunan acara;

    +

    3. Sambutan/pidato;

    +

    + 4. Naskah dinas yang berkaitan dengan kegiatan protokoler termasuk + upacara bendera, upacara hari besar, upacara pelantikan, serah + terima jabatan, peresmian dll. +

    +
    +

    HM.00.01

    +
    +

    + Kunjungan Kedinasan +

    +

    1. Surat permohonan kunjungan dinas;

    +

    2. Surat persetujuan kunjungan dinas;

    +

    3. Undangan kunjungan dinas;

    +

    4. Laporan hasil kunjungan dinas;

    +

    + 5. Naskah dinas yang berkaitan dengan kegiatan kunjungan + kedinasan. +

    +
    +

    HM.00.02

    +
    +

    + Dies Natalis +

    +

    1. Usulan kepanitian dies natalis;

    +

    2. SK panitia dies natalis;

    +

    3. Laporan dies natalis;

    +

    4. Naskah dinas yang berkaitan dengan dies natalis.

    +
    +

    HM.00.03

    +
    +

    + Agenda Kegiatan Pemimpin Perguruan Tinggi +

    +

    + 1. Jadwal kegiatan rektor, warek, dekan, wadek, ketua lembaga, + kepala biro, ketua senat dll.; +

    +

    + 2. Naskah dinas yang berkaitan dengan agenda kegiatan pemimpin + perguruan tinggi. +

    +
    +

    HM.00.04

    +
    +

    + Daftar Nama dan Alamat Pejabat +

    +

    1. Daftar nama dan alamat pejabat;

    +

    + 2. Naskah dinas yang berkaitan dengan daftar nama dan alamat + pejabat. +

    +
    +

    HM.00.05

    +
    +

    + Naskah dinastasi/liputan kegiatan pimpinan (rektor, warek, + dekan, wadek, ketua lembaga, kepala biro, ketua senat dll. + atau yang sejajar) dalam acara kedinasan dan + peristiwa-peristiwa dalam berbagai +

    +

    + media: kertas/foto/video/rekaman +

    +

    1. Hasil dokumentasi;

    +

    2. Hasil liputan kegiatan pimpinan;

    +

    + 3. Naskah dinas yang berkaitan dengan naskah dinastasi/liputan + kegiatan pimpinan (rektor, warek, dekan, +

    +

    + wadek, ketua lembaga, kepala biro, ketua senat dll. atau yang + sejajar) dalam acara kedinasan dan peristiwa-peristiwa dalam + berbagai media: kertas/foto/video/rekaman. +

    +
    +

    HM.00.06

    +
    +

    + Pengumpulan Pengolahan dan Penyajian Informasi + Kelembagaan +

    +

    1. Klliping koran;

    +

    2. Brosur/leaflet/poster;

    +

    3. Pengumuman/pemberitaan;

    +

    + 4. Naskah dinas yang berkaitan dengan pengumpulan pengolahan dan + penyajian informasi kelembagaan. +

    +
    +

    HM.01

    +
    +

    Hubungan Antar Lembaga

    +
    +

    HM.01.00

    +
    +

    + Hubungan Pemerintahan ( Eksekutif, Yudikatif, Legislatif) +

    +

    1. Undangan/surat permohonan;

    +

    2. Notula rapat;

    +

    3. Draf MoU/Perjanjian;

    +

    4. Mou/Perjanjian;

    +

    + 5. Naskah dinas yang berkaitan dengan hubungan pemerintahan + (Eksekutif, Yudikatif, Legislatif). +

    +
    +

    HM.01.01

    +
    +

    + Hubungan antar perguruan tinggi/Sekolah termasuk magang, + pendidikan sistem ganda (PSG), praktek + kerja lapangan (PKL) +

    +

    1. Surat permohonan magang/PSG/PKL;

    +

    2. Surat persetujuan magang/PSG/PKL;

    +

    3. Daftar hadir;

    +

    4. Laporan;

    + +

    + 5. Naskah dinas yang berkaitan dengan hubungan antar perguruan + tinggi/Sekolah termasuk magang, pendidikan sistem ganda (PSG), + praktek kerja lapangan (PKL). +

    +
    +

    HM.01.02

    +
    +

    + Forum Kehumasan/Bakohumas/Perhumas +

    +

    1. Dokumen kegiatan;

    +

    2. Laporan kegiatan;

    +

    + 3. Naskah dinas yang berkaitan dengan forum + kehumasan/bakohumas/perhumas. +

    +
    +

    HM.01.03

    +
    +

    + Hubungan dengan Media Massa +

    +

    1. Siaran pers/konferensi pers/press release;

    +

    2. Kunjungan wartawan/peliputan/wawancara;

    +

    + 3. Naskah dinas yang berkaitan dengan hubungan dengan media massa. +

    +
    +

    HM.01.04

    +
    +

    + Hubungan dengan Pihak Swasta/LSM/Ormas/Orpol +

    +

    1. Surat permohonan;

    +

    2. Surat persetujuan;

    +

    3. Daftar hadir;

    +

    4. Notula;

    +

    + 5. Naskah dinas yang berkaitan dengan hubungan dengan pihak + swasta/Lembaga Swadaya Masyarakat (LSM) /organisasi + masyarakat/organisasi politik. +

    +
    +

    HM.01.05

    +
    +

    + Penerbitan Majalah, Buletin, Koran, Web Institusi, Medsos + Institusi +

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Materi/master untuk media cetak/media elektronik;

    +

    + 4. Naskah dinas-Naskah dinas yang berkaitan dengan Penerbitan + majalah, buletin, koran, web institusi, medsos institusi. +

    +
    +

    HM.01.06

    +
    +

    + Publikasi Melalui Media Cetak maupun Elektronik +

    +

    5. Undangan;

    +

    6. Notula rapat;

    +

    7. Materi/master untuk media cetak/media elektronik;

    +

    + 8. Naskah dinas yang berkaitan dengan publikasi melalui media + cetak maupun elektronik. +

    +
    +

    HM.01.07

    +
    +

    + Pameran, Sayembara, Festival, dll. +

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Proposal/penawaran;

    +

    4. Surat sponsorship;

    +

    5. Surat izin;

    +

    6. Materi pameran;

    +

    7. Laporan;

    +

    + 8. Naskah dinas yang berkaitan dengan pameran, sayembara, + festival, dll. +

    +
    +

    HM.01.08

    +
    +

    + Penghargaan dan Cinderamata +

    +

    1. Sertifikat/piagam penghargaan/cideramata;

    +

    + 2. Naskah dinas yang berkaitan dengan Penghargaan dan cinderamata + baik yang diterima oleh Perguruan Tinggi maupun yang diberikan + oleh Perguruan Tinggi +

    +
    +

    HM.01.09

    +
    +

    + Ucapan Terima Kasih, Ucapan Selamat, Bela Sungkawa, + Permohonan Maaf +

    +

    1. Surat/kartu ucapan terima kasih;

    +

    2. Surat/kartu ucapan bela sungkawa;

    +

    3. Surat/kartu ucapan selamat;

    +

    4. Surat ucapan permohonan maaf;

    +

    + 5. Naskah dinas yang berkaitan dengan ucapan terima kasih, ucapan + selamat, bela sungkawa, permohonan maaf. +

    +
    +

    HM.02

    +
    +

    Layanan Informasi Publik (PPID)

    +

    1. Surat permintaan informasi;

    +

    2. SOP permintaan informasi;

    +

    3. Aspirasi public;

    +

    4. Sanggahan informasi;

    +

    5. Sengketa informasi;

    +

    6. Mediasi;

    +

    7. Laporan layanan informasi public;

    +

    + 8. Naskah dinas yang berkaitan dengan Layanan Informasi Publik + (PPID). +

    +
    +

    DL

    +
    +

    PENDIDIKAN DAN PELATIHAN

    +
    +

    DL.00

    +
    +

    Pedoman Kediklatan

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Usulan pedoman;

    +

    4. Buku panduan/buku manual;

    +

    5. Naskah dinas yang berkaitan dengan pedoman kediklatan.

    +
    +

    DL.01

    +
    +

    Kurikulum dan Silabus Diklat

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. SK tim penyusun kurikulum dan silabus diklat;

    +

    4. Kurikulum dan silabus diklat;

    +

    + 5. Naskah dinas yang berkaitan dengan kurikulum dan silabus + diklat. +

    +
    +

    DL.02

    +
    +

    Jadwal Diklat

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Jadwal diklat;

    + +

    4. Naskah dinas yang berkaitan dengan jadwal diklat.

    +
    +

    DL.03

    +
    +

    Modul/Materi/Bahan Diklat

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. SK tim penyusun modul/materi/bahan diklat;

    +

    4. Modul/materi/bahan diklat;

    +

    + 5. Naskah dinas yang berkaitan dengan modul/materi/bahan diklat. +

    +
    +

    DL.04

    +
    +

    Panduan fasilitator

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. SK tim penyusun panduan fasilitator;

    +

    4. Panduan Fasilitator;

    +

    5. Naskah dinas yang berkaitan dengan panduan/fasilitator.

    +
    +

    DL.05

    +
    +

    Sosialisasi/Koordinasi Kebijakan Diklat

    +

    1. Undangan;

    +

    2. Notula rapat;

    +

    3. Materi sosialisasi;

    +

    4. Laporan;

    +

    + 5. Naskah dinas yang berkaitan dengan sosialisasi/koordinasi + kebijakan diklat. +

    +
    +

    DL.06

    +
    +

    Akreditasi Lembaga Diklat

    +

    1. Surat permohonan akreditasi;

    +

    2. Laporan hasil verifikasi lapangan;

    +

    3. Berita acara rapat tim penilai;

    +

    4. SK penetapan akreditasi;

    +

    5. Sertifikasi akreditasi;

    +

    6. Laporan akreditasi lembaga diklat;

    +

    + 7. Naskah dinas yang berkaitan dengan akreditasi lembaga diklat. +

    +
    +

    DL.07

    +
    +

    Sertifikasi Sumberdaya Manusia Kediklatan

    +

    1. Surat permohonan sertifikasi;

    +

    2. Laporan hasil verifikasi lapangan;

    +

    3. Berita acara rapat verifikasi;

    +

    4. Berita acara rapat tim penilai/asesor;

    +

    5. Surat keputusan penetapan sertifikasi;

    +

    6. Sertifikat dari sertifikasi;

    +

    7. Laporan sertifikasi individual;

    +

    + 8. Naskah dinas yang berkaitan dengan sertifikasi sumberdaya + manusia kediklatan. +

    +
    +

    DL.08

    +
    +

    Sistem Informasi Diklat

    +

    1. Daftar lembaga;

    +

    2. Daftar prasarana diklat;

    +

    3. Daftar sarana diklat;

    +

    4. Daftar pengelola diklat;

    +

    5. Daftar penyelenggara;

    +

    6. Daftar widyaiswara;

    +

    7. Daftar program diklat;

    +

    + 8. Naskah dinas yang berkaitan dengan sistem informasi diklat. +

    +
    +

    DL.09

    +
    +

    Registrasi Peserta Diklat

    +

    1. Surat permohonan kode register;

    +

    2. Buku induk register;

    +

    3. Surat penyampaian kode register;

    +

    + 4. Naskah dinas yang berkaitan dengan registrasi peserta diklat. +

    +
    +

    DL.10

    +
    +

    Rencana Tahunan Diklat

    +

    1. Rencana tahunan diklat;

    +

    2. Undangan rapat;

    +

    3. Notula rapat;

    +

    4. Daftar hadir;

    +

    5. Draf penyelenggaraan diklat;

    +

    6. Laporan rencana tahunan diklat;

    +

    7. Naskah dinas yang berkaitan dengan rencana tahunan diklat.

    +
    +

    DL.11

    +
    +

    Rencana Penyelenggaraan Diklat

    +

    1. Rencana penyelenggaran diklat;

    +

    2. Undangan rapat;

    +

    3. Notula rapat;

    +

    4. Daftar hadir;

    +

    5. Draf penyelenggaraan diklat;

    +

    6. Laporan rencana tahunan diklat;

    +

    + 7. Naskah dinas yang berkaitan dengan rencana penyelenggaraan + diklat. +

    +
    +

    DL.12

    +
    +

    Penyelenggaraan Diklat

    +

    1. Surat pemanggilan peserta;

    +

    2. SK tim penyelenggara;

    +

    3. SK tim pemateri/narasumber/widyaiswara;

    +

    4. Panduan diklat;

    +

    5. Sambutan pembukaan penyelenggara diklat;

    +

    6. Bahan ajar diklat;

    +

    7. Daftar hadir peserta diklat;

    + +

    8. Daftar hadir pemateri/narasumber/widyaiswara;

    +

    9. Isian formulir evaluasi peserta diklat;

    +

    10. Hasil formulasi evaluasi peserta diklat;

    +

    11. Sambutan penutup;

    +

    12. Laporan penyelenggaraan diklat;

    +

    + 13. Naskah dinas yang berkaitan dengan penyelenggaraan diklat. +

    +
    +

    DL.13

    +
    +

    Evaluasi Penyelenggaraan Diklat

    +

    1. Isian formulir evaluasi pemateri/narasumber/widyaiswara;

    +

    2. Isian formulir evaluasi panitia penyelenggara;

    +

    3. Laporan evaluasi penyelenggaraan diklat;

    +

    + 4. Naskah dinas yang berkaitan dengan evaluasi penyelenggaraan + diklat. +

    +
    +

    DL.14

    +
    +

    Registrasi Alumni Diklat

    +

    1. Surat permohonan nomor register;

    +

    2. Buku register;

    +

    3. Surat penyampaian kode register;

    +

    4. Salinan STTPL/sertifikat;

    +

    5. Buku kenangan;

    +

    + 6. Naskah dinas yang berkaitan dengan registrasi alumni diklat. +

    +
    +

    DL.15

    +
    +

    Evaluasi Alumni Pasca Diklat

    +

    1. Isian formulir evaluasi alumni pasca diklat;

    +

    2. Laporan evaluasi pasca diklat;

    +

    + 3. Naskah dinas yang berkaitan dengan evaluasi alumni pasca + diklat. +

    +
    +

    DL.16

    +
    +

    Observasi Lapangan

    +

    1. Surat keterangan observasi lapangan;

    +

    2. Surat persetujuan;

    +

    3. Surat tugas;

    +

    4. Jadwal observasi;

    +

    5. Laporan;

    +

    6. Naskah dinas yang berkaitan dengan observasi lapangan.

    +
    +

    DL.17

    +
    +

    Seminar/Loka Karya/Workshop/FGD/Bimtek

    +

    1. Undangan rapat;

    +

    2. Notula rapat;

    +

    3. Daftar hadir;

    +

    4. SK tim panitia;

    +

    5. Rencana seminar/ lokakarya/workshop/FGD/Bimtek;

    +

    6. Daftar hadir peserta;

    +

    7. Daftar hadir pemateri/narasumber;

    +

    8. Materi seminar/ lokakarya/workshop/FGD/Bimtek;

    +

    9. Laporan;

    +

    + 10. Naskah dinas yang berkaitan dengan seminar/ + lokakarya/workshop/FGD/bimtek. +

    +
    +

    TI

    +
    +

    TEKNOLOGI INFORMASI DAN KOMUNIKASI

    +
    +

    TI.00

    +
    +

    Organisasi TI

    +
    +

    TI.00.00

    +
    +

    + Rencana Strategis TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Rencana Strategis + TI +

    +
    +

    TI.00.01

    +
    +

    + Enterprise Architecture +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Enterprise + Architecture +

    +
    +

    TI.00.02

    +
    +

    + Tata Kelola Teknologi Informasi +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Tata Kelola + Teknologi Informasi +

    +
    +

    TI.00.03

    +
    +

    + Perencanaan IT +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Perencanaan IT +

    +
    +

    TI.01

    +
    +

    Sistem Informasi

    +
    +

    TI.01.00

    +
    +

    + Perencanaan dan Analisis Sistem +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Perencanaan dan + Analisis Sistem +

    +
    +

    TI.01.01

    +
    +

    + Perancangan Sistem +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Perancangan Sistem +

    +
    +

    TI.01.02

    +
    +

    + Pembangunan dan Implementasi Sistem +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pembangunan dan + Implementasi Sistem +

    +
    +

    TI.01.03

    +
    +

    + Pemeliharaan Sistem Informasi +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pemeliharaan + Sistem Informasi +

    +
    +

    TI.01.04

    +
    +

    + Naskah dinastasi Sistem Informasi +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Naskah dinastasi + Sistem Informasi +

    +
    +

    TI.02

    +
    +

    Manajemen Layanan Teknologi Informasi

    +
    +

    TI.02.00

    +
    +

    + Desain Strategi Layanan +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Desain Strategi + Layanan +

    +
    +

    TI.02.01

    +
    +

    + Rancangan Layanan +

    +

    1. Undangan sosialisasi aplikasi;

    +

    2. Daftar hadir;

    +

    3. Modul rancangan aplikasi layanan;

    +

    4. Naskah dinas yang berkaitan dengan rancangan layanan

    +
    +

    TI.02.02

    +
    +

    + Transisi Layanan +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Transisi Layanan +

    +
    +

    TI.02.03

    +
    +

    + Layanan Operasional +

    +

    + 1. Surat permintaan username/password/domain/hosting/server dll.; +

    +

    2. Surat perpanjangan domain;

    +

    3. Naskah dinas yang berkaitan dengan layanan operasional.

    +
    +

    TI.03

    +
    +

    Pengelolaan Data

    +
    +

    TI.03.00

    +
    +

    + Tata Kelola Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Tata Kelola Data +

    +
    +

    TI.03.01

    +
    +

    + Pengelolaan Arsitektur Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengelolaan + Arsitektur Data +

    +
    +

    TI.03.02

    +
    +

    + Pengembangan Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengembangan Data +

    +
    +

    TI.03.03

    +
    +

    + Pengelolaan Pengoperasian Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengelolaan + Pengoperasian Data +

    +
    +

    TI.03.04

    +
    +

    + Pengelolaan Keamanan Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengelolaan + Keamanan Data +

    +
    +

    TI.03.05

    +
    +

    + Pengelolaan Kualitas Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengelolaan + Kualitas Data +

    +
    +

    TI.03.06

    +
    +

    + Pencadangan (Backup) Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pencadangan + (Backup) Data +

    +
    +

    TI.04

    +
    +

    Pengolahan Data

    +
    +

    TI.04.00

    +
    +

    + Perencanaan Pengolahan Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Perencanaan + Pengolahan Data +

    +
    +

    TI.04.01

    +
    +

    + Persiapan Pengolahan Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Persiapan + pengolahan Data +

    +
    +

    TI.04.02

    +
    +

    + Pelaksanaan Pengolahan Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pelaksanaan + Pengolahan Data +

    +
    +

    TI.04.03

    +
    +

    + Monitoring dan Evaluasi Pengolahan Data +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Monitoring dan + Evaluasi Pengolahan Data +

    +
    +

    TI.05

    +
    +

    Jaringan dan Komunikasi

    +
    +

    TI.05.00

    +
    +

    + Analisis Jaringan Komputer +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Analisis Jaringan + Komputer +

    +
    +

    TI.05.01

    +
    +

    + Perancangan Jaringan Komputer +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Perancangan + Jaringan Komputer +

    +
    +

    TI.05.02

    +
    +

    + Implementasi Jaringan Komputer +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Implementasi + Jaringan Komputer +

    +
    +

    TI.05.03

    +
    +

    + Pemeliharaan Jaringan +

    +

    1. Surat permohonan perbaikan;

    +

    2. Laporan kerusakan;

    +

    3. Naskah dinas yang berkaitan dengan pemeliharaan jaringan.

    +
    +

    TI.05.04

    +
    +

    + Keamanan Jaringan +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Keamanan Jaringan +

    +
    +

    TI.06

    +
    +

    Manajemen Fasilitas TI

    +
    +

    TI.06.00

    +
    +

    + Perencanaan fasilitas TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Perencanaan + fasilitas TI +

    +
    +

    TI.06.01

    +
    +

    + Pengoperasian dan Evaluasi Fasilitas TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengoperasian dan + evaluasi fasilitas TI +

    +
    +

    TI.06.02

    +
    +

    + Pemeliharaan Fasilitas TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pemeliharaan + fasilitas TI +

    +
    +

    TI.07

    +
    +

    Audit TI

    +
    +

    TI.07.00

    +
    +

    + Perencanaan Audit TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Perencanaan Audit + TI +

    +
    +

    TI.07.01

    +
    +

    + Tinjauan Awal Audit TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Tinjauan Awal + Audit TI +

    +
    +

    TI.07.02

    +
    +

    + Analisis Data Audit TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Analisis data + Audit TI +

    +
    +

    TI.07.03

    +
    +

    + Evaluasi Temuan +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Evaluasi Temuan +

    +
    +

    TI.08

    +
    +

    Manajemen Risiko TI

    +
    +

    TI.08.00

    +
    +

    + Identifikasi risiko TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Identifikasi + risiko TI +

    +
    +

    TI.08.01

    +
    +

    + Penilaian Risiko TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Penilaian risiko + TI +

    +
    +

    TI.08.02

    +
    +

    + Pengendalian Risiko TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pengendalian + Risiko TI +

    +
    +

    TI.08.03

    +
    +

    + Pemantauan dan Evaluasi Penanganan Risiko TI +

    +

    + Naskah dinas-Naskah dinas yang berkaitan dengan Pemantauan dan + Evaluasi Penanganan Risiko TI +

    +
    +

    TI.09

    +
    +

    Pemetaan TI

    +

    Naskah dinas-Naskah dinas yang berkaitan dengan Pemetaan TI

    +
    +

    PA

    +
    +

    PENGAWASAN

    +
    +

    PA.00

    +
    +

    Rencana Pengawasan

    +
    +

    PA.00.00

    +
    +

    + Rencana Strategis Pengawasan +

    +

    1. Penyusunan rencana strategis;

    +

    + 2. Naskah dinas yang berkaitan dengan rencana strategis + pengawasan. +

    +
    +

    PA.00.01

    +
    +

    + Rencana Kinerja Tahunan +

    +

    1. Penetapan sasaran kinerja;

    +

    + 2. Naskah dinas yang berkaitan dengan rencana kinerja tahunan. +

    +
    +

    PA.00.02

    +
    +

    + Penetapan Kinerja Tahunan +

    +

    1. Laporan evaluasi capaian kinerja tahunan;

    +

    + 2. Naskah dinas yang berkaitan dengan evaluasi penetapan kinerja + tahunan. +

    +
    +

    PA.00.03

    +
    +

    + Rakor Pengawasan Tingkat Perguruan Tinggi +

    +

    1. Undangan rakor;

    +

    2. Notula rakor;

    +

    3. Daftar hadir;

    +

    4. Hasil keputusan rakor;

    +

    + 5. Naskah dinas yang berkaitan dengan rakor pengawasan tingkat + perguruan tinggi. +

    +
    +

    PA.00.04

    +
    +

    + Rakor Pengawasan Tingkat Nasional +

    +

    1. Undangan rakor;

    +

    2. Notula rakor;

    +

    3. Daftar hadir;

    +

    4. Hasil keputusan rakor;

    +

    + 5. Naskah dinas yang berkaitan dengan rakor pengawasan tingkat + nasional. +

    +
    +

    PA.01

    +
    +

    Program Kerja Pengawasan

    +
    +

    PA.01.00

    +
    +

    + Program Pembinaan/Fasilitasi Aparat Pengawasan Pendidikan +

    +

    + 1. Rencana program pembinaan/fasilitasi aparat pengawasan + pendidikan; +

    +

    + 2. Laporan program pembinaan/fasilitasi aparat pengawasan + pendidikan; +

    +

    + 3. Naskah dinas yang berkaitan dengan program pembinaan/fasilitasi + aparat pengawasan pendidikan. +

    +
    +

    PA.01.01

    +
    +

    + Program Konsultasi dan Koordinasi Pengawasan Regional +

    +

    + 1. Rencana program konsultasi dan koordinasi pengawasan regional; +

    +

    + 2. Laporan program konsultasi dan koordinasi pengawasan regional; +

    +

    + 3. Naskah dinas yang berkaitan dengan program konsultasi dan + koordinasi pengawasan regional. +

    +
    +

    PA.01.02

    +
    +

    + Program Pemantauan Hasil Pengawasan dan Pemeriksaan +

    +

    + 1. Rencana program pemantauan hasil pengawasan dan pemeriksaan; +

    +

    + 2. Laporan program pemantauan hasil pengawasan dan pemeriksaan. +

    +

    + 3. Naskah dinas yang berkaitan dengan program pemantauan hasil + pengawasan dan pemeriksaan. +

    +
    +

    PA.01.03

    +
    +

    + Program AKIP unit kerja di lingkungan Perguruan Tinggi +

    +

    1. Rencana program AKIP unit kerja di lingkungan universitas;

    +

    2. Laporan program AKIP unit kerja di lingkungan universitas;

    +

    + 3. Naskah dinas yang berkaitan dengan program AKIP unit kerja di + lingkungan universitas. +

    +
    +

    PA.01.04

    +
    +

    + Program AKIP Perguruan Tinggi +

    +

    1. Rencana program AKIP perguruan tinggi;

    +

    2. Laporan program AKIP perguruan tinggi;

    +

    + 3. Naskah dinas yang berkaitan dengan program AKIP perguruan + tinggi. +

    +
    +

    PA.02

    +
    +

    Pelaksanaan Pengawasan

    +
    +

    PA.02.00

    +
    +

    + Pengawasan Internal +

    +

    1. Surat tugas/penunjukan;

    +

    2. Surat pemberitahuan/peringatan/pemanggilan;

    +

    3. Laporan hasil audit (LHA),

    +

    + 4. Laporan hasil pemeriksaan (LHP), laporan hasil evaluasi (LHE), + laporan akuntan (LA), laporan auditor independen (LAI), yang + memerlukan tindak lanjut (TL) Laporan hasil audit (LHA), laporan + hasil pemeriksaan (LHP), laporan hasil evaluasi (LHE), laporan + akuntan (LA), laporan auditor independen (LAI), yang tidak + memerlukan tindak lanjut (TL); +

    +

    + 5. Laporan hasil audit investigasi (LHAI) yang mengandung tindak + pidana korupsi (TPK) dan memerlukan tindak lanjut; +

    +

    6. Laporan pemutakhiran data/rekonsiliasi;

    +

    7. Laporan kegiatan pendampingan penyusunan;

    +

    8. Laporan keuangan dan review;

    +

    9. Laporan pembinaan/fasilitasi aparat pengawasan pendidikan;

    +

    10. Laporan forum konsultasi dan koordinasi pengawasan;

    +

    11. Laporan hasil studi kebijakan pengawasan pendidikan;

    +

    + 12. Laporan evaluasi kinerja pada unit kerja di lingkungan + perguruan tinggi; +

    +

    + 13. Laporan evaluasi kinerja perguruan tinggi yang memerlukan + tindak lanjut; +

    +

    + 14. Laporan evaluasi kinerja perguruan tinggi yang tidak + memerlukan tindak lanjut; +

    +

    + 15. Laporan hasil audit investigasi (LHAI) yang mengandung tindak + pidana korupsi (TPK) dan tidak memerlukan tindak lanjut; +

    +

    16. Naskah dinas yang berkaitan dengan pengawasan internal.

    +
    +

    PA.02.01

    +
    +

    + Pengawasan Eksternal +

    +

    1. Surat tugas/penunjukan;

    +

    2. Surat pemberitahuan/peringatan/pemanggilan;

    +

    3. Laporan hasil audit (LHA),

    +

    + 4. Laporan hasil pemeriksaan (LHP), laporan hasil evaluasi (LHE), + laporan akuntan (LA), laporan auditor independen (LAI), yang + memerlukan tindak lanjut (TL) Laporan hasil audit (LHA), laporan + hasil pemeriksaan (LHP), laporan hasil evaluasi (LHE), laporan + akuntan (LA), laporan auditor independen (LAI), yang tidak + memerlukan tindak lanjut (TL); +

    +

    + 5. Laporan hasil audit investigasi (LHAI) yang mengandung tindak + pidana korupsi (TPK) dan memerlukan tindak lanjut; +

    +

    6. Laporan pemutakhiran data/rekonsiliasi;

    +

    7. Laporan kegiatan pendampingan penyusunan;

    + +

    8. Laporan keuangan dan review;

    +

    9. Laporan pembinaan/fasilitasi aparat pengawasan pendidikan;

    +

    10. Laporan forum konsultasi dan koordinasi pengawasan;

    +

    11. Laporan hasil studi kebijakan pengawasan pendidikan;

    +

    + 12. Laporan evaluasi kinerja pada unit kerja di lingkungan + perguruan tinggi; +

    +

    + 13. Laporan evaluasi kinerja perguruan tinggi yang memerlukan + tindak lanjut; +

    +

    + 14. Laporan evaluasi kinerja perguruan tinggi yang tidak + memerlukan tindak lanjut; +

    +

    + 15. Laporan hasil audit investigasi (LHAI) yang mengandung tindak + pidana korupsi (TPK) dan tidak memerlukan tindak lanjut; +

    +

    16. Laporan perkembangan penanganan pengaduan masyarakat;

    +

    17. Laporan perkembangan Barang Milik Negara;

    +

    18. Naskah dinas yang berkaitan dengan pengawasan eksternal.

    +
    +

    KP

    +
    +

    KEPEGAWAIAN

    +
    +

    KP.00

    +
    +

    Kebijakan di bidang manajemen kepegawaian

    +
    +

    KP.00.00

    +
    +

    + Pengkajian, Pengusulan Kebijakan, dan Naskah Akademik +

    +

    1. Penyusun kebijakan;

    +

    2. Perumusan kebijakan;

    +

    3. Pemberian masukan dan dukungan;

    +

    4. Penetapan kebijakan;

    +

    + 5. Naskah dinas yang berkaitan dengan kegiatan pengkajian, + pengusulan kebijakan, dan naskah akademik di bidang manajemen + kepegawaian. +

    +
    +

    KP.00.01

    +
    +

    + Penyusunan Kebijakan +

    +

    1. Bahan penyusunan kebijakan rencana kebutuhan;

    +

    2. Analisis kebijakan kebutuhan Aparatur Sipil Negara (ASN);

    +

    + 3. Analisis kebijakan Pegawai Pemerintah dengan Perjanjian Kerja + (P3K); +

    +

    + 4. Naskah dinas yang berkaitan dengan kegiatan penyusunan + kebijakan di bidang manajemen kepegawaian. +

    +
    +

    KP.00.02

    +
    +

    + Perumusan Kebijakan +

    +

    + 1. Pertimbangan teknis penetapan formasi Pendidik (ASN & P3K); +

    +

    + 2. Pertimbangan teknis penetapan formasi Tenaga Kependidikan (ASN + & P3K); +

    +

    + 3. Naskah dinas yang berkaitan dengan kegiatan perumusan kebijakan + di bidang manajemen kepegawaian. +

    +
    +

    KP.00.03

    +
    +

    + Pemberian Masukan dan Dukungan +

    +

    + 1. Surat masukan dan dukungan kebutuhan formasi Pendidik (ASN + & P3K) dari fakultas; +

    +

    + 2. Surat masukan dan dukungan kebutuhan formasi Tenaga + Kependidikan (ASN & P3K) dari fakultas; +

    +

    + 3. Naskah dinas yang berkaitan dengan kegiatan pemberian masukan + dan dukungan kebijakan di bidang manajemen kepegawaian. +

    +
    +

    KP.00.04

    +
    +

    + Penetapan Kebijakan +

    +

    1. Penetapan formasi Pendidik (ASN & P3K);

    +

    2. Penetapan formasi Tenaga Kependidikan (ASN & P3K);

    +

    + 3. Naskah dinas yang berkaitan dengan penetapan kebijakan di + bidang manajemen kepegawaian +

    +
    +

    KP.01

    +
    +

    + Penyusunan dan Penetapan Kebutuhan Aparatur Sipil + Negara +

    +
    +

    KP.01.00

    +
    +

    + Perencanaan Kebutuhan ASN +

    +

    1. Bahan penyusun rencana kebutuhan;

    +

    + 2. Analisis rencana kebutuhan Aparatur Sipil Negara (ASN) + (Pendidik & Tendik); +

    +

    + 3. Analisis rencana kebutuhan Pegawai Pemerintah dengan Perjanjian + Kerja (P3K) (Pendidik & Tendik); +

    +

    4. Pengolahan data rencana kebutuhan;

    +

    + 5. Naskah dinas yang berkaitan dengan kegiatan Perencanaan + Kebutuhan ASN & P3K. +

    +
    +

    KP.01.01

    +
    +

    + Perencanaan Pertimbangan Formasi +

    +

    1. Pertimbangan formasi Pendidik (ASN & P3K);

    +

    2. Penetapan formasi Tenaga Kependidikan (ASN & P3K);

    +

    + 3. Naskah dinas yang berkaitan dengan kegiatan perencanaan + pertimbangan formasi. +

    +
    +

    KP.01.02

    +
    +

    + Penetapan Kebutuhan Aparatur Sipil Negara +

    +

    1. Undangan rapat;

    +

    2. Notula rapat

    +

    3. Daftar hadir;

    +

    4. Usulan kebutuhan ASN;

    +

    + 5. Naskah dinas yang berkaitan dengan kegiatan penetapan kebutuhan + Aparatur Sipil Negara. +

    +
    +

    KP.01.03

    +
    +

    + Standarisasi Jabatan +

    +

    1. Informasi jabatan;

    +

    2. Kompetensi jabatan;

    +

    3. Klasifikasi jabatan;

    +

    + 4. Naskah dinas yang berkaitan dengan kegiatan standarisasi + jabatan. +

    +
    +

    KP.02

    +
    +

    Formasi Pegawai

    +
    +

    KP.02.00

    +
    +

    + Usulan dari Unit Kerja +

    +

    1. Analisis jabatan;

    +

    2. Analisis beban kerja;

    +

    3. Usulan formasi dari unit kerja;

    +

    4. Naskah dinas yang berkaitan dengan usulan dari unit kerja.

    +
    +

    KP.02.01

    +
    +

    + Usulan Permintaan Formasi +

    +

    1. Usulan permintaan formasi ke unit kerja;

    +

    2. Usulan formasi ke kementerian;

    +

    + 3. Naskah dinas yang berkaitan dengan usulan permintaan formasi. +

    +
    +

    KP.02.02

    +
    +

    + Persetujuan Formasi dari Kementerian +

    +

    1. Usulan persetujuan formasi dari Kemdikbud;

    +

    2. Persetujuan formasi dari Kemenpan RB;

    +

    + 3. Naskah dinas yang berkaitan dengan persetujuan formasi dari + kementerian. +

    +
    +

    KP.02.03

    +
    +

    + Penetapan Formasi di Perguruan Tinggi +

    +

    1. SK penetapan formasi pendidik (ASN & P3K);

    +

    2. SK penetapan formasi tendik (ASN & P3K);

    +

    + 3. Naskah dinas yang berkaitan dengan penetapan formasi di + perguruan tinggi. +

    +
    +

    KP.02.04

    +
    +

    + Penetapan Formasi Khusus +

    +

    1. SK penetapan formasi khusus;

    +

    + 2. Naskah dinas yang berkaitan dengan penetapan formasi khusus. +

    +
    +

    KP.03

    +
    +

    Pengadaan ASN PNS

    +
    +

    KP.03.00

    +
    +

    + Proses Penerimaan Pegawai +

    +

    1. SK tim panitia penerimaan pegawai;

    +

    2. Pengumuman;

    +

    3. Surat lamaran;

    +

    4. Surat pemanggilan peserta tes;

    +

    5. Daftar peserta tes;

    +

    6. Hasil wawancara;

    +

    7. Keputusan hasil tes;

    +

    8. Keputusan kelulusan;

    +

    + 9. Naskah dinas yang berkaitan dengan proses penerimaan pegawai. +

    +
    +

    KP.03.01

    +
    +

    + Berkas Lamaran yang Diterima +

    +

    1. Surat lamaran;

    +

    2. Ijasah;

    +

    3. SKCK;

    +

    4. Kartu kuning;

    +

    5. Surat keterangan dokter;

    +

    + 6. Naskah dinas yang berkaitan dengan berkas lamaran yang + diterima. +

    +
    +

    KP.03.02

    +
    +

    + Berkas Lamaran yang Tidak Diterima +

    +

    1. Surat lamaran;

    +

    2. Ijasah;

    +

    3. SKCK;

    +

    4. Kartu kuning;

    +

    5. Surat keterangan dokter;

    +

    + 6. Naskah dinas yang berkaitan dengan berkas lamaran yang tidak + diterima. +

    +
    +

    KP.03.03

    +
    +

    Usul dan Kelengkapan Penetapan NIP

    +

    1. Surat usulan kelengkapan penetapan NIP;

    +

    + 2. Naskah dinas yang berkaitan dengan usul dan kelengkapan + penetapan NIP. +

    +
    +

    KP.03.04

    +
    +

    + Usul Pengangkatan CPNS menjadi PNS yang telah lebih 2 + tahun +

    +

    + 1. Surat usulan kelengkapan penetapan NIP untuk pengangkatan CPNS + menjadi PNS lebih 2 tahun; +

    +

    + 2. Naskah dinas yang berkaitan dengan usulan untuk pengangkatan + CPNS menjadi PNS lebih 2 tahun. +

    +
    +

    KP.03.05

    +
    +

    + SK CPNS/PNS Kolektif +

    +

    1. Surat usulan SK CPNS/PNS kolektif;

    +

    2. Naskah dinas yang berkaitan dengan SK CPNS/PNS kolektif.

    +
    +

    KP.03.06

    +
    +

    + Usul dan Kelengkapan Nomor Induk Dosen Negeri (NIDN) +

    +

    1. Usulan pengurusan Nomor Induk Dosen Negeri;

    +

    2. Surat rekomendasi pimpinan;

    +

    + 3. Naskah dinas yang berkaitan dengan usulan dan kelengkapan + pengurusan NIDN. +

    +
    +

    KP.03.07

    +
    +

    + Open Bidding (Seleksi Terbuka Jabatan) +

    +

    1. Surat permohonan menjadi anggota tim seleksi;

    +

    2. Undangan rapat;

    +

    3. Notula rapat;

    +

    4. SK tim seleksi;

    +

    5. Pengumuman open bidding jabatan;

    +

    6. Surat lamaran;

    +

    7. Surat pemanggilan peserta tes;

    +

    8. Daftar peserta tes;

    +

    9. Hasil wawancara;

    +

    10. Penetapan hasil open bidding jabatan;

    +

    + 11. Naskah dinas yang berkaitan dengan kegiatan open bidding + (seleksi terbuka jabatan). +

    +
    +

    KP.04

    +
    +

    + Pengadaan ASN P3K (Pegawai Pemerintah dengan Perjanjian + Kerja)/Pegawai Kontrak +

    +
    +

    KP.04.00

    +
    +

    + Proses Penerimaan Pegawai +

    +

    1. Surat permohonan menjadi anggota tim seleksi;

    +

    2. Undangan rapat;

    +

    3. Notula rapat;

    +

    4. SK tim seleksi;

    +

    5. Pengumuman seleksi;

    +

    6. Surat lamaran;

    +

    7. Surat pemanggilan peserta tes;

    +

    8. Daftar peserta tes;

    +

    9. Hasil wawancara;

    +

    10. Penetapan hasil seleksi;

    +

    + 11. Naskah dinas yang berkaitan dengan Proses Penerimaan Pegawai + ASN P3K (Pegawai Pemerintah dengan Perjanjian Kerja)/Pegawai + Kontrak. +

    +
    +

    KP.04.01

    +
    +

    + Pengangkatan ASN P3K +

    +

    1. Surat keputusan;

    +

    2. Surat perjanjian kerja;

    +

    3. Naskah dinas yang berkaitan dengan pengangkatan ASN P3K.

    +
    +

    KP.04.02

    +
    +

    + Berkas Lamaran yang Diterima +

    +

    1. Surat lamaran;

    +

    2. Ijasah;

    +

    3. SKCK;

    +

    4. Kartu kuning;

    +

    5. Surat keterangan dokter;

    +

    + 6. Naskah dinas yang berkaitan dengan berkas lamaran yang + diterima. +

    +
    +

    KP.04.03

    +
    +

    + Berkas Lamaran yang Tidak Diterima +

    +

    1. Surat lamaran;

    +

    2. Ijasah;

    +

    3. SKCK;

    +

    4. Kartu kuning;

    +

    5. Surat keterangan dokter;

    +

    + 6. Naskah dinas yang berkaitan dengan berkas lamaran yang tidak + diterima. +

    +
    +

    KP.05

    +
    +

    Pengadaan Pegawai Honorer/Harian Lepas

    +
    +

    KP.05.00

    +
    +

    + Proses Penerimaan Pegawai +

    +

    1. Surat lamaran;

    +

    2. Hasil wawancara;

    +

    3. Penetapan hasil seleksi;

    +

    + 4. Naskah dinas yang berkaitan dengan proses penerimaan pegawai + honorer/harian lepas. +

    +
    +

    KP.05.01

    +
    +

    + Pengangkatan Pegawai Honorer/Harian lepas +

    +

    1. Surat keputusan;

    +

    2. Surat perjanjian kerja;

    +

    + 3. Naskah dinas yang berkaitan dengan pengangkatan pegawai + honorer/harian lepas. +

    +
    +

    KP.05.02

    +
    +

    + Berkas Lamaran yang Diterima +

    +

    1. Surat lamaran;

    +

    2. Ijasah;

    +

    3. SKCK;

    +

    + 4. Naskah dinas yang berkaitan dengan berkas lamaran yang + diterima. +

    +
    +

    KP.05.03

    +
    +

    + Berkas Lamaran yang Tidak Diterima +

    +

    1. Surat lamaran;

    +

    2. Ijasah;

    +

    3. SKCK;

    +

    + 4. Naskah dinas yang berkaitan dengan berkas lamaran yang tidak + diterima. +

    +
    +

    KP.06

    +
    +

    Pembinaan/Pengembangan Karir Pegawai

    +
    +

    KP.06.00

    +
    +

    + Tugas Belajar/Izin Belajar/Diklat/Kursus/Ujian Dinas/Uji + Kompetensi/Tes Beasiswa +

    +

    1. Surat edaran/pengumuman berkenaan dengan studi lanjut;

    +

    2. Surat permohonan ybs.

    +

    3. Surat pengantar fakultas;

    +

    4. Surat izin/rekomendasi universitas;

    +

    5. Laporan hasil tes masuk;

    +

    + 6. Ikatan kerja dan surat perjanjian ijin/tugas belajar, surat + perintah/tugas belajar/sk/surat ijin, surat-surat sponsor, laporan + perkembangan studi, laporan halangan/ketidakmampuan/rint angan + selama studi, permohonan perpanjangan studi, ijazah, akreditasi + program studi, STTPL, sertifikat; +

    +

    7. Studi banding ke universitas lain;

    +

    + 8. Naskah dinas yang berkaitan tugas belajar/izin + belajar/diklat/kursus/ujian dinas/uji kompetensi/tes beasiswa. +

    +
    +

    KP.06.01

    +
    +

    + Sasaran Kinerja Pegawai (SKP) +

    +

    1. Surat pengantar SKP;

    +

    2. SKP/DP3/dll.;

    +

    + 3. Naskah dinas yang berkaitan dengan Sasaran Kinerja Pegawai + (SKP) dll. +

    +
    +

    KP.06.02

    +
    +

    Pakta Integritas

    +

    1. Pakta integritas;

    +

    2. Surat edaran zona integritas;

    +

    3. SK tentang zona integritas;

    +

    4. Surat pengantar LHKPN;

    +

    5. Naskah dinas yang berkaitan dengan pakta integritas.

    +
    +

    KP.06.03

    +
    +

    + Penetapan Angka Kredit (PAK) +

    +

    1. Daftar Usul Penetapan Angka Kredit;

    +

    2. Daftar Usul Penetapan Nilai Kinerja;

    +

    3. Penetapan Angka Kredit;

    +

    + 4. Naskah dinas yang berkaitan dengan Penetapan Angka Kredit + (PAK). +

    +
    +

    KP.06.04

    +
    +

    + Sertifikasi Pegawai +

    +

    1. Portofolio;

    +

    2. Sertifikat;

    +

    3. Naskah dinas yang berkaitan dengan sertifikasi pegawai.

    +
    +

    KP.06.05

    +
    +

    Kode Etik

    +

    1. Undangan sidang;

    +

    2. Notula sidang;

    +

    3. SK dewan pengawas kode etik;

    + +

    4. Hasil sidang kode etik pendidik/tendik;

    +

    5. Naskah dinas yang berkaitan dengan kode etik.

    +
    +

    KP.06.06

    +
    +

    + Disiplin Pegawai +

    +

    1. Surat pengantar daftar hadir;

    +

    2. Rekap kehadiran elektronik;

    +

    3. Surat izin tidak masuk kerja;

    +

    4. Surat keterangan dokter;

    +

    5. Surat izin keluar saat jam kerja;

    +

    6. Naskah dinas yang berkaitan dengan disiplin pegawai.

    +
    +

    KP.06.07

    +
    +

    + Hukuman Disiplin +

    +

    1. Surat pemanggilan;

    +

    2. Surat peringatan;

    +

    3. Berita Acara pemeriksaan;

    +

    4. Pernyataan tidak puas;

    +

    5. SK pemberian hukuman disiplin;

    +

    6. Permohonan banding;

    +

    7. SK ketetapan banding;

    +

    8. Naskah dinas yang berkaitan dengan hukuman disiplin.

    +
    +

    KP.06.08

    +
    +

    + Penghargaan dan Tanda Jasa +

    +

    1. Surat pengajuan penghargaan dan tanda jasa;

    +

    2. SK penghargaan dan tanda jasa;

    +

    3. Sertifikat/Piagam;

    +

    + 4. Naskah dinas yang berkaitan dengan penghargaan dan tanda jasa + seperti satya lencana, pegawai berprestasi (dosen, arsiparis, + pustakawan, peneliti, dll.) +

    +
    +

    KP.07

    +
    +

    Sistem Informasi Kepegawaian

    +
    +

    KP.07.00

    +
    +

    + Pengolahan Data dan Informasi Kepegawaian +

    +

    1. Pengolahan data;

    +

    2. Pengelolaan database kepegawaian (ASN/P3K/Honorer);

    +

    + 3. Penyelesaian permasalahan data kepegawaian (ASN/P3K/Honorer); +

    +

    4. Informasi kepegawaian;

    +

    + 5. Penyajian informasi dan penyusunan tabel referensi kepegawaian + (ASN/P3K/Honorer); +

    +

    + 6. Pengembangan dan pemanfaatan kartu pegawai (name tag) + elektronik; +

    +

    + 7. Naskah dinas yang berkaitan dengan kegiatan Pengolahan data dan + informasi kepegawaian. +

    +
    +

    KP.07.01

    +
    +

    + Pengembangan Sistem Informasi Kepegawaian +

    +

    1. Pengembangan SIMPEG dll. ;

    +

    + 2. Naskah dinas yang berkaitan dengan kegiatan pengembangan sistem + informasi kepegawaian. +

    +
    +

    KP.07.02

    +
    +

    + Pengembangan Sistem Pengelolaan Arsip Kepegawaian +

    +

    1. Arsip kepegawaian elektronik;

    +

    2. Verifikasi dan distribusi arsip kepegawaian;

    +

    3. Perekaman dan arsip kepegawaian;

    +

    4. Pengelolaan arsip kepegawaian elektronik;

    +

    5. Arsip kepegawaian fisik;

    +

    + 6. Naskah dinas yang berkaitan dengan kegiatan pengembangan sistem + pengelolaan arsip kepegawaian. +

    +
    +

    KP.08

    +
    +

    Pengawasan dan Pengendalian

    +
    +

    KP.08.00

    +
    +

    + Formasi, Pengadaan dan Pasca Diklat +

    +

    1. Pelaksanaan peraturan perundang-undangan;

    +

    2. Monitoring dan evaluasi;

    +

    3. Rekomendasi, evaluasi dan pelaporan;

    +

    + 4. Naskah dinas yang berkaitan dengan kegiatan formasi, pengadaan + dan pasca diklat. +

    +
    +

    KP.08.01

    +
    +

    + Kepangkatan, pengangkatan, dan pemberhentian dalam + jabatan +

    +

    1. Pelaksanaan peraturan perundang-undangan;

    +

    2. Monitoring dan evaluasi;

    +

    3. Rekomendasi, evaluasi dan pelaporan;

    +

    + 4. Naskah dinas yang berkaitan dengan kegiatan kepangkatan, + pengangkatan dan pemberhentian dalam jabatan. +

    +
    +

    KP.08.02

    +
    +

    + Gaji dan tunjangan, kesejahteraan dan kinerja +

    +

    1. Pelaksanaan peraturan perundang-undangan;

    +

    2. Monitoring dan evaluasi;

    +

    3. Rekomendasi, evaluasi dan pelaporan;

    +

    + 4. Naskah dinas yang berkaitan dengan kegiatan gaji dan tunjangan, + kesejahteraan dan kinerja. +

    +
    +

    KP.08.03

    +
    +

    + Kode Etik, disiplin, pemberhentian dan pensiun ASN +

    +

    1. Pelaksanaan peraturan perundang-undangan;

    +

    2. Monitoring dan evaluasi;

    +

    3. Rekomendasi, evaluasi dan pelaporan;

    +

    + 4. Naskah dinas yang berkaitan dengan kegiatan kode etik, + disiplin, pemberhentian dan pensiun ASN. +

    +
    +

    KP.08.04

    +
    +

    + Laporan Hasil Pengawasan dan Pengendalian +

    +

    + Naskah dinas yang berkaitan dengan kegiatan laporan hasil + pengawasan dan pengendalian. +

    +
    +

    KP.08.05

    +
    +

    + Berkas Sanggahan terhadap Permasalahan Tenaga Honorer +

    +

    1. Laporan permasalahan tenaga honorer;

    +

    + 2. Naskah dinas yang berkaitan dengan kegiatan berkas sanggahan + terhadap permasalahan tenaga honorer. +

    +
    +

    KP.09

    +
    +

    Mutasi Pegawai

    +
    +

    KP.09.00

    +
    +

    + Alih status, pindah instansi, Pindah Wilayah Kerja, + Diperbantukan, Dipekerjakan, Penugasan sementara, + Pindah sementara, Mutasi antar unit +

    +

    1. Surat Permohonan;

    +

    2. Surat Persetujuan;

    +

    3. Nota persetujuan / pertimbangan BKN;

    +

    4. Surat Keputusan;

    +

    + 5. Naskah dinas yang berkaitan dengan alih status, pindah + instansi, pindah wilayah kerja, diperbantukan, dipekerjakan, + penugasan sementara, pindah sementara, mutasi antar unit. +

    +
    +

    KP.09.01

    +
    +

    + Mutasi Keluarga +

    +

    1. Surat penunjukan tim pemeriksa;

    +

    2. Surat izin pernikahan/perceraian;

    +

    3. Surat penolakan izin pernikahan/perceraian;

    +

    4. Surat nikah /cerai;

    +

    5. Akte kelahiran anak;

    +

    6. Surat keterangan adopsi anak;

    +

    7. Surat keterangan meninggal dunia;

    +

    8. Naskah dinas yang berkaitan dengan mutasi keluarga.

    +
    +

    KP.09.02

    +
    +

    + Usul kenaikan pangkat Golongan +

    +

    1. Surat persetujuan kenaikan pangkat/golongan;

    +

    2. SK kenaikan pangkat/golongan;

    +

    + 3. Naskah dinas yang berkaitan dengan usul kenaikan pangkat + golongan. +

    +
    +

    KP.09.03

    +
    +

    + Kenaikan Gaji berkala +

    +

    1. Usulan persetujuan kenaikan gaji berkala;

    +

    2. Surat keputusan kenaikan gaji berkala;

    +

    3. Naskah dinas yang berkaitan dengan kenaikan gaji berkala.

    +
    +

    KP.09.04

    +
    +

    + Usul pengangkatan dan pemberhentian dalam jabatan +

    +

    1. Usulan dan SK kenaikan jabatan;

    +

    2. Usulan dan SK pengangkatan jabatan;

    +

    3. Usulan dan SK pemberhentian jabatan;

    +

    + 4. Naskah dinas yang berkaitan dengan usul pengangkatan dan + pemberhentian dalam jabatan struktural/ fungsional. +

    +
    +

    KP.09.05

    +
    +

    + Usul penetapan perubahan data dasar/status/kedudukan hukum + pegawai +

    +

    + 1. Surat usulan penetapan perubahan data dasar/status/kedudukan + hukum pegawai; +

    +

    2. Nota persetujuan;

    +

    3. SK;

    +

    4. Surat persetujuan;

    +

    + 5. Naskah dinas yang berkaitan usul penetapan perubahan data + dasar/status/kedudukan hukum pegawai. +

    +
    +

    KP.09.06

    +
    +

    + Peninjauan Masa Kerja +

    +

    1. Surat usulan penetapan peninjauan masa kerja;

    +

    2. Nota persetujuan;

    +

    3. SK;

    +

    4. Surat persetujuan;

    +

    5. Naskah dinas yang berkaitan dengan peninjauan masa kerja.

    +
    +

    KP.09.07

    +
    +

    + Berkas BAPERJAKAT +

    +

    1. Undangan rapat;

    +

    2. Daftar hadir rapat;

    +

    3. Notula;

    +

    4. Laporan hasil BAPERJAKAT;

    +

    + 5. Naskah dinas yang berkaitan dengan berkas Badan Pertimbangan + Jabatan dan Kepangkatan (BAPERJAKAT). +

    +
    +

    KP.10

    +
    +

    Administrasi Pegawai

    +
    +

    KP.10.00

    +
    +

    + Cuti Besar +

    +

    1. Surat permohonan cuti besar;

    +

    2. Surat keterangan cuti besar;

    +

    3. Naskah dinas yang berkaitan dengan cuti besar.

    +
    +

    KP.10.01

    +
    +

    + Cuti Sakit, Cuti Bersalin, Cuti Tahunan +

    +

    1. Surat permohonan cuti sakit/cuti bersalin/cuti tahunan;

    +

    2. Surat keterangan cuti sakit/cuti bersalin/cuti tahunan;

    +

    + 3. Naskah dinas yang berkaitan dengan cuti sakit/cuti + bersalin/cuti tahunan. +

    +
    +

    KP.10.02

    +
    +

    + Cuti Alasan Penting +

    +

    1. Surat permohonan cuti alasan penting;

    +

    2. Surat keterangan cuti alasan penting;

    +

    3. Naskah dinas yang berkaitan dengan cuti alasan penting.

    +
    +

    KP.10.03

    +
    +

    + Cuti Di Luar Tanggungan Negara +

    +

    1. Surat permohonan cuti di luar tanggungan negara;

    +

    2. Surat keterangan cuti di luar tanggungan negara;

    +

    + 3. Naskah dinas yang berkaitan dengan cuti di luar tanggungan + negara. +

    +
    +

    KP.10.04

    +
    +

    + Dokumentasi Identitas Pegawai +

    +

    1. Usul penetapan Karpeg/KPE/Karis/Karsu;

    +

    2. Dokumen LHKASN (Laporan Harta Kekayaan ASN);

    +

    3. Dokumen LHKPN (Laporan Harta Kekayaan Pejabat Negara);

    +

    4. Surat keterangan keanggotaan organisasi profesi/kedinasan;

    +

    5. Surat keterangan LP2P/SPT Tahunan/NPWP/KP4;

    +

    + 6. Naskah dinas yang berkaitan dengan dokumen identitas pegawai. +

    +
    +

    KP.10.05

    +
    +

    + Daftar Urut kepangkatan (DUK) +

    +

    1. Dokumen DUK;

    + +

    2. Database DUK;

    +

    3. Naskah dinas yang berkaitan dengan DUK.

    +
    +

    KP.11

    +
    +

    Kesejahteraan Pegawai

    +
    +

    KP.11.00

    +
    +

    + Layanan Pemeliharaan Kesehatan Pegawai +

    +

    1. Rekam medis;

    +

    2. Kartu anggota klinik pratama/rumah sakit;

    +

    3. Surat keterangan sehat;

    +

    4. Surat keterangan sakit;

    +

    + 5. Naskah dinas yang berkaitan dengan layanan pemeliharaan + kesehatan pegawai. +

    +
    +

    KP.11.01

    +
    +

    + Asuransi Pegawai/BPJS atau sejenisnya +

    +

    1. Surat permohonan/pendaftaran asuransi;

    +

    2. Brosur penawaran asuransi;

    +

    3. Kartu anggota;

    +

    4. Surat klaim asuransi;

    +

    + 5. Naskah dinas yang berkaitan dengan asuransi pegawai/BPJS atau + sejenisnya. +

    +
    +

    KP.11.02

    +
    +

    + Tabungan Perumahan +

    +

    1. Surat pernyataan belum punya rumah;

    +

    2. Formulir pendaftaran tabungan perumahan;

    +

    3. Buku tabungan perumahan;

    +

    4. Naskah dinas yang berkaitan dengan tabungan perumahan.

    +
    +

    KP.11.03

    +
    +

    + Bantuan Sosial +

    +

    1. Surat tanda terima;

    +

    2. Surat ucapan belasungkawa;

    +

    3. Naskah dinas yang berkaitan dengan bantuan sosial.

    +
    +

    KP.11.04

    +
    +

    + Rekreasi +

    +

    1. Surat rencana kunjungan;

    +

    2. Naskah dinas yang berkaitan dengan rekreasi.

    +
    +

    KP.12

    +
    +

    Pemberhentian Pegawai

    +

    1. Usulan pemberhentian pegawai;

    +

    2. Berita acara pemeriksaan;

    +

    3. Penetapan pemberhentian pegawai;

    +

    4. Naskah dinas yang berkaitan dengan pemberhentian pegawai.

    +
    +

    KP.13

    +
    +

    Perselisihan/Sengketa Kepegawaian

    +

    1. Surat Pengaduan

    +

    2. Notula

    +

    3. Berita Acara Pemeriksaan

    +

    4. Laporan;

    +

    + 5. Naskah dinas yang berkaitan dengan perselisihan/ sengketa + kepegawaian. +

    +
    +

    KP.14

    +
    +

    + Usul pemberhentian dan penetapan pensiun pegawai/janda/duda + & PNS yang meninggal +

    +

    + 1. Usulan pemberhentian dan penetapan pensiun pegawai/janda/duda + & PNS yang tewas; +

    +

    2. SK pemberhentian dan penetapan pensiun;

    +

    + 3. Naskah dinas yang berkaitan dengan usul pemberhentian dan + penetapan pensiun pegawai/janda/duda & PNS yang meninggal. +

    +
    +

    KP.15

    +
    +

    Berkas Perseorangan Pegawai ASN PNS

    +

    1. Berkas lamaran yang diterima;

    +

    2. Nota Penetapan NIP dan kelengkapannya;

    +

    3. Nota Persetujuan/Pertimbangan Kepala BKN;

    +

    4. SK Pengangkatan CPNS;

    +

    5. Hasil Pengujian Kesehatan;

    +

    6. SK Pengangkatan PNS;

    +

    7. SK Peninjauan Masa Kerja;

    +

    8. SK Kenaikkan Pangkat;

    +

    9. Surat Pernyataan Melaksanakan Tugas/Menduduki Jabatan;

    +

    10. Surat Pernyataan Pelantikan;

    +

    + 11. SK Pengangkatan dalam jabatan atau Pemberhentian dari Jabatan + Struktural/Fungsional; +

    +

    12. SK Perpindahan Wilayah Kerja;

    +

    13. SK Perpindahan Antar Instansi;

    +

    14. SK Cuti di luar Tanggungan Negara (CLTN);

    +

    15. Berita Acara Pemeriksaan;

    +

    16. SK Hukuman Jabatan/Hukuman Disiplin PNS;

    +

    17. SK Perbantuan/Dipekerjakan di luar Instansi Induk;

    +

    18. SK Penarikan Kembali dari Perbantuan/Dipekerjakan;

    +

    19. SK Pemberian Uang Tunggu;

    +

    + 20. SK Pembebasan dari Jabatan Organik karena diangkat sebagai + Pejabat Negara; +

    +

    21. SK Pengalihan PNS;

    +

    22. SK Pemberhentian sebagai PNS;

    +

    23. SK Pemberhentian Sementara;

    +

    24. Surat Keterangan Pernyataan Hilang;

    +

    25. Surat Keterangan Kembalinya PNS yang dinyatakan hilang;

    +

    26. SK Penggantian Nama;

    +

    27. Surat perbaikan Tanggal Tahun Kelahiran;

    +

    28. Surat Nikah/Cerai Akta Kelahiran;

    +

    + 29. Isian Formulir PUPNS Berita Acara Pengambilan Sumpah/Janji PNS + dan Jabatan Surat Permohonan Menjadi Anggota Parpol; +

    + +

    30. Surat Keterangan Mutasi Keluarga;

    +

    31. Surat Keterangan Meninggal Dunia;

    +

    32. Surat Keterangan Peningkatan Pendidikan;

    +

    33. Penetapan Angka Kredit Jabatan Fungsional;

    +

    34. Surat Keterangan Hasil Penelitian Khusus;

    +

    35. Surat Pemberitahuan Kenaikkan Gaji Berkala;

    +

    36. Surat Tugas/ Izin Belajar Dalam/ Luar Negeri;

    +

    37. Surat Izin Bepergian ke Luar Negeri;

    +

    38. Kartu Pendaftaran Ulang (Kardaf) PNS

    +

    39. Ijazah/Sertifikat;

    +

    40. SK Penempatan/Penarikan Pegawai;

    +

    41. SK Pengangkatan pada Jabatan di luar Instansi Induk;

    +

    42. Surat Pertimbangan Status PNS;

    +

    43. SK Pengaktifan Kembali Sebagai PNS;

    +

    + 44. Surat Pernyataan Pengunduran Diri dari Jabatan Organisasi + karena dicalonkan sebagai Kepala/Wakil Kepala Daerah; +

    +

    45. SK Pensiun;

    +

    + 46. Naskah dinas yang berkaitan dengan berkas perseorangan pegawai + ASN PNS. +

    +
    +

    KP.16

    +
    +

    Berkas perseorangan ASN P3K

    +

    1. Surat lamaran;

    +

    2. Ijazah;

    +

    3. SKCK;

    +

    4. Kartu kuning;

    +

    5. Surat keterangan dokter;

    +

    6. SK pengangkatan;

    +

    + 7. Naskah dinas yang berkaitan dengan berkas perseorangan ASN P3K. +

    +
    +

    KP.17

    +
    +

    Berkas Perseorangan Pegawai Honorer

    +

    1. Surat lamaran;

    +

    2. Ijazah;

    +

    3. SKCK;

    +

    4. Kartu kuning;

    +

    5. Surat keterangan dokter;

    +

    6. SK pengangkatan;

    +

    + 7. Naskah dinas yang berkaitan dengan berkas perseorangan pegawai + honorer. +

    +
    +

    KP.18

    +
    +

    Penilaian Kompetensi

    +

    1. Berkas penilaian kompetensi;

    +

    2. Hasil penilaian kompetensi;

    +

    + 3. Naskah dinas yang berkaitan dengan kegiatan penilaian + kompetensi. +

    +
    +

    KU

    +
    +

    KEUANGAN

    +
    +

    KU.00

    +
    +

    Pelaksanaan Anggaran

    +
    +

    KU.00.00

    +
    +

    + Pendapatan +

    +

    1. Surat Setoran Pajak (SSP) / Buku Pajak;

    +

    2. Surat Setoran Bukan Pajak (SSBP);

    +

    3. Bukti Penerimaan Negara Bukan Pajak (PNBP);

    +

    4. Penerimaan sisa anggaran lebih dan saldo kas atau SSPB;

    +

    5. Bunga dan/atau jasa giro pada bank;

    +

    6. Piutang negara;

    +

    7. Pengelolaan barang milik negara;

    +

    8. Dana pemerintah;

    +

    9. Dana masyarakat;

    +

    10. Naskah dinas yang berkaitan dengan pendapatan;

    +
    +

    KU.00.01

    +
    +

    + Belanja +

    +

    1. Dokumen pelaksanaan pengadaan barang/jasa, meliputi:

    +

    - Barang habis pakai;

    +

    - Barang inventaris bergerak;

    +

    - Barang inventaris tidak bergerak (tanah dan bangunan);

    +

    - Jasa;

    +

    - Software computer.

    +

    2. Dokumen pembayaran keuangan;

    +

    3. Dokumen penatausahaan anggaran:

    +

    - Buku kas umum;

    +

    - Buku kas pembantu;

    +

    - Buku/kartu pengawas kredit anggaran;

    +

    - Rekening koran bank.

    +

    4. Daftar gaji/tunjangan/lembur/honorarium;

    +

    5. Kartu gaji;

    +

    + 6. Bukti setor iuran/kontribusi universitas/fakultas kepada + badan/organisasi internasional; +

    +

    7. Laporan arus kas/dokumen akuntasi keuangan:

    +

    - Berita Acara Pemeriksaan;

    +

    - Kas/register penutupan kas;

    +

    - Laporan realisasi anggaran termasuk arsip data komputer;

    +

    - Laporan pendapatan negara;

    +

    - Laporan kredit anggaran bulanan/triwulan/semester.

    +

    8. Laporan keuangan tahunan:

    + +

    - Laporan realisasi anggaran termasuk arsip data komputer;

    +

    - Neraca;

    +

    - Catatan atas laporan keuangan.

    +

    9. Naskah dinas yang berkaitan dengan belanja.

    +
    +

    KU.01

    +
    +

    Hibah Pinjaman Dalam Negeri / Luar Negeri

    +
    +

    KU.01.00

    +
    +

    + Permohonan hibah pinjaman dalam negeri / luar negeri (blue + book) +

    +

    + 1. Daftar proyek-proyek yang akan dibiayai dari pinjaman luar + negeri; +

    +

    + 2. Naskah dinas yang berkaitan dengan Permohonan pinjaman luar + negeri (blue book). +

    +
    +

    KU.01.01

    +
    +

    + Naskah dinas kesanggupan pemda/sponsorship/negara donor untuk + membiayai (green book) +

    +

    1. Surat kesanggupan pemda;

    +

    2. Surat kesanggupan sponsorship;

    +

    3. Surat kesanggupan negara donor;

    +

    + 4. Naskah dinas yang berkaitan dengan kesanggupan + /pemda/sponsorship/negara donor untuk membiayai (green book); +

    +
    +

    KU.01.02

    +
    +

    + Naskah dinas nota kesepahaman / Memorandum of Understanding + (MoU) +

    +

    1. Naskah nota kesepahaman/MoU hibah pinjaman dalam negeri;

    +

    2. Naskah nota kesepahaman/MoU hibah pinjaman luar negeri;

    +

    + 3. Naskah dinas yang berkaitan dengan dokumen nota kesepahaman + (MoU). +

    +
    +

    KU.01.03

    +
    +

    + Naskah dinas hibah pinjaman dalam negeri (PHDN)/luar negeri + (PHLN) +

    +

    1. Naskah perjanjian hibah pinjaman dalam negeri;

    +

    2. Naskah perjanjian hibah pinjaman luar negeri;

    +

    + 3. Naskah dinas yang berkaitan dengan hibah pinjaman dalam negeri + (PHDN) / luar negeri (PHLN). +

    +
    +

    KU.01.04

    +
    +

    + Alokasi dan relokasi penggunaan dana dalam negeri / luar + negeri +

    +

    + 1. Laporan Alokasi dan relokasi penggunaan dana dalam/luar negeri; +

    +

    + 2. Naskah dinas yang berkaitan dengan alokasi dan relokasi + penggunaan dana dalam/luar negeri. +

    +
    +

    KU.01.05

    +
    +

    + Aplikasi Penarikan Dana Bantuan Luar Negeri (BLN) +

    +

    1. Reinbursement;

    +

    2. Direct payment/transfer procedure;

    +

    3. Special commitment / L/C opening;

    +

    4. Special account/imprest fund;

    +

    5. Dokumen pengesahan atas penerimaan hibah luar negeri;

    +

    6. Notice of disbursement;

    +

    + 7. Naskah dinas yang berkaitan dengan aplikasi penarikan dana + bantuan luar negeri (BLN). +

    +
    +

    KU.01.06

    +
    +

    + Otorisasi Penarikan Dana (payment advice) +

    +

    1. Laporan Otorisasi penarikan dana (payment advice);

    +

    + 2. Naskah dinas yang berkaitan dengan otorisasi penarikan dana + (payment advice). +

    +
    +

    KU.01.07

    +
    +

    + Realisasi pencairan dana bantuan/pinjaman/hibah dalam / luar + negeri +

    +

    1. Surat Perintah Pencairan Dana (SP2D);

    +

    2. Surat Permintaan Pembayaran (SPP);

    +

    3. Kontrak;

    +

    4. Berita Acara;

    +

    5. Data pendukung lainnya;

    +

    + 6. Naskah dinas yang berkaitan dengan realisasi pencairan + dana/bantuan/pinjaman/hibah dalam/luar negeri. +

    +
    +

    KU.01.08

    +
    +

    + Replenishment (permintaan penarikan dana dari negara + donor) +

    +

    1. No objection letter (NOL);

    +

    2. Project implementation;

    +

    3. Notification of contract;

    +

    4. Withdrawl authorization (WA);

    +

    5. Statement of expenditure;

    +

    + 6. Naskah dinas yang berkaitan dengan replenishment (permintaan + penarikan dana dari negara donor). +

    +
    +

    KU.01.09

    +
    +

    + Report/laporan +

    +

    1. Laporan kemajuan;

    +

    2. Laporan berkala bulanan;

    +

    3. Laporan berkala triwulanan;

    +

    4. Laporan akhir;

    +

    5. Naskah dinas yang berkaitan dengan report /laporan.

    +
    +

    KU.01.10

    +
    +

    + Laporan Hutang/Piutang Negara +

    +

    + 1. Laporan pembayaran dan laporan posisi hutang/piutang negara; +

    +

    + 2. Naskah dinas yang berkaitan dengan laporan hutang/piutang + negara. +

    +
    +

    KU.01.11

    +
    +

    + Ketentuan/kebijakan yang menyangkut hibah dalam/luar + negeri +

    +

    1. SOP/Prosedur tetap;

    +

    + 2. Naskah dinas yang berkaitan dengan ketentuan/ kebijakan yang + menyangkut hibah dalam/luar negeri. +

    +
    +

    KU.02

    +
    +

    Pengelolaan APBN/BLU/PHLN

    +
    +

    KU.02.00

    +
    +

    + Penugasan/pendelegasian wewenang pengelolaan + APBN/BLU/PHLN +

    +

    1. SK Pejabat Perbendaharaan;

    +

    2. SK Pengelola BMN;

    +

    3. Berita acara serah terima jabatan;

    +

    + 4. Naskah dinas yang berkaitan dengan surat + penugasan/pendelegasian wewenang pengelolaan APBN/ BLU/PHLN. +

    +
    +

    KU.03

    +
    +

    Sistem Akuntansi Instansi (SAI)

    +
    +

    KU.03.00

    +
    +

    + Manual Implementasi Sistem Akuntansi Instansi (SAI) +

    +

    + Naskah dinas yang berkaitan dengan Implementasi sistem akuntansi + Instansi (SAI). +

    +
    +

    KU.03.01

    +
    +

    + Kebijakan Akuntansi +

    +

    1. Pedoman akuntansi;

    +

    2. Panduan akuntansi;

    +

    3. SOP bidang akuntansi;

    +

    4. Naskah dinas yang berkaitan dengan kebijakan akuntansi.

    +
    +

    KU.03.02

    +
    +

    + Arsip data komputer dan berita acara rekonsiliasi +

    +

    1. BA rekonsiliasi;

    +

    + 2. Naskah dinas yang berkaitan dengan arsip data komputer dan + berita acara rekonsiliasi. +

    +
    +

    KU.03.03

    +
    +

    + Daftar + transaksi + (DT), + pengeluaran + (PK), + penerimaan + (PN), Naskah dinas sumber (DS), bukti jurnal (BJ), surat + tanda + setor (STS), surat setor bukan pajak (SSBP), surat perintah + pencairan + dana (SP2D), SPM dalam daftar ringkasan pengembalian pajak + (SSBP), SPM dalam daftar ringkasan pengembalian +

    +

    + dan potongan dari pengeluaran (SPDR). +

    +

    1. Daftar transaksi (DT);

    +

    2. Pengeluaran (PK);

    +

    3. Penerimaan (PN);

    +

    4. Naskah dinas sumber (DS);

    +

    5. Bukti jurnal (BJ);

    +

    6. Surat tanda setor (STS);

    +

    7. Surat setor bukan pajak (SSBP);

    +

    8. Surat perintah pencairan dana (SP2D);

    +

    9. SPM dalam daftar ringkasan pengembalian pajak (SSBP);

    +

    + 10. SPM dalam daftar ringkasan pengembalian dan potongan dari + pengeluaran (SPDR); +

    +

    11. Naskah dinas yang terkait.

    +
    +

    KU.03.04

    +
    +

    + Laporan + realisasi + Sistem + Akuntansi + Instansi + (SAI) dari + unit akuntansi kuasa pengguna anggaran. +

    +

    1. Laporan bulanan;

    +

    2. Laporan triwulan;

    +

    3. Laporan semesteran;

    +

    + 4. Naskah dinas yang berkaitan dengan Laporan realisasi Sistem + Akuntansi Instansi (SAI) dari unit akuntansi kuasa pengguna + anggaran dan unit akuntansi pembantu pengguna anggaran. +

    +
    +

    KU.04

    +
    +

    Pertanggungjawaban Keuangan

    +
    +

    KU.04.00

    +
    +

    + Laporan hasil pemeriksaan atas laporan keuangan oleh Badan + Pemeriksa Keuangan RI +

    +

    1. Temu awal dengan BPK;

    +

    2. Temu akhir dengan BPK;

    +

    3. Laporan hasil;

    +

    + 4. Naskah dinas yang berkaitan dengan laporan hasil pemeriksaan + atas laporan keuangan oleh BPK RI. +

    +
    +

    KU.04.01

    +
    +

    + Naskah dinas Penyelesaian Kerugian Negara +

    +

    1. Tuntutan perbendaharaan;

    +

    2. Tuntutan ganti rugi;

    +

    + 3. Naskah dinas yang berkaitan dengan naskah dinas penyelesaian + kerugian negara. +

    +
    +

    BU

    +
    +

    BADAN USAHA/KOPERASI

    +
    +

    BU.00

    +
    +

    Legalitas

    +

    1. Akte Pendirian Badan Usaha;

    +

    2. Surat Izin Usaha;

    +

    3. NPWP;

    +

    4. Keputusan Kementerian Hukum dan HAM;

    +

    5. Pengumuman Berita Negara;

    +

    6. Register di Pengadilan Negeri setempat;

    +

    7. Naskah dinas yang berkaitan dengan legalitas Badan Usaha.

    +
    +

    BU.01

    +
    +

    Surat Keputusan Direksi

    +

    1. Usulan SK direksi;

    +

    2. Rapat anggota;

    +

    3. Notula rapat;

    +

    4. SK yang ditandatangani;

    +

    + 5. Naskah dinas yang berkaitan dengan penyusunan/penetapan SK + direksi. +

    +
    +

    BU.02

    +
    +

    Rencana Pendapatan dan Belanja

    +

    1. Usulan anggaran pendapatan dan belanja;

    +

    2. Notula rapat penyusunan anggaran pendapatan dan belanja;

    +

    3. Penetapan rencana anggaran pendapatan dan belanja;

    +

    + 4. Naskah dinas yang berkaitan dengan penyusunan anggaran + pendapatan dan belanja. +

    +
    +

    BU.03

    +
    +

    Rapat Umum Luar Biasa (Pemegang Saham)

    +

    + 1. Administrasi rapat (undangan, materi, daftar hadir, konsumsi, + akomodasi, transportasi, dll); +

    +

    2. Notula rapat;

    +

    3. Keputusan rapat;

    +

    + 4. Naskah dinas yang berkaitan dengan Rapat Umum Luar Biasa + (Pemegang Saham). +

    +
    +

    BU.04

    +
    +

    Rapat Komisaris

    +

    + 1. Administrasi rapat (undangan, materi, daftar hadir, konsumsi, + akomodasi, transportasi, dll); +

    +

    2. Notula rapat;

    +

    3. Keputusan rapat;

    +

    4. Naskah dinas yang berkaitan dengan Rapat Komisaris.

    +
    +

    BU.05

    +
    +

    Rapat Manajer Unit dan Direksi

    +

    + 1. Administrasi rapat (undangan, materi, daftar hadir, konsumsi, + akomodasi, transportasi, dll); +

    +

    2. Notula rapat;

    +

    3. Keputusan rapat;

    +

    + 4. Naskah dinas yang berkaitan dengan Rapat Manajer Unit dan + Direksi. +

    +
    +

    BU.06

    +
    +

    Data Konsumen

    +

    1. Daftar nama, no. hp, email dan alamat konsumen;

    +

    2. Database konsumen;

    +

    3. Naskah dinas yang berkaitan dengan data konsumen.

    +
    +

    BU.07

    +
    +

    Laporan Perusahaan

    +

    1. Neraca;

    +

    2. Laporan Berkala (Triwulan, Tahunan);

    +

    3. Naskah dinas yang berkaitan dengan laporan perusahaan.

    +
    +
    + + + + \ No newline at end of file diff --git a/listdosen.php b/listdosen.php new file mode 100644 index 0000000..a3542de --- /dev/null +++ b/listdosen.php @@ -0,0 +1,108 @@ +connect(); + +$sql = "SELECT * FROM tbdosen LEFT JOIN tb_kelompok_keahlian ON tbdosen.kelompokKeahlian = tb_kelompok_keahlian.idKK WHERE status = 'A' AND idDosen != '44' ORDER BY nmLengkap ASC"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listData = []; +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + array_push($listData, $row); +} + +?> + + + + + + + + Data Dosen Jurusan Informatika Universitas Tanjungpura + + + + + + + + + + + + + + + + + + + + + + + + + $val) { + $namaDosen = $val['nmLengkap']; + $nipDosen = $val['nip']; + if ($nipDosen == '082216717275') { + $nipDosen = '8885370018'; + } + + $foto = $val['foto']; + if(empty($foto)){ + $foto = 'noimageprofile.png'; + }else{ + if(!file_exists('img/'.$foto)){ + $foto = 'noimageprofile.png'; + } + } + + $urlFoto = "//spota.untan.ac.id/img/".$foto; + $namaKK = $val['namaKK']; + $emailDosen = $val['email']; + + echo " + + + + + + + + + "; + ++$no; + } + ?> + +
    NoFotoNama LengkapNomor IndukEmailKelompok Keahlian
    $no$namaDosen$nipDosen$emailDosen$namaKK
    + + + + \ No newline at end of file diff --git a/mahasiswa/.htaccess b/mahasiswa/.htaccess new file mode 100644 index 0000000..e69de29 diff --git a/mahasiswa/API/getBerkasSidangMahasiswa.php b/mahasiswa/API/getBerkasSidangMahasiswa.php new file mode 100644 index 0000000..e69de29 diff --git a/mahasiswa/API/list.data.judul.php b/mahasiswa/API/list.data.judul.php new file mode 100644 index 0000000..21f0fbc --- /dev/null +++ b/mahasiswa/API/list.data.judul.php @@ -0,0 +1,117 @@ +connect(); + +header('Content-Type: application/json'); + +if (!isset($_SESSION['login-mhs'])) { + echo json_encode(['status' => 403, 'msg' => 'Forbidden']); + exit; +} + +$status = $_GET['status']; +$kk = $_GET['kk']; + +$idMahasiswa = $_SESSION['login-mhs']['id']; + +$sql = "SELECT * FROM tb_kelompok_keahlian"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listKK = []; +while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $listKK[$row['idKK']] = $row['namaKK']; +} + +$sql = "SELECT * FROM tbdosen"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listDosen = []; +while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $listDosen[$row['iddosen']] = $row['nmLengkap']; +} + + +$sql = "SELECT tData.*, tbmhs.nim, tbmhs.nmLengkap FROM (SELECT * FROM tb_penawaran_judul LEFT JOIN (SELECT t.idPenawaranAmbil, t.idMhs, t.statusPengambilan, t.waktuPengambilan, t.waktuVerifikasi, r.maxWaktu + FROM ( + SELECT idPenawaranAmbil, MAX(waktuPengambilan) as maxWaktu + FROM tb_ambil_judul + GROUP BY idPenawaranAmbil + ) r + INNER JOIN tb_ambil_judul t + ON t.idPenawaranAmbil = r.idPenawaranAmbil AND t.waktuPengambilan = r.maxWaktu) as tAmbil ON tb_penawaran_judul.idPenawaran = tAmbil.idPenawaranAmbil) tData LEFT JOIN tbmhs ON tData.idMhs = tbmhs.idmhs ORDER BY waktuInput DESC"; +$stmt = $dbh->prepare($sql); +$stmt->execute(); + +$listData = []; + +while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $judul = $row['judul']; + $idPenawaran = $row['idPenawaran']; + $maxWaktu = $row['maxWaktu']; + $statusDb = $row['statusPengambilan']; + $namaMhs = $row['nmLengkap']; + $nimMhs = $row['nim']; + $idKK = $row['kk']; + $idDosenInput = $row['idDosen']; + $deskripsi = $row['deskripsi']; + + $namaKK = '-'; + if(isset($listKK[$idKK])){ + $namaKK = $listKK[$idKK]; + } + + $namaDosen = '-'; + if(isset($listDosen[$idDosenInput])){ + $namaDosen = $listDosen[$idDosenInput]; + } + + if($statusDb == "2"){ + $namaMhs = null; + } + + if($status == "0"){ + if(!($statusDb == null || $statusDb == "2")){ + continue; + } + } + + if($status == "1"){ + if($statusDb == null || $statusDb == "2"){ + continue; + } + } + + + if($kk != "Semua"){ + if($idKK != $kk){ + continue; + } + } + + $tglHangusOtomatis = date('d-m-Y 00:00:00', strtotime($maxWaktu. ' +6 day')); + + array_push($listData, [ + 'id' => $idPenawaran, + 'judul' => $judul, + 'kk' => $namaKK, + 'dosen' => $namaDosen, + 'waktuBooking' => date('d-m-Y H:i:s', strtotime($maxWaktu)), + 'hangus' => $tglHangusOtomatis, + 'status' => $statusDb, + 'nama' => $namaMhs, + 'nim' => $nimMhs, + 'deskripsi' => $deskripsi + ]); + +} + +echo json_encode(utf8ize($listData)); + +?> \ No newline at end of file diff --git a/mahasiswa/_footer.php b/mahasiswa/_footer.php new file mode 100644 index 0000000..820af7d --- /dev/null +++ b/mahasiswa/_footer.php @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/mahasiswa/_header.php b/mahasiswa/_header.php new file mode 100644 index 0000000..cd2c0c6 --- /dev/null +++ b/mahasiswa/_header.php @@ -0,0 +1,137 @@ +runQuery($sqlIdent); + $rowIdent =$db->dbFetch($dataIdent); + $noHPIdent = $rowIdent['noHP']; + $noHPIdentOrtu = $rowIdent['noHPOrtu']; + $bolehUploadDraft = $rowIdent['bolehUploadDraft']; + + if(empty($noHPIdent) || empty($noHPIdentOrtu)){ + if($_GET['menu'] != 'my-profile'){ + echo ""; + exit; + } + } + + if($noHPIdent == $noHPIdentOrtu){ + if($_GET['menu'] != 'my-profile'){ + echo ""; + exit; + + } + } + + $idUser = $_SESSION['login-mhs']['id']; + + $e = "SELECT * FROM tbmhs WHERE idmhs != '$idUser' AND (noHP = '$noHPIdent' OR noHPOrtu = '$noHPIdent' OR noHP = '$noHPIdentOrtu' OR noHPOrtu = '$noHPIdentOrtu')"; + $db->runQuery($e); + + if ($db->dbRows() > 0) { + if($_GET['menu'] != 'my-profile'){ + echo ""; + exit; + + } + } + + if(strlen($noHPIdent) < 8 || strlen($noHPIdentOrtu) < 8){ + if($_GET['menu'] != 'my-profile'){ + echo ""; + exit; + + } + } + + +?> + \ No newline at end of file diff --git a/mahasiswa/_navbar.php b/mahasiswa/_navbar.php new file mode 100644 index 0000000..a779b84 --- /dev/null +++ b/mahasiswa/_navbar.php @@ -0,0 +1,184 @@ + + \ No newline at end of file diff --git a/mahasiswa/act.auth.php b/mahasiswa/act.auth.php new file mode 100644 index 0000000..62387fe --- /dev/null +++ b/mahasiswa/act.auth.php @@ -0,0 +1,323 @@ +runQuery($check); + + if($db->dbRows()>0){ + $log=$db->dbFetch(); + if($log['password']==md5($password)){ + $sesilogin=array( + "nim"=>$log['nim'], + "prodi"=>$log['idProdi'], + "nmprodi"=>$log['nmProdi'], + "nama_lengkap"=>$log['nmLengkap'], + "id"=>$log['idmhs'], + "status"=>$log['status'] + ); + + $_SESSION['login-mhs']=$sesilogin; + echo json_encode( + array( + "result" =>TRUE, + "msg" =>"Login Sukses." + )); + }else{ + //password salah + echo json_encode( + array( + "result" =>FALSE, + "msg" =>"Gagal Login, Password anda tidak sesuai/salah." + )); + } + }else{ + //username tidak terdaftar + echo json_encode(array( + "result" =>FALSE, + "msg" =>"Gagal Login, Username Anda tidak terdaftar." + )); + } + break; + + + case 'loginnew': + + $username=$_POST['username']; + $password=$_POST['password']; + + $usernameSiakad = rawurlencode($username); + $passwordSiakad = rawurlencode($password); + + $passwordMD5 = md5($password); + + //$url = "http://servicedosen.siakad.untan.ac.id/Datasnap/Rest/Tservermethods1/loginmhs/$usernameSiakad/x$passwordSiakad"; + //$url = "http://203.24.50.140/API/forward-login-siakad-mhs.php?nim=$usernameSiakad&pass=$passwordSiakad"; + + //$url = "https://informatika.untan.ac.id/API/public/forward-login-siakad-mhs.php?nim=$usernameSiakad&pass=$passwordSiakad"; + /** + $url = "http://203.24.50.140/API/login-siakad-mhs.php?username=$usernameSiakad&password=$passwordSiakad"; + $context = stream_context_create(['http' => ['ignore_errors' => true]]); + $result = @file_get_contents($url, false, $context); + + if ($http_response_header[0] == 'HTTP/1.1 200 OK') { + $decodedResult = json_decode($result, true); + //echo $result; + if (isset($decodedResult['result'][0]['idmhs'])) { + if ($decodedResult['result'][0]['idmhs'] == '0') { + echo json_encode(array( + "result" =>FALSE, + "msg" => "Username atau password tidak cocok." + )); + exit(); + } else { + $dataMahasiswa = $decodedResult['result'][0]; + $namaMahasiswa = $dataMahasiswa['nama']; + $idProdiMahasiswa = $dataMahasiswa['idprogdi']; + } + } else { + $dom = new DOMDocument(); + @$dom->loadHTML($result); + $x = new DOMXPath($dom); + + $pesanSiakad = null; + foreach ($x->query("//div[contains(@class, 'kotak')]") as $node) { + $pesanSiakad = $node->nodeValue; + } + + if ($pesanSiakad != null) { + $namaMahasiswa = trim(get_string_between($pesanSiakad, 'Sdr/i.', ', Anda Terkena')); + $idProdiMahasiswa = "-1"; + + } else { + echo json_encode(array( + "result" =>FALSE, + "msg" =>"Tidak dapat terhubung dengan service SIAKAD." + )); + exit(); + } + + //print_r($data); + } + } else { + echo json_encode(array( + "result" =>FALSE, + "msg" =>"Tidak dapat terhubung dengan service SIAKAD." + )); + exit(); + } + */ + + /** login presensi */ + + $usernamePost = urlencode($username); + $passwordPost = urlencode($password); + //$url = "http://bkd.untan.ac.id/API/steven/login-siakad-mhs.php?username=$usernamePost&password=$passwordPost"; + $url = "http://203.24.50.140/API/login-siakad-mhs.php?get&username=$usernamePost&password=$passwordPost"; + //$result = file_get_contents($url); + + + //$decodedData = json_decode($result, 1); + + $payload = [ + 'nim' => $username, + 'password' => $password, + ]; + + $postData = json_encode($payload); + $opts = ['http' => + [ + 'method' => 'POST', + 'ignore_errors' => true, + 'header' => 'Content-Type: application/json', + 'content' => $postData, + + ], + "ssl"=>[ + "verify_peer"=>false, + "verify_peer_name"=>false, + ], + ]; + + $context = stream_context_create($opts); + $response = file_get_contents($url, false, $context); + + /** + $decoded = json_decode($response, 1); + + + if (!isset($decoded['CODE'])) { + echo json_encode([ + 'result' => FALSE, + 'msg' => 'Tidak dapat terhubung dengan Service SIAKAD.', + ]); + exit(); + } + + $responseCode = $decoded['CODE']; + + if ($responseCode == '502') { + echo json_encode([ + 'status' => FALSE, + 'msg' => 'Tidak dapat terhubung dengan Service SIAKAD.', + ]); + exit(); + } + + if ($responseCode == '401') { + echo json_encode([ + 'status' => FALSE, + 'msg' => 'NIM atau password tidak cocok.', + ]); + exit(); + } + + if ($responseCode == '200') { + $dataMahasiswa = $decoded['USER']; + $namaMahasiswa = $dataMahasiswa['nama']; + $namaMahasiswa = str_replace('"', "", $namaMahasiswa); + $namaMahasiswa = str_replace("'", "", $namaMahasiswa); + + } + */ + + + $decodedData = json_decode($response, 1); + + $decoded = $decodedData['result']; + if (!isset($decoded)) { + echo json_encode([ + 'status' => FALSE, + 'msg' => 'Tidak dapat terhubung dengan Service SIAKAD.', + ]); + exit(); + } + + $dataMahasiswa = $decoded['0']; + + if (!isset($dataMahasiswa['iden'])) { + echo json_encode([ + 'status' => FALSE, + 'msg' => 'NIM atau password tidak cocok.', + ]); + exit(); + } + + $namaMahasiswa = $dataMahasiswa['nama']; + $namaMahasiswa = str_replace('"', "", $namaMahasiswa); + $namaMahasiswa = str_replace("'", "", $namaMahasiswa); + + + /** end login presensi */ + + $check="SELECT tm.nim,tm.idmhs,tm.password,tm.nmLengkap,tm.idProdi,tp.nmProdi,tm.status FROM tbmhs tm LEFT JOIN tbprodi tp ON (tm.idProdi=tp.idProdi) WHERE tm.nim='$username' LIMIT 1"; + $db->runQuery($check); + + if($db->dbRows()>0){ + $log=$db->dbFetch(); + $sesilogin=array( + "nim"=>$log['nim'], + "prodi"=>$log['idProdi'], + "nmprodi"=>$log['nmProdi'], + "nama_lengkap"=>$log['nmLengkap'], + "id"=>$log['idmhs'], + "status"=>$log['status'] + ); + + $_SESSION['login-mhs']=$sesilogin; + + $update = "UPDATE tbmhs SET password = '{$passwordMD5}' WHERE idmhs = {$log['idmhs']}"; + $db->runQuery($update); + + echo json_encode( + array( + "result" =>TRUE, + "msg" =>"Login Sukses." + )); + }else{ + //username tidak terdaftar + $thnMasuk = '20'.substr($username, 5, 2); + $insert = "INSERT INTO tbmhs(nim, password, nmLengkap, idProdi, thnmasuk, status, bolehUploadDraft) VALUES ('{$username}', '{$passwordMD5}', '{$namaMahasiswa}', '2', '{$thnMasuk}', 'A', '0')"; + $db->runQuery($insert); + + $check="SELECT tm.nim,tm.idmhs,tm.password,tm.nmLengkap,tm.idProdi,tp.nmProdi,tm.status FROM tbmhs tm LEFT JOIN tbprodi tp ON (tm.idProdi=tp.idProdi) WHERE tm.nim='$username' LIMIT 1"; + $db->runQuery($check); + + $log=$db->dbFetch(); + $sesilogin=array( + "nim"=>$log['nim'], + "prodi"=>$log['idProdi'], + "nmprodi"=>$log['nmProdi'], + "nama_lengkap"=>$log['nmLengkap'], + "id"=>$log['idmhs'], + "status"=>$log['status'] + ); + + $_SESSION['login-mhs']=$sesilogin; + echo json_encode( + array( + "result" =>TRUE, + "msg" =>"Login Sukses." + )); + + } + break; + + case 'logout': + unset($_SESSION['login-mhs']); + echo json_encode(array("result"=>true)); + break; + + case 'recoverpass' : // coming soon + $email=$_POST['email']; + $query="SELECT * FROM tbmhs WHERE email='$email' limit 1"; + $db->runQuery($query); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $idmh=$r['idmhs']; + $username=$r['nim']; + $password=$r['password']; + $date=date('Y-m-d H:i:s'); + $recoverkey=md5($password.$username.$date); + $recover="INSERT INTO temp_resetpass SET tglrecover='$date', iduser='$idmh', jenis='M', rkey='$recoverkey'"; + //echo $recover; + $db->runQuery($recover); + + //$linkreset="/~project/spota/request.php?key=$recoverkey"; + //script kirim email + echo json_encode(array( + "result" =>TRUE, + "msg" =>"Terima Kasih, \nSilakan Cek Email Anda untuk reset password" + )); + }else{ + echo json_encode(array( + "result" =>FALSE, + "msg" =>"Email tidak terdaftar." + )); + } + break; + + /*default: + break;*/ + } + + +} + +?> \ No newline at end of file diff --git a/mahasiswa/dashboard.php b/mahasiswa/dashboard.php new file mode 100644 index 0000000..2b68eae --- /dev/null +++ b/mahasiswa/dashboard.php @@ -0,0 +1,197 @@ + + + + + + + + + + + Dashboard - Halaman Mahasiswa + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + diff --git a/mahasiswa/index.php b/mahasiswa/index.php new file mode 100644 index 0000000..9a6d3e1 --- /dev/null +++ b/mahasiswa/index.php @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/mahasiswa/login.php b/mahasiswa/login.php new file mode 100644 index 0000000..8b71560 --- /dev/null +++ b/mahasiswa/login.php @@ -0,0 +1,136 @@ + + + + + + + + + LOGIN MAHASISWA - SPOTA UNTAN + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +

    Lupa Password?

    +

    + Silakan masukkan email anda. +

    +
    + +
    + Ada kesalahan, silakan dicek terlebih dahulu +
    +
    +
    + + + +
    +
    + + +
    +
    +
    +
    + + + +
    + + + + + + + + + + + \ No newline at end of file diff --git a/mahasiswa/page/dashboard/act.dashboard.php b/mahasiswa/page/dashboard/act.dashboard.php new file mode 100644 index 0000000..bf46bc6 --- /dev/null +++ b/mahasiswa/page/dashboard/act.dashboard.php @@ -0,0 +1,58 @@ +runQuery($q); + if($db->dbRows()>0){ + $r=$db->dbFetch(); + $nama=$r['nmLengkap']; + $nim=$r['nim']; + $judul_skripsi=$r['judul']; + $ruangan=$r['ruangan']; + $jenis=$r['jenis']; + $pemb1=$r['pemb1']; + $pemb2=$r['pemb2']; + $peng1=$r['peng1']; + $peng2=$r['peng2']; + $start=explode(" ", $r['start']); + $tgl=tanggalIndo($start[0], "j F Y"); + $wkt=$start[1]; + echo json_encode(array( + "result"=>true, + "msg"=>"Sukses", + "nama"=>$nama, + "nim"=>$nim, + "judul"=>$judul_skripsi, + "jenis"=>strtoupper($jenis), + "ruangan"=>$ruangan, + "pemb1"=>$pemb1, + "pemb2"=>$pemb2, + "peng1"=>$peng1, + "peng2"=>$peng2, + "tgl"=>$tgl, + "wkt"=>$wkt, + )); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Data Tidak Ditemukan")); + } + } + break; + } +} + +?> \ No newline at end of file diff --git a/mahasiswa/page/dashboard/dashboard.php b/mahasiswa/page/dashboard/dashboard.php new file mode 100644 index 0000000..f90cd30 --- /dev/null +++ b/mahasiswa/page/dashboard/dashboard.php @@ -0,0 +1,234 @@ + + +
    +
    + + + +
    +
    +
    +
    + +
    +

    Hi,

    +

    Selamat datang di Sistem Pendukung Outline Tugas Akhir (SPOTA) Universitas Tanjungpura

    +
    + + + runQuery($q1); + if($db->dbRows()>0){ + $r1=$db->dbFetch(); + switch($r1['status_usulan']){ + case '0': + ?> +
    +

    Draft Praoutline Masih Dalam Proses Review

    +

    + Silakan lihat menu review untuk melihat review dari dosen. +

    +

    + + Lihat Review + + + + Download Aplikasi Android + + +

    +
    + +
    + +

    Draft Praoutline Anda Telah DiSetujui

    + +

    + + Lihat Putusan + +

    +
    + +
    + +

    Judul yang Anda Ajukan Tidak Disetujui

    +

    Keterangan :

    +

    +

    + + Upload Judul Baru + +

    +
    + + + + + runQuery($p); + if($db->dbRows()>0){ + $pp=$db->dbFetch(); + if($pp['jlh']>0){ + ?> +
    + +

    Pengumuman Terbaru

    +

    + Terdapat Pengumuman Terbaru Yang Belum Dibaca +

    +

    + + Lihat Semua Pengumuman + +

    +
    + +
    + +

    Pengumuman Terbaru

    +

    + Tidak Terdapat Pengumuman Terbaru +

    +

    + + Lihat Semua Pengumuman + +

    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/mahasiswa/page/dashboard/json.kalender.php b/mahasiswa/page/dashboard/json.kalender.php new file mode 100644 index 0000000..e2e686a --- /dev/null +++ b/mahasiswa/page/dashboard/json.kalender.php @@ -0,0 +1,36 @@ +runQuery($s); +if($db->dbRows()>0){ + while($r=$db->dbFetch()){ + if($r['jenis']=="Sidang"){ + $warna="label-orange text-ellipsis"; + }else if($r['jenis']=="Outline"){ + $warna="label-green text-ellipsis"; + }else if($r['jenis']=="SidHas"){ + $warna="label-yellow text-ellipsis"; + }else{ + $warna="label-default text-ellipsis"; + } + $data['id']=$r['id']; + //$data['title']=$r['nim']; + $data['title']= ucwords(strtolower($r['nmLengkap'])); + $data['start']=$r['start']; + $data['end']=$r['end']; + $data['className']=$warna; + $jadwal[]=$data; + } + echo json_encode($jadwal); +} +?> \ No newline at end of file diff --git a/mahasiswa/page/kelompokkeahlian/kelompokkeahlian.php b/mahasiswa/page/kelompokkeahlian/kelompokkeahlian.php new file mode 100644 index 0000000..5984d73 --- /dev/null +++ b/mahasiswa/page/kelompokkeahlian/kelompokkeahlian.php @@ -0,0 +1,91 @@ + +
    +
    + + + +
    +
    +
    +
    + runQuery($sql); + + $listDosen = []; + while ($row = $db->dbFetch($result)) { + $listDosen[$row['iddosen']] = $row['nmLengkap']; + } + + $sql = 'SELECT * FROM tb_kelompok_keahlian LEFT JOIN tbdosen ON tb_kelompok_keahlian.ketuaKK = tbdosen.iddosen'; + $result = $db->runQuery($sql); + + $listData = []; + while ($row = $db->dbFetch($result)) { + if($row['idKK'] == "8"){ + continue; + } + $idKetua = $row['ketuaKK']; + $idSekretaris = $row['sekretarisKK']; + + $namaKetua = "-"; + $namaSekretaris = "-"; + + if(isset($listDosen[$idKetua])){ + $namaKetua = $listDosen[$idKetua]; + } + + if(isset($listDosen[$idSekretaris])){ + $namaSekretaris = $listDosen[$idSekretaris]; + } + array_push($listData, [ + 'id' => $row['idKK'], + 'nama' => $row['namaKK'], + 'ketua' => $idKetua, + 'namaKetua' => $namaKetua, + 'sekretaris' => $idSekretaris, + 'namaSekretaris' => $namaSekretaris, + ]); + } + + + + ?> + + + + + + + + + + + + $val){ + echo ""; + $no++; + } + ?> + +
    NoNama KKKetuaSekretaris
    ".$no.".".$val['nama']."".$val['namaKetua']."".$val['namaSekretaris']."
    +
    +
    diff --git a/mahasiswa/page/outline/!act.praoutline.php b/mahasiswa/page/outline/!act.praoutline.php new file mode 100644 index 0000000..808ab52 --- /dev/null +++ b/mahasiswa/page/outline/!act.praoutline.php @@ -0,0 +1,217 @@ +runQuery($query); + $data = $db->dbFetch(); + $newID = $data['Auto_increment']; + $nim=$_SESSION['login-mhs']['nim']; + + if(!isset($_FILES['berkas']) || !is_uploaded_file($_FILES['berkas']['tmp_name'])){ + echo json_encode(array("result"=>false,"msg"=>"Pastikan File Sudah dipilih")); + exit; + }else{ + $dir=LAMPIRAN_FILE; + + //$supportlist=array('pdf','zip','doc','docx'); + $namaberkas=$_FILES['berkas']['name']; + $type=$_FILES['berkas']['type']; + $tmpname=$_FILES['berkas']['tmp_name']; + $ext=get_ext($namaberkas); + + if(!$ext=='pdf'){ + echo json_encode(array("result"=>false,"msg"=>"Hanya Mendukung file pdf")); + exit; + } + + $pathfile=$dir.$newID."-".$nim.".".$ext; + + if (move_uploaded_file($tmpname,$pathfile)){ + $query="INSERT INTO tbpraoutline SET + id='$newID', + nim='$nim', + judul='".$_POST['judul']."', + deskripsi='".$_POST['deskripsi']."', + berkas='".$newID."-".$nim.".".$ext."', + idProdi='".$_SESSION['login-mhs']['prodi']."', + tgl_upload=CURDATE(), + wkt_upload=CURTIME() + "; + if(!$db->runQuery($query)){ + echo json_encode(array("result"=>false,"msg"=>"Upload Berkas Gagal DbError")); + @unlink($pathfile); + exit; + }else{ + echo json_encode(array("result"=>true,"msg"=>"Upload Desain Praoutline Berhasil")); + } + }else{ + echo json_encode(array("result"=>false,"msg"=>"Upload Berkas Gagal")); + exit; + } + + } + break; + + case 'post_review': + $idpraoutline=$_POST['idpra']; + $nim=$_SESSION['login-mhs']['nim']; + $prodi=$_SESSION['login-mhs']['prodi']; + if(ctype_digit($idpraoutline)){ + if($_POST['text_review']==""){ + echo json_encode(array("result"=>false,"msg"=>"Tanggapan harus diisi")); + }else{ + $insert="INSERT INTO tbreview SET + idpraoutline='".$idpraoutline."', + idProdi='".$prodi."', + reviewer='".$nim."', + review_text='".$_POST['text_review']."', + jenis_review='0', + tgl=CURDATE(), + wkt=CURTIME()"; + + if($db->runQuery($insert)){ + echo json_encode(array("result"=>true,"msg"=>"Sukses Menambahkan Tanggapan")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Gagal Menambahkan Tanggapan, DBError")); + } + } + } + break; + + case 'cari': + $key=$_POST['key']; + $jenis=$_POST['by']; + if($jenis=='nim'){ + $by=" tp.nim LIKE '%$key%' "; + }else{ + $pecah=explode(" ", $key); + $jpecah=count($pecah); + if($jpecah==1){ + $by=" tp.judul LIKE '%$key%' "; + }else{ + $by=""; + for($x=0;$x<$jpecah;$x++){ + if($x==0){ + $by.=" tp.judul like '%$pecah[$x]%' "; + }else{ + $by.=" OR tp.judul like '%$pecah[$x]%' "; + } + } + } + } + //include "result-cari.php"; + /*$cari="SELECT * FROM tbpraoutline WHERE $by ORDER BY tgl_upload,wkt_upload,nim,judul";*/ + $cari="SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.status_usulan, + 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 + FROM tbpraoutline tp + JOIN tbreview tr ON (tp.id=tr.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE $by GROUP BY tp.id"; + + //echo $cari; + $db->runQuery($cari); + if($db->dbRows()>0){ + ?> +

    Hasil Pencarian ''

    +
    + dbFetch()){ + if($rcari['status_usulan']==0){ + $statusPraoutline=' - Dalam Proses'; + }else if($rcari['status_usulan']==1){ + $statusPraoutline=' - Judul Diterima'; + }else if($rcari['status_usulan']==2){ + $statusPraoutline=' - Judul Ditolak'; + }else if($rcari['status_usulan']==3){ + $statusPraoutline=' - Judul Gugur'; + } + ?> +
    +
    +

    + +
    +
    +

    Oleh - Download File

    +
    +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + runQuery($kep_final); + if($db->dbRows()==0){ + $kep=$db->dbFetch(); + ?> +
    + +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + } + } + ?> +
    + + + + + Maaf! Data Tidak Ditemukan.. + '; + } + break; + } +} +} +?> \ No newline at end of file diff --git a/mahasiswa/page/outline/!review.php b/mahasiswa/page/outline/!review.php new file mode 100644 index 0000000..6bc2712 --- /dev/null +++ b/mahasiswa/page/outline/!review.php @@ -0,0 +1,280 @@ + +
    +
    + + +
    +
    +runQuery($checkpraoutline); +if($db->dbRows()>0){ + $stat_judul="SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.status_usulan, + COUNT(tr.id) as jlhreview, + COUNT(if(tr.jenis_review=0,1,null)) as komentar, + COUNT(if(tr.jenis_review=1,1,null)) as putusan, + COUNT(if(tr.putusan=1,1,null)) as setuju, + count(if(tr.putusan=0,1,null)) as tdk_setuju + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + LEFT JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE tp.nim='$nim' AND tp.status_usulan='0' GROUP BY tp.id"; + $db->runQuery($stat_judul); + if($db->dbRows()>0){ + $stat=$db->dbFetch(); + if($stat['status_usulan']==0){ + $statusPraoutline=' - Dalam Proses'; + }else if($stat['status_usulan']==1){ + $statusPraoutline=' - Judul Diterima'; + }else if($stat['status_usulan']==2){ + $statusPraoutline=' - Judul Ditolak'; + }else if($stat['status_usulan']==3){ + $statusPraoutline=' - Judul Gugur'; + } + ?> +
    +
    +

    + +
    +
    +

    Oleh - Download File

    +
    +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + + runQuery($kep_final); + if($db->dbRows()==0){ + $kep=$db->dbFetch(); + ?> +
    + +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + } + } + ?> +
    + + 0){ + ?> +
    +
    +
    +
    + runQuery($rev); + if($db->dbRows()>0){ + echo '
      '; + while($r=$db->dbFetch()){ + if($r['reviewer']==$nim){ + $jenis="self"; + $nama=''.$r['nmMhs'].' Quote
      '; + $foto=$r['ftmhs']; + }else{ + $jenis="other"; + $nama=''.$r['nmDosen'].' Quote
      '; + $foto=$r['ftdosen']; + } + + if($r['putusan']=='1'){ + $putusan="Setuju"; + }else if($r['putusan']=='0'){ + $putusan="Tidak Setuju"; + }else{ + $putusan=""; + } + + ?> +
    1. +
      + +
      +
      + +

      + +


      + , +
      +
    2. + '; + }else{ + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } + ?> + +
    +
    +
    + runQuery($q); + if($db->dbRows()>0){ + $qq=$db->dbFetch(); + if($qq['nmDosen']!=""){ + $nmReviewer=$qq['nmDosen']; + }else if($qq['nmMhs']!=""){ + $nmReviewer=$qq['nmMhs']; + } + + if($qq['putusan']=='1'){ + $putusan="Setuju"; + }else if($qq['putusan']=='0'){ + $putusan="Tidak Setuju"; + }else{ + $putusan=""; + } + $text.="[quote="; + $text.="$nmReviewer;".tanggalIndo($qq['tgl'],'j F Y')."]"; + $text.=$qq['review_text']; + $text.="[/quote]"; + } + } + } + ?> + +
    +
    + +
    + + +
    +
    + Tanggapan :
    + +
    +
    + + +
    +
    +
    +
    +
    + +
    + Belum Ada Review dari Dosen."; + ?> +
    + +
    +
    + +
    + + +
    +
    + Tanggapan :
    + +
    +
    + + +
    +
    +
    +
    +
    + +
    + Maaf. Data Review Untuk Mahasiswa ".$_GET['nim']." Tidak Ditemukan. "; +} + +?> \ No newline at end of file diff --git a/mahasiswa/page/outline/act.outline.php b/mahasiswa/page/outline/act.outline.php new file mode 100644 index 0000000..f548246 --- /dev/null +++ b/mahasiswa/page/outline/act.outline.php @@ -0,0 +1,171 @@ +runQuery($simpan)) { + echo json_encode(['result' => true, 'msg' => 'Sukses Menambahkan Diskusi']); + } else { + echo json_encode(['result' => false, 'msg' => 'Gagal Menambahkan Diskusi, DBError']); + } + break; + + case 'post_review': + $query = "SHOW TABLE STATUS LIKE 'tbreviewdiskusi'"; + $db->runQuery($query); + $data = $db->dbFetch(); + //$newID = $data['Auto_increment']; + $newID = time().rand(100,999); + + $nim = $_SESSION['login-mhs']['nim']; + $id = $_POST['id']; + $sub = $_POST['sub']; + $prodi = $_SESSION['login-mhs']['prodi']; + $rev_text = $_POST['text_review']; + + //print_r($_POST); + //print_r($_FILES); + if ($_FILES['berkas']['name'] != '') { + $dir = LAMPIRAN_FILE; + if (!is_dir($dir) && !@mkdir($dir, 0777, true) && !is_dir($dir)) { + echo json_encode(['result' => false, 'msg' => 'Folder upload tidak tersedia.']); + exit; + } + + $supportlist = ['pdf', 'zip', 'doc', 'docx']; + $namaberkas = $_FILES['berkas']['name']; + $type = $_FILES['berkas']['type']; + $tmpname = $_FILES['berkas']['tmp_name']; + $ext = get_ext($namaberkas); + + if (!in_array($ext, $supportlist)) { + echo json_encode(['result' => false, 'msg' => 'Hanya Mendukung file pdf, zip, word']); + exit; + } + + $nmfile = $newID.'-'.$nim.'-'.trim($sub).'.'.$ext; + $pathfile = $dir.$nmfile; + + if (move_uploaded_file($tmpname, $pathfile)) { + $query = "INSERT INTO tbreviewdiskusi SET + idDiskusi='$id', + idProdi='$prodi', + reviewer='$nim', + rev_text='$rev_text', + file_lamp='".$nmfile."', + type_filelamp='".$type."', + tgl=CURDATE(), + wkt=CURTIME(), + status='0' + "; + if (!$db->runQuery($query)) { + echo json_encode(['result' => false, 'msg' => 'Review Gagal DbError']); + @unlink($pathfile); + exit; + } else { + echo json_encode(['result' => true, 'msg' => 'Review Berhasil Ditambahkan']); + } + } else { + echo json_encode(['result' => false, 'msg' => 'Review Gagal Ditambahkan']); + exit; + } + } else { + $query = "INSERT INTO tbreviewdiskusi SET + idDiskusi='$id', + idProdi='$prodi', + reviewer='$nim', + rev_text='$rev_text', + tgl=CURDATE(), + wkt=CURTIME(), + status='0' + "; + if (!$db->runQuery($query)) { + echo json_encode(['result' => false, 'msg' => 'Review Gagal Ditambahkan']); + } else { + echo json_encode(['result' => true, 'msg' => 'Review Berhasil Ditambahkan']); + } + } + break; + + case 'jadwal': + $judul = $_POST['judul']; + $pemb1 = $_POST['pemb1']; + $pemb2 = $_POST['pemb2']; + $peng1 = $_POST['peng1']; + $peng2 = $_POST['peng2']; + $jenis = $_POST['jenis']; + $ruang = $_POST['ruang']; + if (isset($_POST['idTA'])) { + $idTA = $_POST['idTA']; + + $sql = "SELECT * FROM tb_verif_berkas WHERE idRekapHasil = '$idTA' AND jenisSidang = '$jenis'"; + $db->runQuery($sql); + + if ($db->dbRows() == 0) { + $sql = "INSERT INTO tb_verif_berkas(idRekapHasil, jenisSidang) VALUES('$idTA', '$jenis')"; + $db->runQuery($sql); + } + } else { + $idTA = null; + } + + $daterange = $_POST['daterange']; + $date = explode('-', $daterange); + $date1 = date_create($date[0]); + $start = date_format($date1, 'Y-m-d'); + $date2 = date_create($date[1]); + $end = date_format($date2, 'Y-m-d'); + $idmhs = $_SESSION['login-mhs']['id']; + $prodi = $_SESSION['login-mhs']['prodi']; + + $submit = "INSERT INTO tbjadwal SET + idMhs='".$idmhs."', + idProdi='".$prodi."', + judul='".$judul."', + ruangan='".$ruang."', + jenis='".$jenis."', + start='".$start."', + end='".$end."', + pemb1='".$pemb1."', + pemb2='".$pemb2."', + peng1='".$peng1."', + peng2='".$peng2."', + idRekapHasil='".$idTA."', + publish='N'"; + + if ($db->runQuery($submit)) { + echo json_encode(['result' => true, 'msg' => 'Sukses Mengajukan Jadwal']); + } else { + echo json_encode(['result' => false, 'msg' => 'Gagal Mengajukan Jadwal, DBError']); + } + break; + } + } +} diff --git a/mahasiswa/page/outline/diskusi.php b/mahasiswa/page/outline/diskusi.php new file mode 100644 index 0000000..1833daf --- /dev/null +++ b/mahasiswa/page/outline/diskusi.php @@ -0,0 +1,115 @@ +
    +
    + + +
    +
    +runQuery($nmPemb1); + $pemb1=$db->dbFetch(); + + $nmPemb2="SELECT + td.nip, + td.nmLengkap, + tr.nim, + tr.pemb2 + FROM tbdosen td + LEFT JOIN tbrekaphasil tr ON (td.nip=tr.pemb2) + WHERE tr.nim='$nim' AND tr.kep_akhir='1'"; + + $db->runQuery($nmPemb2); + $pemb2=$db->dbFetch(); + +?> +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    diff --git a/mahasiswa/page/outline/jadwal.php b/mahasiswa/page/outline/jadwal.php new file mode 100644 index 0000000..7409436 --- /dev/null +++ b/mahasiswa/page/outline/jadwal.php @@ -0,0 +1,227 @@ +
    +
    + + +
    +
    +runQuery($ket); + $all=$db->dbFetch(); + +$cek="select*from tbjadwal where idMhs='$idmhs'"; + $db->runQuery($cek); + if($db->dbRows()>0){ + $view=$db->dbFetch(); + if($view['publish']=='N' AND $view['jenis']=='Outline'){ + echo "
    Anda Telah Mengajukan Jadwal Seminar Outline. Silahkan Tunggu Konfirmasi Admin.
    "; + }else if($view['publish']=='Y' AND $view['jenis']=='Outline'){ + $tg=date_create($view['start']); + $tgl=tanggalIndo($view['start'],'j F Y'); + $jm=date_format($tg, 'H:i'); + + $nim=$_SESSION['login-mhs']['nim']; + $id=$_SESSION['login-mhs']['id']; + $key=md5($nim)."%$id"; + echo "
    Jadwal Seminar Outline Telah Di Konfirmasi pada tanggal $tgl pukul $jm di Ruang $view[ruangan]. +

    Link Daftar Peserta Seminar : ".DOMAIN_UTAMA."/daftar_peserta?key=$key";?>

    "; + }else if($view['publish']=='N' AND $view['jenis']=='Sidang'){ + echo "
    Anda Telah Mengajukan Jadwal Sidang Skripsi. Silahkan Tunggu Konfirmasi Admin.
    "; + }else if($view['publish']=='Y' AND $view['jenis']=='Sidang'){ + $tg=date_create($view['start']); + $tgl=tanggalIndo($view['start'],'j F Y'); + $jm=date_format($tg, 'H:i'); + echo "
    Jadwal Sidang Skripsi Telah Di Konfirmasi pada tanggal $tgl di $view[ruangan].
    "; + } + ?> +
    +
    + + +
    + + " /> + runQuery($pb1); + $pemb1=$db->dbFetch(); + ?> + " /> + runQuery($pb2); + $pemb2=$db->dbFetch(); + ?> + " /> + runQuery($pg1); + $peng1=$db->dbFetch(); + ?> + " /> + runQuery($pg2); + $peng2=$db->dbFetch(); + ?> + " /> +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +

    + Range Tanggal Pengajuan +

    +
    + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    + +
    +
    + + +
    + + " /> + runQuery($pb1); + $pemb1=$db->dbFetch(); + ?> + " /> + runQuery($pb2); + $pemb2=$db->dbFetch(); + ?> + " /> + runQuery($pg1); + $peng1=$db->dbFetch(); + ?> + " /> + runQuery($pg2); + $peng2=$db->dbFetch(); + ?> + " /> +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +

    + Range Tanggal Pengajuan +

    +
    + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    + \ No newline at end of file diff --git a/mahasiswa/page/outline/jadwal_outline.php b/mahasiswa/page/outline/jadwal_outline.php new file mode 100644 index 0000000..1c372cb --- /dev/null +++ b/mahasiswa/page/outline/jadwal_outline.php @@ -0,0 +1,116 @@ +
    +
    + + +
    +
    +runQuery($cek); + if($db->dbRows()>0){ + $view=$db->dbFetch(); + if($view['publish']=='N' AND $view['jenis']=='Outline'){ + echo "
    Anda Telah Mengajukan Jadwal Seminar Outline. Silahkan Tunggu Konfirmasi Admin.
    "; + }else if($view['publish']=='Y' AND $view['jenis']=='Outline'){ + $tg=date_create($view['start']); + $tgl=tanggalIndo($view['start'],'j F Y'); + $jm=date_format($tg, 'H:i'); + + $nim=$_SESSION['login-mhs']['nim']; + $id=$_SESSION['login-mhs']['id']; + $key=md5($nim)."%$id"; + echo "
    Jadwal Seminar Outline Telah Di Konfirmasi pada tanggal $tgl pukul $jm di Ruang $view[ruangan]. +

    Link Daftar Peserta Seminar : ".DOMAIN_UTAMA."/daftar_peserta?key=$key";?>

    "; + } + }else{ + + $ket="SELECT * FROM tbrekaphasil where nim='$nim'"; + $db->runQuery($ket); + $all=$db->dbFetch(); +?> +
    +
    + +
    + + + +
    +
    + + +
    +
    + +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + runQuery($pb1); + $pemb1=$db->dbFetch(); + ?> + +
    +
    + + runQuery($pb2); + $pemb2=$db->dbFetch(); + ?> + +
    +
    + + runQuery($pg1); + $peng1=$db->dbFetch(); + ?> + +
    +
    + + runQuery($pg2); + $peng2=$db->dbFetch(); + ?> + +
    +
    +
    + +
    +
    + \ No newline at end of file diff --git a/mahasiswa/page/outline/jadwal_sidHas.php b/mahasiswa/page/outline/jadwal_sidHas.php new file mode 100644 index 0000000..33a9268 --- /dev/null +++ b/mahasiswa/page/outline/jadwal_sidHas.php @@ -0,0 +1,111 @@ +
    +
    + + +
    +
    +runQuery($ket); + $all = $db->dbFetch(); + +$cek = "select*from tbjadwal where idMhs='$idmhs' and jenis='SidHas'"; + $db->runQuery($cek); + + if ($db->dbRows() > 0) { + $view = $db->dbFetch(); + if ($view['publish'] == 'N' and $view['jenis'] == 'SidHas') { + echo "
    Anda Telah Mengajukan Jadwal Seminar Hasil Skripsi. Silahkan Tunggu Konfirmasi Admin.
    "; + } elseif ($view['publish'] == 'Y' and $view['jenis'] == 'SidHas') { + $tg = date_create($view['start']); + $tgl = tanggalIndo($view['start'], 'j F Y'); + $jm = date_format($tg, 'H:i'); + echo "
    Jadwal Seminar Hasil Skripsi Telah Di Konfirmasi pada tanggal $tgl di $view[ruangan].
    "; + } + } else { + ?> +
    +
    + +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + runQuery($pb1); + $pemb1 = $db->dbFetch(); ?> + +
    +
    + + runQuery($pb2); + $pemb2 = $db->dbFetch(); ?> + +
    +
    + + runQuery($pg1); + $peng1 = $db->dbFetch(); ?> + +
    +
    + + runQuery($pg2); + $peng2 = $db->dbFetch(); ?> + +
    +
    +
    + +
    +
    + \ No newline at end of file diff --git a/mahasiswa/page/outline/jadwal_sidang.php b/mahasiswa/page/outline/jadwal_sidang.php new file mode 100644 index 0000000..d2d2d10 --- /dev/null +++ b/mahasiswa/page/outline/jadwal_sidang.php @@ -0,0 +1,218 @@ +
    +
    + + +
    +
    +runQuery($ket); + $all = $db->dbFetch(); + + $currentIdRekap = $all['id']; + +$sql = "SELECT * FROM tb_verif_berkas WHERE idRekapHasil = '$currentIdRekap' AND jenisSidang = 'Sidang'"; +$db->runQuery($sql); + +$catatanDariAdmin = null; +$verifPemb1 = null; +$verifPemb2 = null; +$verifPeng1 = null; +$verifPeng2 = null; + +if ($db->dbRows() > 0) { + $dataVerif = $db->dbFetch(); + $catatanDariAdmin = $dataVerif['catatanDariAdmin']; + $verifPemb1 = $dataVerif['verifPemb1']; + $verifPemb2 = $dataVerif['verifPemb2']; + $verifPeng1 = $dataVerif['verifPeng1']; + $verifPeng2 = $dataVerif['verifPeng2']; +} + +if ($catatanDariAdmin == null || $catatanDariAdmin == '') { + $catatanDariAdmin = 'Tidak ada catatan'; +} + +$cek = "select*from tbjadwal where idMhs='$idmhs' and jenis='Sidang'"; + $db->runQuery($cek); + if ($db->dbRows() > 0) { + $view = $db->dbFetch(); + + if ($view['publish'] == 'N' and $view['jenis'] == 'Sidang') { + echo "
    Anda Telah Mengajukan Jadwal Sidang Skripsi. Silahkan Upload Berkas Sidang dan Tunggu Konfirmasi Admin.
    "; + } elseif ($view['publish'] == 'Y' and $view['jenis'] == 'Sidang') { + $tg = date_create($view['start']); + $tgl = tanggalIndo($view['start'], 'j F Y'); + $jm = date_format($tg, 'H:i'); + echo "
    Jadwal Sidang Skripsi Telah Di Konfirmasi pada tanggal $tgl di $view[ruangan].
    "; + } + + echo "
    Catatan dari Admin : $catatanDariAdmin
    "; ?> + +

    Verifikasi Dosen

    + + + + + + + + + + + + + + + + + + + +
    Pembimbing 1OK'; + } else { + echo 'Belum Diverifikasi'; + } + } else { + echo '-'; + } ?>
    Pembimbing 2OK'; + } else { + echo 'Belum Diverifikasi'; + } + } else { + echo '-'; + } ?>
    Penguji 1OK'; + } else { + echo 'Belum Diverifikasi'; + } + } else { + echo '-'; + } ?>
    Penguji 2OK'; + } else { + echo 'Belum Diverifikasi'; + } + } else { + echo '-'; + } ?>
    + + + + + + + + + + + + +
    NoNama BerkasUpload FileStatusAksi
    + +
    + + +
    +
    + + +
    + + + +
    +
    + + +
    +
    + + +
    +
    + +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + runQuery($pb1); + $pemb1 = $db->dbFetch(); ?> + +
    +
    + + runQuery($pb2); + $pemb2 = $db->dbFetch(); ?> + +
    +
    + + runQuery($pg1); + $peng1 = $db->dbFetch(); ?> + +
    +
    + + runQuery($pg2); + $peng2 = $db->dbFetch(); ?> + +
    +
    +
    + +
    +
    + + + \ No newline at end of file diff --git a/mahasiswa/page/outline/list.php b/mahasiswa/page/outline/list.php new file mode 100644 index 0000000..fcce437 --- /dev/null +++ b/mahasiswa/page/outline/list.php @@ -0,0 +1,58 @@ +
    +
    + + +
    +
    +
    +
    + runQuery($check); + if($db->dbRows()>0){ + $data="SELECT + td.*, + ts.*, + tb.* + FROM tbdiskusi td + LEFT JOIN tbdosen ts ON (td.pemb=ts.nip) + LEFT JOIN tbbab tb ON (td.idBab=tb.idBab) + WHERE td.nim='$nim' group by td.idDiskusi"; + $db->runQuery($data); + $no=0; + while($all=$db->dbFetch()){ + if($all['stDiskusi']==0){ + $statusDiskusi=' - Dalam Proses'; + }else if($all['stDiskusi']==1){ + $statusDiskusi=' - Selesai'; + } + $no++; + ?> +

    +
    +
    +

    Dosen Pembimbing :

    +
    +
    + Belum Ada Data
    "; + } + ?> +
    + \ No newline at end of file diff --git a/mahasiswa/page/outline/new.php b/mahasiswa/page/outline/new.php new file mode 100644 index 0000000..3df1b72 --- /dev/null +++ b/mahasiswa/page/outline/new.php @@ -0,0 +1,56 @@ +
    +
    + + +
    +
    +runQuery($new); + if($db->dbRows()>0){ + $no=0; + while($apdet=$db->dbFetch()){ + $no++; +?> +
    +
    +

    +
    +
    +

    Dosen Pembimbing :

    +
    +
    + Tidak Ada Data Bimbingan Terbaru
    "; + } + ?> +
    + \ No newline at end of file diff --git a/mahasiswa/page/outline/outline.php b/mahasiswa/page/outline/outline.php new file mode 100644 index 0000000..031cfeb --- /dev/null +++ b/mahasiswa/page/outline/outline.php @@ -0,0 +1,41 @@ +runQuery($cek); +if($db->dbRows()>0){*/ + switch ($_GET['menu']) { + case 'diskusi': + include 'diskusi.php'; + break; + + case 'list': + include 'list.php'; + break; + + case 'review': + include 'review.php'; + break; + + case 'new': + include 'new.php'; + break; + + case 'jadwal_outline': + include 'jadwal_outline.php'; + break; + + case 'jadwal_seminar_hasil': + include 'jadwal_sidHas.php'; + break; + + case 'jadwal_sidang': + include 'jadwal_sidang.php'; + break; + + default: + echo ""; + break; + } +/*}else{ + echo "
    Anda Belum Dapat Mengajukan Diskusi Tugas Akhir
    "; +}*/ diff --git a/mahasiswa/page/outline/review.php b/mahasiswa/page/outline/review.php new file mode 100644 index 0000000..c065fb3 --- /dev/null +++ b/mahasiswa/page/outline/review.php @@ -0,0 +1,235 @@ +
    +
    + +
    +
    +runQuery($up); + + $checkdiskusi = "SELECT * FROM tbdiskusi WHERE nim='$nim'"; + $db->runQuery($checkdiskusi); + if ($db->dbRows() > 0) { + $dis = "SELECT tp.*, tr.*, tm.*, tb.*, COUNT(tr.idDiskusi) as jlhreview + FROM tbdiskusi tp + LEFT JOIN tbreviewdiskusi tr ON (tp.idDiskusi=tr.idDiskusi) + LEFT JOIN tbmhs tm ON (tp.nim=tm.nim) + LEFT JOIN tbbab tb ON (tp.idBab=tb.idBab) + WHERE tp.nim='$nim' AND tp.idDiskusi='$id_dis' GROUP BY tp.idDiskusi"; + $db->runQuery($dis); + if ($db->dbRows() > 0) { + $stat = $db->dbFetch(); + if ($stat['stDiskusi'] == '0') {//dalam proses bimbingan?> +
    +
    +

    +

    Jumlah Review :

    +
    +
    + 0) { + ?> +
    +
    +
    +
    + runQuery($rev); + if ($db->dbRows() > 0) { + echo '
      '; + while ($r = $db->dbFetch()) { + if ($r['reviewer'] == $nim) { + $jenis = 'self'; + $nama = ''.$r['nmMhs'].'
      '; + $foto = $r['ftmhs']; + } else { + $jenis = 'other'; + $nama = ''.$r['nmDosen'].'
      '; + $foto = $r['ftdosen']; + } ?> +
    1. +
      + +
      +
      + +

      + +


      + + , + +

      Lampiran - Download

      + , + +
      +
    2. + '; + } else { + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } ?> + +
    +
    +
    +
    +
    + +
    + + + +
    +
    + Tanggapan :
    + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    +
    +
    Belum Ada Review

    "; ?> +
    +
    +
    + +
    + + + +
    +
    + Tanggapan :
    + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    +
    +

    +

    Jumlah Review :

    +
    +
    +
    +
    +
    +
    + runQuery($rev); + if ($db->dbRows() > 0) { + echo '
      '; + while ($r = $db->dbFetch()) { + if ($r['reviewer'] == $nim) { + $jenis = 'self'; + $nama = ''.$r['nmMhs'].'
      '; + $foto = $r['ftmhs']; + } else { + $jenis = 'other'; + $nama = ''.$r['nmDosen'].'
      '; + $foto = $r['ftdosen']; + } ?> +
    1. +
      + +
      +
      + +

      + +


      + + , + +

      Lampiran -

      + , + +
      +
    2. + '; + } else { + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } ?> +
    +
    +
    +
    +
    Tidak Ada Data

    "; +}?> + diff --git a/mahasiswa/page/penawaran/act.data-penawaran.php b/mahasiswa/page/penawaran/act.data-penawaran.php new file mode 100644 index 0000000..3f39a74 --- /dev/null +++ b/mahasiswa/page/penawaran/act.data-penawaran.php @@ -0,0 +1,77 @@ +runQuery($query); + + while ($r = $db->dbFetch()) { + $statusPengambilan = $r['statusPengambilan']; + if($statusPengambilan == "0"){ + echo json_encode(array("result"=>false,"msg"=>"Tidak dapat membooking judul ini, anda telah membooking judul lain sebelumnya, tunggu hingga dosen tersebut menolak permohonan penawaran judul untuk dapat membooking lagi")); + exit; + } + + if($statusPengambilan == "1"){ + $timestampPengambilan = strtotime($r['waktuPengambilan']); + $now = time(); + $diff = $now - $timestampPengambilan; + if($diff <= 2592000){ + echo json_encode(array("result"=>false,"msg"=>"Tidak dapat membooking judul ini, anda telah membooking judul lain sebelumnya dan telah disetujui oleh dosen yang menawarkan judul")); + exit; + } + } + } + + + $query = "SELECT * FROM tb_ambil_judul WHERE idPenawaranAmbil = '$idData' ORDER BY waktuPengambilan DESC LIMIT 1"; + $db->runQuery($query); + + while ($r = $db->dbFetch()) { + if($r['statusPengambilan'] != "2"){ + echo json_encode(array("result"=>false,"msg"=>"Tidak dapat membooking judul ini, judul ini telah di booking orang lain sebelumnya")); + exit; + } + } + /** + $query = "SHOW TABLE STATUS LIKE 'tb_ambil_judul'"; + $db->runQuery($query); + $data = $db->dbFetch(); + $newID = $data['Auto_increment']; + + $query = "INSERT INTO tb_ambil_judul SET + idAmbil='$newID', + idPenawaranAmbil='$idData', + idMhs='$idMahasiswa', + statusPengambilan='0' + "; + */ + + $query = "INSERT INTO tb_ambil_judul(idPenawaranAmbil, idMhs, statusPengambilan) VALUES('$idData', '$idMahasiswa', '0')"; + + if($db->runQuery($query)){ + echo json_encode(array("result"=>true,"msg"=> "Berhasil Membooking Judul ini")); + }else{ + echo json_encode(array("result"=>false,"msg"=>"Aksi Gagal DbError")); + } + break; + + } + } +} +?> \ No newline at end of file diff --git a/mahasiswa/page/penawaran/penawaran.php b/mahasiswa/page/penawaran/penawaran.php new file mode 100644 index 0000000..92e1413 --- /dev/null +++ b/mahasiswa/page/penawaran/penawaran.php @@ -0,0 +1,187 @@ +runQuery($query); +$listKK = []; +while ($r = $db->dbFetch()) { + array_push($listKK, [ + 'id' => $r['idKK'], + 'nama' => $r['namaKK'], + ]); +} + +if (!$_GET['prid']) { + ?> +
    +
    + + +
    +
    + + + +
    +
    +
    + Status Judul : +
    +
    + Tampilkan : +
    +
    +
    + + + +
    +
    +runQuery($e); + if($db->dbRows()>0){ + $edit=$db->dbFetch(); + ?> +
    + + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    + runQuery($e); + if($db->dbRows()>0){ + $edit=$db->dbFetch(); + ?> +
    + + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + \ No newline at end of file diff --git a/mahasiswa/page/pengumuman/list.pengumuman.php b/mahasiswa/page/pengumuman/list.pengumuman.php new file mode 100644 index 0000000..ba9136d --- /dev/null +++ b/mahasiswa/page/pengumuman/list.pengumuman.php @@ -0,0 +1,146 @@ +runQuery($sQuery0); + $iFilteredTotal = $db->dbRows(); + + $result=$db->runQuery($sQuery0.$sLimit); + + /* Total data set length */ + $sQuery2 = " + SELECT COUNT(tp.id) as total FROM $sTable $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); + $row = array(); + + if($aRow['new']==0){ + $badge=' - Baru'; + }else{ + $badge=''; + } + + $row[0]="".$aRow['judul']."".$badge; + $row[1]=tanggalIndo($aRow['tgl'],'j F Y, H:i'); + $output['aaData'][] = $row; + // print_r($row); + + } + + echo json_encode( $output ); +?> \ No newline at end of file diff --git a/mahasiswa/page/pengumuman/pengumuman.php b/mahasiswa/page/pengumuman/pengumuman.php new file mode 100644 index 0000000..9911ea3 --- /dev/null +++ b/mahasiswa/page/pengumuman/pengumuman.php @@ -0,0 +1,131 @@ + +
    +
    + + +
    +
    +
    +
    + + dbRows($notif_pengumuman)>0){ + if($jlh_notif_pengumuman>0){ + ?> +
    + + + Terdapat Pengumuman Terbaru. +
    + + + + + + + + + + + + + +
    PengumumanTanggal
    Loading data from server
    + + +
    +
    + +
    +
    + + +
    +
    + runQuery($p); + if($db->dbRows()>0){ + $rp=$db->dbFetch(); + if($rp['found']=='0'){ + $in="INSERT INTO tmp_notif SET idkonten='".$idpengumuman."', idProdi='".$_SESSION['login-mhs']['prodi']."', iduser='".$_SESSION['login-mhs']['id']."', typeuser='M', `date`='".NOW."', jenis='P'"; + $db->runQuery($in); + } + ?> +
    +
    +
    +
    +

    + +

    +

    + +

    +

    + +

    +
    +
    +
    +
    + + Kembali + + \ No newline at end of file diff --git a/mahasiswa/page/praoutline/act.praoutline.php b/mahasiswa/page/praoutline/act.praoutline.php new file mode 100644 index 0000000..ddab2b7 --- /dev/null +++ b/mahasiswa/page/praoutline/act.praoutline.php @@ -0,0 +1,500 @@ + false, 'msg' => 'Deskripsi tugas akhir wajib diisi.']); + exit; + } + + if ($inputPemb1 === '' || $inputPemb2 === '' || $inputPemb3 === '' || $inputPemb4 === '') { + echo json_encode(['result' => false, 'msg' => 'Pembimbing Tugas Akhir harus diisi ke 4 4 nya.']); + exit; + } + + if ($kk === '') { + echo json_encode(['result' => false, 'msg' => 'Kelompok keahlian wajib diisi.']); + exit; + } + + $query = "SHOW TABLE STATUS LIKE 'tbpraoutline'"; + $db->runQuery($query); + $data = $db->dbFetch(); + $newID = $data['Auto_increment']; + $nim = $_SESSION['login-mhs']['nim']; + $newID = time().rand(100,999); + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $noHPMahasiswa = '-'; + while ($r = $db->dbFetch()) { + $noHPMahasiswa = $r['noHP']; + } + + //cek apakah draft sudah terupload sebelumnya + $check = "SELECT id FROM tbpraoutline WHERE nim='$nim' AND status_usulan IN ('0','1')"; + $db->runQuery($check); + if ($db->dbRows() > 0) { + echo json_encode(['result' => false, 'msg' => 'Draft Praoutline Anda Telah DiUpload.']); + exit; + } + + if (!isset($_FILES['berkas']) || !is_uploaded_file($_FILES['berkas']['tmp_name'])) { + echo json_encode(['result' => false, 'msg' => 'Pastikan File Sudah dipilih']); + exit; + } else { + $dir = LAMPIRAN_FILE; + if (!is_dir($dir) && !@mkdir($dir, 0777, true) && !is_dir($dir)) { + echo json_encode(['result' => false, 'msg' => 'Folder upload tidak tersedia.']); + exit; + } + + //$supportlist=array('pdf','zip','doc','docx'); + $namaberkas = $_FILES['berkas']['name']; + $type = $_FILES['berkas']['type']; + $tmpname = $_FILES['berkas']['tmp_name']; + $ext = get_ext($namaberkas); + + if ($ext != 'pdf') { + echo json_encode(['result' => false, 'msg' => 'Hanya Mendukung file pdf']); + exit; + } + + $kettambahan = [ + 'dosenpa' => $_POST['dosenpa'], + 'rekomjudul' => $_POST['drekomjudul'], + 'pilpemb1' => $_POST['pilpemb1'], + 'pilpemb2' => $_POST['pilpemb2'], + 'pilpemb3' => $_POST['pilpemb3'], + 'pilpemb4' => $_POST['pilpemb4'], + ]; + $ket = json_encode($kettambahan); + + $pathfile = $dir.$newID.'-'.$nim.'.'.$ext; + //echo $pathfile; + if (move_uploaded_file($tmpname, $pathfile)) { + $query = "INSERT INTO tbpraoutline SET + nim='$nim', + judul='".$_POST['judul']."', + deskripsi='".$_POST['deskripsi']."', + berkas='".$newID.'-'.$nim.'.'.$ext."', + idProdi='".$_SESSION['login-mhs']['prodi']."', + semester=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-mhs']['prodi']."' AND `name`='smt'), + thn_ajaran=(SELECT `values` FROM web_setting WHERE idProdi='".$_SESSION['login-mhs']['prodi']."' AND `name`='thn_ajaran'), + tgl_upload='".CURDATE."', + wkt_upload='".CURTIME."', + ket='$ket', + kelompokKeahlian='$kk' + "; + + //echo $query; + if (!$db->runQuery($query)) { + echo json_encode(['result' => false, 'msg' => 'Upload Berkas Gagal DbError']); + @unlink($pathfile); + exit; + } else { + echo json_encode(['result' => true, 'msg' => 'Upload Desain Praoutline Berhasil']); + + $newID = $db->dbLastInsertId(); + //notif gcm + //----------------------------------------------------------------------------- + // $g = "SELECT regid FROM gcm_service WHERE jenisuser IN('D','K')"; + // $db->runQuery($g); + // $registrationid = []; + // while ($r = $db->dbFetch()) { + // array_push($registrationid, $r['regid']); + // } + // $isipesan = 'Terdapat Draft Praoutline Terbaru'; + // $pesan = json_encode(['jenisnotif' => 'J', 'pesan' => $isipesan]); + // $message = ['spota' => $pesan]; + + // sendPushNotificationToGCM($registrationid, $message); + //-------------------------------------------------------------------------------- + + $g = "SELECT * FROM tbmhs WHERE nim='$nim'"; + $db->runQuery($g); + $namaMahasiswa = '-'; + while ($r = $db->dbFetch()) { + $namaMahasiswa = $r['nmLengkap']; + $noMhs = $r['noHP']; + } + + $g = "SELECT * FROM tb_kelompok_keahlian WHERE idKK='$kk'"; + $db->runQuery($g); + $namaKelompokKeahlian = '-'; + while ($r = $db->dbFetch()) { + $namaKelompokKeahlian = $r['namaKK']; + } + + $judulEmail = 'Permohonan Review Draft Proposal'; + $isiEmail = "Mahasiswa *$namaMahasiswa / $nim* ($noHPMahasiswa) telah mengupload draft proposal pada Kelompok Keahlian Anda *($namaKelompokKeahlian)* dengan judul *".$_POST['judul']."* dan membutuhkan review dari anda.


    Terima Kasih."; + + $emailTo = []; + $listNoHP = []; + + $g = "SELECT * FROM tbdosen WHERE kelompokKeahlian='$kk'"; + + $db->runQuery($g); + while ($r = $db->dbFetch()) { + $email = $r['email']; + $noHPDosen = $r['nohp']; + array_push($emailTo, $email); + array_push($listNoHP, $noHPDosen); + } + + $isiPesanHP = "*".$judulEmail." (SPOTA)*\n\n".str_replace('
    ', "\n", $isiEmail)."\n*SPOTA INFORMATIKA UNTAN*\nKlik Disini :\nhttps://spota.untan.ac.id/dosen/dashboard.php?page=praoutline&menu=review&prid=$newID"; + $isiPesanHP = str_replace('"', "'", $isiPesanHP); + foreach ($listNoHP as $key => $hp) { + if(empty($hp)){ + continue; + } + + $hp = '62'.intval($hp); + + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$hp.'", + "'.$isiPesanHP.'" + )'; + $db->runQuery($query); + } + + if(!empty($noMhs)){ + //$isiPesanHP = "*UPLOAD DRAFT PRAOUTLINE BERHASIL (SPOTA)*\n\nAnda berhasil mengupload draft praoutline dengan judul *".$_POST['judul']."*, pastikan anda aktif berdiskusi pada forum review draft praoutline , dikarenakan judul ini akan *terclose* secara otomatis oleh sistem SPOTA INFORMATIKA UNTAN setelah 14 hari semenjak komentar terakhir dosen tidak direspon.\n\n*SPOTA INFORMATIKA UNTAN*"; + $isiPesanHP = "*UPLOAD DRAFT PRAOUTLINE BERHASIL (SPOTA)*\n\nAnda berhasil mengupload draft praoutline dengan judul *".$_POST['judul']."*, pastikan anda aktif berdiskusi pada forum review draft praoutline , dikarenakan judul ini akan *terclose* secara otomatis oleh sistem SPOTA INFORMATIKA UNTAN setelah 14 hari semenjak waktu upload.\n\n*SPOTA INFORMATIKA UNTAN*"; + + $noMhs = '62'.intval($noMhs); + $query = 'INSERT INTO tbl_notif_wa(toX, isiPesan) VALUES( + "'.$noMhs.'", + "'.$isiPesanHP.'" + )'; + $db->runQuery($query); + } + + +/** + $ch = curl_init(); + $emailParams = []; + $emailParams['to'] = json_encode($emailTo); + $emailParams['judul'] = $judulEmail; + $emailParams['content'] = $isiEmail; + + $postdata = $emailParams; + curl_setopt($ch, CURLOPT_URL, 'https://spota.untan.ac.id/steven/API/sendMail.php'); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_TIMEOUT, 30); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + $result = curl_exec($ch); +*/ + + //echo $result; + } + } else { + echo json_encode(['result' => false, 'msg' => 'Upload Berkas Gagal']); + exit; + } + } + break; + + case 'post_review': + $idpraoutline = $_POST['idpra']; + $nim = $_SESSION['login-mhs']['nim']; + $prodi = $_SESSION['login-mhs']['prodi']; + if (ctype_digit($idpraoutline)) { + if ($_POST['text_review'] == '') { + echo json_encode(['result' => false, 'msg' => 'Tanggapan harus diisi']); + } else { + $insert = "INSERT INTO tbreview SET + idpraoutline='".$idpraoutline."', + idProdi='".$prodi."', + reviewer='".$nim."', + review_text='".$_POST['text_review']."', + jenis_review='0', + tgl='".CURDATE."', + wkt='".CURTIME."'"; + + if ($db->runQuery($insert)) { + echo json_encode(['result' => true, 'msg' => 'Sukses Menambahkan Tanggapan']); + if (count($_SESSION['selected_user']) > 0) { + //print_r($_SESSION['selected_user']); + $selecteduser = ''; + for ($xx = 0; $xx < count($_SESSION['selected_user']); ++$xx) { + $notif = "INSERT INTO tmp_notif_r SET + idkonten='$idpraoutline', + idProdi='".$_SESSION['login-mhs']['prodi']."', + user='".$_SESSION['selected_user'][$xx]."', + jns_usr='D', + tgl='".NOW."', + msg='".$_SESSION['login-mhs']['nama_lengkap'].' ('.$_SESSION['login-mhs']['nim'].") Menambahkan Tanggapan baru', + `read`='N'"; + //echo $notif; + $db->runQuery($notif); + if ($xx == 0) { + $selecteduser .= "'".$_SESSION['selected_user'][$xx]."'"; + } else { + $selecteduser .= ",'".$_SESSION['selected_user'][$xx]."'"; + } + } + //notif gcm + //----------------------------------------------------------------------------- + $g = "SELECT regid FROM gcm_service WHERE iduser IN($selecteduser) AND jenisuser IN('D','K')"; + $db->runQuery($g); + if ($db->dbRows() > 0) { + $registrationid = []; + while ($r = $db->dbFetch()) { + array_push($registrationid, $r['regid']); + } + $isipesan = $_SESSION['login-mhs']['nama_lengkap'].' Menambahkan Tanggapan baru'; + $pesan = json_encode(['jenisnotif' => 'P', 'pesan' => $isipesan]); + $message = ['spota' => $pesan]; + + sendPushNotificationToGCM($registrationid, $message); + } + //-------------------------------------------------------------------------------- + } + } else { + echo json_encode(['result' => false, 'msg' => 'Gagal Menambahkan Tanggapan, DBError']); + } + } + } + break; + + case 'cari': + $key = $_POST['key']; + $jenis = $_POST['by']; + if ($jenis == 'nim') { + if (ctype_alnum($key)) { + $by = " tp.nim LIKE '%$key%' "; + } else { + $newkey = str_replace("'", "\'", $key); + $by = " tp.nim LIKE '%$newkey%' "; + } + } else { + /*$pecah=explode(" ", $key); + $jpecah=count($pecah); + if($jpecah==1){ + if(ctype_alnum($key)){ + $by=" tp.judul LIKE '%$key%' "; + }else{ + $newkey=str_replace("'", "\'", $key); + $by=" tp.judul LIKE '%$newkey%' "; + } + + }else{ + $by=""; + if(ctype_alnum($key)){ + for($x=0;$x<$jpecah;$x++){ + if($x==0){ + $by.=" tp.judul like '%$pecah[$x]%' "; + }else{ + $by.=" OR tp.judul like '%$pecah[$x]%' "; + } + } + }else{ + $newpecah=str_replace("'", "\'", $pecah[$x]); + for($x=0;$x<$jpecah;$x++){ + if($x==0){ + $by.=" tp.judul like '%$newpecah[$x]%' "; + }else{ + $by.=" OR tp.judul like '%$newpecah[$x]%' "; + } + } + } + + }*/ + if (ctype_alnum($key)) { + $by = " MATCH (tp.judul) AGAINST ('".$key."')"; + } else { + $newkey = str_replace("'", "\'", $key); + $by = " MATCH (tp.judul) AGAINST ('".$newkey."')"; + } + } + //include "result-cari.php"; + /*$cari="SELECT * FROM tbpraoutline WHERE $by ORDER BY tgl_upload,wkt_upload,nim,judul";*/ + $cari = "SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.status_usulan + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE $by + "; + + /*$cari="SELECT + tp.id, + tp.nim, + tp.deskripsi, + tm.nmLengkap as nama, + tp.judul, + tp.tgl_upload, + tp.wkt_upload, + tp.status_usulan, + COUNT(tr.id) as jlhreview, + COUNT(if(tr.jenis_review='0',1,null)) as komentar, + COUNT(if(tr.jenis_review='1',1,null)) as putusan, + COUNT(if(tr.putusan='1',1,null)) as setuju, + count(if(tr.putusan='0',1,null)) as tdk_setuju, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=trh.pemb1) as dpemb1, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=trh.pemb2) as dpemb2, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=trh.peng1) as dpeng1, + (SELECT nmLengkap FROM tbdosen WHERE tbdosen.nip=trh.peng2) as dpeng2 + FROM tbpraoutline tp + LEFT JOIN tbreview tr ON (tp.id=tr.idpraoutline) + LEFT JOIN tbrekaphasil trh ON (tp.id=trh.idpraoutline) + JOIN tbmhs tm ON (tp.nim=tm.nim) + WHERE $by GROUP BY tp.id";*/ + + //echo $cari; + $db->runQuery($cari); + $listIdPraoutline = []; + if ($db->dbRows() > 0) { + ?> +

    Hasil Pencarian ''

    +
    + dbFetch()) { + $idPraoutline = $rcari['id']; + + if(isset($listIdPraoutline[$idPraoutline])){ + continue; + } + $listIdPraoutline[$idPraoutline] = true; + + $sql = "SELECT * FROM tbreview WHERE idpraoutline = '$idPraoutline'"; + $resultReview = $db2->runQuery($sql); + + $banyakReview = 0; + $banyakKomentar = 0; + $banyakPutusan = 0; + $banyakSetuju = 0; + $banyakTidakSetuju = 0; + while ($aRowReview = $db2->dbFetch($resultReview)) { + $jenisReview = $aRowReview['jenis_review']; + $banyakReview++; + switch($jenisReview){ + case 0 : $banyakKomentar++; break; + case 1 : $banyakPutusan++; + if($aRowReview['putusan'] == '1'){ + $banyakSetuju++; + } + + if($aRowReview['putusan'] == '0'){ + $banyakTidakSetuju++; + } + break; + + } + } + + if ($rcari['status_usulan'] == 0) { + $statusPraoutline = ' - Dalam Proses'; + } elseif ($rcari['status_usulan'] == 1) { + $statusPraoutline = ' - Judul Diterima'; + } elseif ($rcari['status_usulan'] == 2) { + $statusPraoutline = ' - Judul Ditolak'; + } elseif ($rcari['status_usulan'] == 3) { + $statusPraoutline = ' - Judul Gugur'; + } ?> +
    +
    +

    + +
    +
    +

    Oleh - Download File

    +
    +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + runQuery($kep_final); + if ($db2->dbRows() > 0) { + $kep = $db2->dbFetch(); ?> +
    + +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    + + Catatan
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + } + + break; + + case '2': + break; + } ?> +
    + + + + + Maaf! Data Tidak Ditemukan.. + '; + } + break; + } + } +} +?> diff --git a/mahasiswa/page/praoutline/daftar-praoutline.php b/mahasiswa/page/praoutline/daftar-praoutline.php new file mode 100644 index 0000000..e8a79bb --- /dev/null +++ b/mahasiswa/page/praoutline/daftar-praoutline.php @@ -0,0 +1,55 @@ +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    + +
    +
    \ No newline at end of file diff --git a/mahasiswa/page/praoutline/pemberitahuan.php b/mahasiswa/page/praoutline/pemberitahuan.php new file mode 100644 index 0000000..94a21c2 --- /dev/null +++ b/mahasiswa/page/praoutline/pemberitahuan.php @@ -0,0 +1,43 @@ +
    +
    + + +
    +
    +
    +
    + + runQuery($Q_notif_review); + if($jlh_notif_review>0){ + while($r=$db->dbFetch()){ + echo ' + + + '; + } + }else{ + echo ' + + '; + } + ?> +
    '.tanggalIndo($r['tgl'],'j F Y, H:i').' '.$r['msg'].'
    Tidak Ada Pemberitahuan Terbaru
    +
    +
    \ No newline at end of file diff --git a/mahasiswa/page/praoutline/praoutline.php b/mahasiswa/page/praoutline/praoutline.php new file mode 100644 index 0000000..77eeb81 --- /dev/null +++ b/mahasiswa/page/praoutline/praoutline.php @@ -0,0 +1,27 @@ +location.href='".DOSEN_PAGE."dashboard.php'"; + break; +} diff --git a/mahasiswa/page/praoutline/review.php b/mahasiswa/page/praoutline/review.php new file mode 100644 index 0000000..528bf2b --- /dev/null +++ b/mahasiswa/page/praoutline/review.php @@ -0,0 +1,595 @@ + + + +
    +
    + + +
    +
    + 0) { + $id_notif_r = implode(',', $_SESSION['new_review_mhs']); + $db->runQuery("UPDATE tmp_notif_r SET `read`='Y' WHERE id IN ($id_notif_r)"); + } + $checkpraoutline = "SELECT id,nim FROM tbpraoutline WHERE nim='$nim' ORDER BY id DESC LIMIT 1"; +} +//echo $checkpraoutline; + +$db->runQuery($checkpraoutline); +if ($db->dbRows() > 0) { + $fromtp = $db->dbFetch(); + $selectednim = $fromtp['nim']; // nim dari praoutline + $selectedid = $fromtp['id']; + + 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']; + $dataKK[$idKK] = $namaKK; + } + + $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.kelompokKeahlian + FROM tbpraoutline tp + JOIN tbmhs tm ON (tp.nim=tm.nim) + $where"; + + // echo $stat_judul; + $db->runQuery($stat_judul); + $kelompokKeahlian = ' Tidak Ada Kelompok Keahlian'; + if ($db->dbRows() > 0) { + $stat = $db->dbFetch(); + + $sql = "SELECT * FROM tbreview WHERE idpraoutline = '$selectedid'"; + $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; + + } + } + + + if ($stat['status_usulan'] == 0) { + $statusPraoutline = ' - Dalam Proses'; + } elseif ($stat['status_usulan'] == 1) { + $statusPraoutline = ' - Judul Diterima'; + } elseif ($stat['status_usulan'] == 2) { + $statusPraoutline = ' - Judul Ditolak'; + } elseif ($stat['status_usulan'] == 3) { + $statusPraoutline = ' - Judul Gugur'; + } + + $idKelompokKeahlian = $stat['kelompokKeahlian']; + if (isset($dataKK[$idKelompokKeahlian])) { + $kelompokKeahlian = ' '.$dataKK[$idKelompokKeahlian].''; + } ?> +
    +
    +

    + +
    +
    +

    Kelompok Keahlian :

    +

    Oleh - Download File - Cetak Isi Review

    +
    +
    +

    Jumlah Review : | Setuju : | Tidak Setuju :

    +

    +
    + + runQuery($kep_final); + if ($db->dbRows() > 0) { + $kep = $db->dbFetch(); ?> +
    + +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    + Semester :
    + Tahun Akademik : +
    +
    + Dosen Pembimbing & Penguji
    + Pembimbing 1 :
    + Pembimbing 2 :
    + Penguji 1 :
    + Penguji 2 : +
    +
    + Judul Outline
    +
    + Catatan
    + +
    +
    +
    + + + Maaf! Data Tidak Ditemukan.. +
    '; + }*/ + break; + + case '2': + $db->runQuery($kep_final); + if ($db->dbRows() > 0) { + $tolak = $db->dbFetch(); ?> +
    +
    +
    + Ditetapkan
    + Tanggal :
    + Waktu :
    +
    +
    + Catatan
    + +
    +
    +
    + + +
    + + 0) { + ?> +
    +
    +
    +
    + runQuery($rev); + if ($db->dbRows() > 0) { + $_SESSION['selected_user'] = array(); + echo '
      '; + while ($r = $db->dbFetch()) { + if ($r['reviewer'] == $nim) { + $jenis = 'self'; + $nama = ''.$r['nmMhs'].' Quote
      '; + $foto = $r['ftmhs']; + } else { + if (!in_array($r['reviewer'], $_SESSION['selected_user'])) { + $_SESSION['selected_user'][] = $r['reviewer']; + } + $jenis = 'other'; + $nama = ''.$r['nmDosen'].' Quote
      '; + $foto = $r['ftdosen']; + } + + if ($r['putusan'] == '1') { + $putusan = 'Setuju'; + } elseif ($r['putusan'] == '0') { + $putusan = 'Tidak Setuju'; + } else { + $putusan = ''; + } ?> +
    1. +
      + +
      +
      + +

      + +


      + , +
      +
    2. + '; + } else { + echo '
      + + Maaf! Belum Ada Review.. +
      '; + } + /*print_r($_SESSION['selected_user']);*/ ?> +
    +
    +
    + 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]'; + } + } + } + //QUOTE KOMENTAR / TANGAPAN end?> + 7){ + if($stat['setuju']>1){ + $tanggapan=false; + }else{ + $tanggapan=true; + } + } + }*/ ?> + +
    +
    + +
    + + +
    +
    + Tanggapan MIC:
    + + +
    +
    + + +
    +
    +
    + +
    +
    + +
    + Belum Ada Review dari Dosen."; ?> +
    + 7){ + if($stat['setuju']>1){ + $tanggapan=false; + }else{ + $tanggapan=true; + } + } + }*/ ?> + +
    +
    + +
    + + +
    +
    + Tanggapan OKE:
    + +
    +
    + + +
    +
    +
    + +
    +
    + +
    + Maaf. Data Review Tidak Ditemukan. "; +} + +?> + \ No newline at end of file diff --git a/mahasiswa/page/praoutline/unduhan.php b/mahasiswa/page/praoutline/unduhan.php new file mode 100644 index 0000000..09fee78 --- /dev/null +++ b/mahasiswa/page/praoutline/unduhan.php @@ -0,0 +1,51 @@ +
    +
    + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    NoNamaLihat
    1SOP Tugas AkhirLihat
    2SOP Draft Proposal 2020Lihat
    3Pedoman Penulisan Skripsi (ver.2015)Lihat
    +
    +
    \ No newline at end of file diff --git a/mahasiswa/page/praoutline/upload.php b/mahasiswa/page/praoutline/upload.php new file mode 100644 index 0000000..7dac6eb --- /dev/null +++ b/mahasiswa/page/praoutline/upload.php @@ -0,0 +1,188 @@ +
    +
    + + +
    +
    + +
    +

    Perhatian

    + Anda tidak memiliki akses untuk mengajukan draft praoutline, hubungi Admin Prodi (ibu Tuning) untuk diberikan akses upload. +
    +runQuery($check); +if ($db->dbRows() > 0) { + ?> +
    +

    Draft Praoutline Anda Telah Diupload

    +

    + Silakan lihat menu review untuk melihat review dari dosen. +

    +

    + + Lihat Review + + + + Download Aplikasi Android + + +

    +
    + + +
    +

    Perhatian

    + + +
    + +
    + + +
    +
    +
    + +
    +
    + +
    +
    + Deskripsi + +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    + + +
    +
    + + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/mahasiswa/page/user/act.user.php b/mahasiswa/page/user/act.user.php new file mode 100644 index 0000000..e1986ef --- /dev/null +++ b/mahasiswa/page/user/act.user.php @@ -0,0 +1,126 @@ + false, 'msg' => 'Nomor HP Mahasiswa tidak boleh sama dengan orang tua']); + exit; + } + + $noHP = $_POST['noHP']; + $noHPOrtu = $_POST['noHPOrtu']; + + $e = "SELECT * FROM tbmhs WHERE idmhs != '$id' AND (noHP = '$noHP' OR noHPOrtu = '$noHP' OR noHP = '$noHPOrtu' OR noHPOrtu = '$noHPOrtu')"; + $db->runQuery($e); + if ($db->dbRows() > 0) { + echo json_encode(['result' => false, 'msg' => 'Nomor HP Mahasiswa atau Orang Tua Telah digunakan oleh orang lain']); + exit; + } + + if (ctype_digit($id)) { + if (!isset($_FILES['foto']) || !is_uploaded_file($_FILES['foto']['tmp_name'])) { + if ($_POST['password'] != '') { + $pass = "password='".md5(trim($_POST['password']))."', "; + } else { + $pass = ''; + } + $msg = 'Profil telah disimpan.'; + + $queryupdate = "UPDATE tbmhs + SET + nmLengkap='".$_POST['nmLengkap']."', + noHP='".$_POST['noHP']."', + noHPOrtu='".$_POST['noHPOrtu']."', + $pass + email='".$_POST['email']."' + WHERE idmhs='$id' + "; + } else { + $ThumbSquareSize = 200; //Thumbnail will be 150x150 + $BigImageMaxSize = 200; //Image Maximum height or width + $ThumbPrefix = 'thumb_'; //Normal thumb Prefix + $DestinationDirectory = DIR_GAMBAR; //Upload Directory ends with / (slash) + $Quality = 90; + + $RandomNumber = rand(0, 9999999999); + + $ImageName = str_replace(' ', '-', strtolower($_FILES['foto']['name'])); + $ImageSize = $_FILES['foto']['size']; // Obtain original image size + $TempSrc = $_FILES['foto']['tmp_name']; // Tmp name of image file stored in PHP tmp folder + $ImageType = $_FILES['foto']['type']; //Obtain file type, returns "image/png", image/jpeg, text/plain etc. + + switch (strtolower($ImageType)) { + case 'image/png': + $CreatedImage = imagecreatefrompng($_FILES['foto']['tmp_name']); + break; + case 'image/gif': + $CreatedImage = imagecreatefromgif($_FILES['foto']['tmp_name']); + break; + case 'image/jpeg': + case 'image/pjpeg': + $CreatedImage = imagecreatefromjpeg($_FILES['foto']['tmp_name']); + break; + default: + echo json_encode(['result' => false, 'msg' => 'File gambar yang didukung hanya *.jpg,*.png,*.gif']); + exit; + + break; + } + + list($CurWidth, $CurHeight) = getimagesize($TempSrc); + $ImageExt = substr($ImageName, strrpos($ImageName, '.')); + $ImageExt = str_replace('.', '', $ImageExt); + + $ImageName = 'mhs'; + + $NewImageName = $ImageName.'_'.$RandomNumber.'.'.$ImageExt; + $thumb_DestRandImageName = $DestinationDirectory.$NewImageName; //Thumb name + if (!resizeImage($CurWidth, $CurHeight, $BigImageMaxSize, $thumb_DestRandImageName, $CreatedImage, $Quality, $ImageType)) { + echo json_encode(['result' => false, 'msg' => 'Upload Gambar gagal']); + exit; + } else { + $msg = 'Profil telah disimpan.'; + + if ($_POST['password'] != '') { + $pass = "password='".md5(trim($_POST['password']))."', "; + } else { + $pass = ''; + } + + $queryupdate = "UPDATE tbmhs + SET + nmLengkap='".$_POST['nmLengkap']."', + $pass + email='".$_POST['email']."', + noHP='".$_POST['noHP']."', + noHPOrtu='".$_POST['noHPOrtu']."', + foto='".$NewImageName."' + WHERE idmhs='$id' + "; + @unlink(DIR_GAMBAR.$_POST['img']); + } + } + if ($db->runQuery($queryupdate)) { + echo json_encode(['result' => true, 'msg' => $msg]); + $_SESSION['login-mhs']['nama_lengkap'] = $_POST['nmLengkap']; + } else { + //if($_POST['slider']=="Y"){ + @unlink($DestRandImageName); + @unlink($thumb_DestRandImageName); + //} + echo json_encode(['result' => false, 'msg' => 'Aksi Gagal DbError']); + exit; + } + } + break; + } +} diff --git a/mahasiswa/page/user/my-profile.php b/mahasiswa/page/user/my-profile.php new file mode 100644 index 0000000..17af9ea --- /dev/null +++ b/mahasiswa/page/user/my-profile.php @@ -0,0 +1,140 @@ +runQuery($e); + if ($db->dbRows() > 0) { + $edit = $db->dbFetch(); + } else { + exit; + } +?> +
    +
    + + +
    +
    +
    + + + +
    + + + + + + + + + + + + + runQuery($e); + + $listMahasiswaSama = ""; + while($row=$db->dbFetch($res)){ + $listMahasiswaSama .= $row['nmLengkap'].'/'.$row['nim'].'
    '; + } + + ?> + + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +
    + + +
    +
    + + +
    +
    +
    +
    + +
    + +

    + +
    +
    +
    +
    +
    + +
    +
    +
    \ No newline at end of file diff --git a/mahasiswa/page/user/user.php b/mahasiswa/page/user/user.php new file mode 100644 index 0000000..b491123 --- /dev/null +++ b/mahasiswa/page/user/user.php @@ -0,0 +1,11 @@ +location.href='".MHS_PAGE."dashboard.php?page=user&menu=my-profile'"; + break; +} +?> \ No newline at end of file diff --git a/penawaran_judul.php b/penawaran_judul.php new file mode 100644 index 0000000..996d56c --- /dev/null +++ b/penawaran_judul.php @@ -0,0 +1,194 @@ + + + + + + + Penawaran Judul Tugas Akhir + + + + + + + + + + +connect(); + + + + $sql = "SELECT * FROM tb_kelompok_keahlian"; + $stmt = $dbh->prepare($sql); + $stmt->execute(); + + $listKK = []; + while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $listKK[$row['idKK']] = $row['namaKK']; + } + + $sql = "SELECT * FROM tbdosen"; + $stmt = $dbh->prepare($sql); + $stmt->execute(); + + $listDosen = []; + while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ + $listDosen[$row['iddosen']] = $row['nmLengkap']; + } + + + $sql = "SELECT tData.*, tbmhs.nim, tbmhs.nmLengkap FROM (SELECT * FROM tb_penawaran_judul LEFT JOIN (SELECT t.idPenawaranAmbil, t.idMhs, t.statusPengambilan, t.waktuPengambilan, t.waktuVerifikasi, r.maxWaktu + FROM ( + SELECT idPenawaranAmbil, MAX(waktuPengambilan) as maxWaktu + FROM tb_ambil_judul + GROUP BY idPenawaranAmbil + ) r + INNER JOIN tb_ambil_judul t + ON t.idPenawaranAmbil = r.idPenawaranAmbil AND t.waktuPengambilan = r.maxWaktu) as tAmbil ON tb_penawaran_judul.idPenawaran = tAmbil.idPenawaranAmbil) tData LEFT JOIN tbmhs ON tData.idMhs = tbmhs.idmhs ORDER BY waktuInput DESC"; + $stmt = $dbh->prepare($sql); + $stmt->execute(); + + $listData = []; + + while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $judul = $row['judul']; + $idPenawaran = $row['idPenawaran']; + $maxWaktu = $row['maxWaktu']; + $statusDb = $row['statusPengambilan']; + $namaMhs = $row['nmLengkap']; + $nimMhs = $row['nim']; + $idKK = $row['kk']; + $idDosenInput = $row['idDosen']; + $deskripsi = $row['deskripsi']; + + $namaKK = '-'; + if(isset($listKK[$idKK])){ + $namaKK = $listKK[$idKK]; + } + + $namaDosen = '-'; + if(isset($listDosen[$idDosenInput])){ + $namaDosen = $listDosen[$idDosenInput]; + } + + if($status == "0"){ + if(!($statusDb == null || $statusDb == "2")){ + continue; + } + } + + if($status == "1"){ + if($statusDb == null || $statusDb == "2"){ + continue; + } + } + + array_push($listData, [ + 'id' => $idPenawaran, + 'judul' => $judul, + 'kk' => $namaKK, + 'dosen' => $namaDosen, + 'waktuInput' => date('d-m-Y', strtotime($row['waktuInput'])), + 'waktuBooking' => date('d-m-Y H:i:s', strtotime($maxWaktu)), + 'hangus' => $tglHangusOtomatis, + 'status' => $statusDb, + 'nama' => $namaMhs, + 'nim' => $nimMhs, + 'deskripsi' => $deskripsi + ]); + + } + + + $no = 1; + foreach($listData as $key=>$val){ + $judul = $val['judul']; + $kk = $val['kk']; + $dosen = $val['dosen']; + $deskripsi = $val['deskripsi']; + $waktuInput = $val['waktuInput']; + + $isiTabel .= "$no$judul$deskripsi$kk$waktuInput$dosen"; + $no++; + } + + if(sizeof($listData) == 0){ + $isiTabel = ""; + } + +echo ' + +'; +?> + +

    Daftar Penawaran Judul Dari Dosen Informatika UNTAN

    +
    * Bagi yang berminat dengan judul pada tabel dapat langsung menghubungi dosen pemberi judul +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    NoJudulDeskripsiKelompok KeahlianWaktu InputDosen yang memberikan judul
    +
    + + +Status + + + + + + + \ No newline at end of file diff --git a/pencarian_judul_spota.php b/pencarian_judul_spota.php new file mode 100644 index 0000000..e69de29 diff --git a/php.ini b/php.ini new file mode 100644 index 0000000..6690dc9 --- /dev/null +++ b/php.ini @@ -0,0 +1,16 @@ +; cPanel-generated php ini directives, do not edit +; Manual editing of this file may result in unexpected behavior. +; To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor) +; For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI) + +allow_url_fopen = on +display_errors = Off +max_execution_time = 60 +max_input_time = 60 +max_input_vars = 1000 +memory_limit = 512M +post_max_size = 8M +session.gc_maxlifetime = 604800 +session.save_path = "/tmp/spota_sessions" +upload_max_filesize = 8M +zlib.output_compression = Off diff --git a/print/print-close-judul-kk.php b/print/print-close-judul-kk.php new file mode 100644 index 0000000..859d882 --- /dev/null +++ b/print/print-close-judul-kk.php @@ -0,0 +1,304 @@ +runQuery($query); + + $idKKKetua = -1; + $currentKK = ''; + while ($aRow = $db->dbFetch($result)) { + $idKKKetua = $aRow['idKK']; + $currentKK = $aRow['namaKK']; + } + + $query = "SELECT * FROM tbdosen WHERE iddosen = '".$_SESSION['login-dosen']['id']."'"; + $result = $db->runQuery($query); + + $namaDosen = ''; + $nipDosen = ''; + while ($aRow = $db->dbFetch($result)) { + $namaDosen = $aRow['nmLengkap']; + $nipDosen = $aRow['nip']; + } + + /* + * 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 = ''; + $periodeText = "SEMUA TANGGAL"; + + 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'])); + $tanggalAwalDMY = date('d-m-Y', strtotime($_GET['startDate'])); + $tanggalAkhirDMY = date('d-m-Y', strtotime($_GET['endDate'])); + $whereTanggal = " AND tgl_kep >= '$tanggalAwal' AND tgl_kep <= '$tanggalAkhir'"; + + $periodeText = "$tanggalAwalDMY s/d $tanggalAkhirDMY"; + } + } + + $sQuery0 = " + SELECT * FROM (SELECT tp.*, + tm.nmLengkap as nm_mhs, + tgl_kep, + (SELECT COUNT(id) as found FROM tbrekaphasil WHERE idpraoutline = tp.id), + wkt_kep + FROM $sTable + $sWhere + $where2 + ) t WHERE kelompokKeahlian = '$idKKKetua' $whereJenis $whereTanggal $sOrder + "; + + + $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' => [], + ]; + + + $listData = []; + + while ($aRow = $db->dbFetch($result)) { + $row = []; + + $statusPraoutline = ''; + if ($aRow['status_usulan'] == 0) { + $statusPraoutline = 'Belum Diterima'; + } elseif ($aRow['status_usulan'] == 1) { + $statusPraoutline = 'Judul Diterima'; + } elseif ($aRow['status_usulan'] == 2) { + $statusPraoutline = 'Judul Ditolak'; + } elseif ($aRow['status_usulan'] == 3) { + $statusPraoutline = 'Judul Gugur'; + } + + $tglKep = ''; + if($aRow['tgl_kep'] != null){ + $tglKep = tanggalIndo($aRow['tgl_kep'], 'j F Y'). ' '.$aRow['wkt_kep']; + } + + array_push($listData, [ + 'statusPraoutline' => $statusPraoutline, + 'nama' => $aRow['nm_mhs'], + 'nim' => $aRow['nim'], + 'judul' => $aRow['judul'], + 'sem' => $aRow['thn_ajaran'].' - '.$aRow['semester'], + 'upload' => tanggalIndo($aRow['tgl_upload'], 'j F Y, H:i'), + 'keputusan' => $tglKep, + ]); + } + +$titleDokumen = "LAPORAN KINERJA KELOMPOK KEAHLIAN $currentKK JURUSAN INFORMATIKA FAK. TEKNIK Periode: $periodeText"; + + +$mpdf = new \Mpdf\Mpdf(['mode' => 'utf-8', 'format' => 'A4', 'margin_header' => 0, 'margin_top' => 10, 'margin_bottom' => 3, 'margin_left' => 10, 'margin_right' => 10, 'margin_footer' => 0], ['defaultPageNumStyle' => '1']); +$html = ' + + + + + '.$titleDokumen.' + + + +
    LAPORAN KINERJA KELOMPOK KEAHLIAN
    '.$currentKK.'
    JURUSAN INFORMATIKA FAK. TEKNIK
    Periode: '.$periodeText.'
    +
    + + + + + + + + + + + + + + '; + + + if(sizeof($listData) == 0){ + $html .= ''; + } + + for ($i = 0; $i < sizeof($listData); ++$i) { + $dataProp = $listData[$i]; + $no = $i + 1; + $html .= ' + + + + + + + + + + '; + } + + +$html .= ' + +
    NoMahasiswaJudul UsulanStatusTahun AjaranTanggal UploadTanggal Keputusan
    Tidak ada data.
    '.$no.''.$dataProp['nama'].' / '.$dataProp['nim'].''.$dataProp['judul'].''.$dataProp['statusPraoutline'].''.$dataProp['sem'].''.$dataProp['upload'].''.$dataProp['keputusan'].'
    + + + + + + +
    + + + Pontianak, '.tanggalIndo(date('Y-m-d'), 'j F Y').'
    + Ketua KK '.$currentKK.'
    +
    +



    + '.$namaDosen.'
    + NIP. '.$nipDosen.' +
    + + + '; + +$mpdf->shrink_tables_to_fit = 0; +$mpdf->WriteHTML($html); +$namafile = $titleDokumen.'-'.time(); +$mpdf->Output($namafile, 'I'); + diff --git a/publikasidosen.php b/publikasidosen.php new file mode 100644 index 0000000..b3b5c17 --- /dev/null +++ b/publikasidosen.php @@ -0,0 +1,1331 @@ + + + + + + + + + PUBLIKASI DOSEN + + + + + + + + + + + + + + + + + +
    +

    +
    + PUBLIKASI DOSEN + +
    + PRODI INFORMATIKA FAKULTAS TEKNIK +
    +
    +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    NoNamaNIPJudulJurnalAkreditasiTahun TerbitUrlKeterangan
    +
    + + + + diff --git a/recovery.php b/recovery.php new file mode 100644 index 0000000..95b86c6 --- /dev/null +++ b/recovery.php @@ -0,0 +1,22 @@ +runQuery($check); +if($db->dbRows()>0){ + $r=$db->dbFetch(); + $jenisuser=$r['jenis']; + $tglrecover=$r['tglrecover']; + +}else{ + //pesan key invalid.. +} + +?> \ No newline at end of file diff --git a/service/koneksi.php b/service/koneksi.php new file mode 100644 index 0000000..516b3ab --- /dev/null +++ b/service/koneksi.php @@ -0,0 +1,9 @@ + diff --git a/service/servicespota.php b/service/servicespota.php new file mode 100644 index 0000000..85ba29f --- /dev/null +++ b/service/servicespota.php @@ -0,0 +1,138 @@ +$nip,'nmLengkap'=>$nama,'email'=>$email,'nohp'=>$nohp,'jenis'=>$jabatan,'status'=>$statusdosen,'nmProdi'=>$prodi,'password'=>$password); + } + + //--------------------------------------------------DOSEN-----------------------------------------------// + + //--------------------------------------------------MHS-------------------------------------------------// + + $nim = $_GET['nim']; + + $sqlmhs = "select * from tbmhs join tbprodi on tbmhs.idProdi=tbprodi.idProdi where tbmhs.nim = '".$nim."'"; + + $resultmhs = mysql_query($sqlmhs); + + $nim = ''; + $nama = ''; + $prodi = ''; + $email = ''; + $thnmasuk = ''; + $password = ''; + + while($row = mysql_fetch_array($resultmhs)){ + $nim = $row['nim']; + $nama = $row['nmLengkap']; + $prodi = $row['nmProdi']; + $email = $row['email']; + $thnmasuk = $row['thnmasuk']; + $password = $row['password']; + } + + $arr['mahasiswa'][] = array('nim'=>$nim,'nmLengkap'=>$nama,'nmProdi'=>$prodi,'email'=>$email,'thnmasuk'=>$thnmasuk,'password'=>$password); + + //--------------------------------------------------MHS-------------------------------------------------// + + //-----------------------------------------------PRAOUTLINE---------------------------------------------// + + //$nim = $_GET['nim']; + + $sqlpraoutline = "select * from tbpraoutline"; + //where nim='".$nim."'"; + + $resultpraoutline = mysql_query($sqlpraoutline); + while($row = mysql_fetch_array($resultpraoutline)){ + $idpraoutline = $row['id']; + $nim = $row['nim']; + $judul = $row['judul']; + $tgl_upload = $row['tgl_upload']; + $wkt_upload = $row['wkt_upload']; + $semester = $row['semester']; + $thn_ajaran = $row['thn_ajaran']; + $status_usulan = $row['status_usulan']; + $arr['praoutline'][] = array('id'=>$idpraoutline,'nim'=>$nim,'judul'=>$judul,'tgl_upload'=>$tgl_upload,'wkt_upload'=>$wkt_upload,'semester'=>$semester,'thn_ajaran'=>$thn_ajaran,'status_usulan'=>$status_usulan); + } + + //-----------------------------------------------PRAOUTLINE---------------------------------------------// + + //-----------------------------------------------REKAPHASIL---------------------------------------------// + + $sqlrekaphasil = "select * from tbrekaphasil"; + + $resultrekaphasil = mysql_query($sqlrekaphasil); + while($row = mysql_fetch_array($resultrekaphasil)){ + $idpraoutlinerh = $row['idpraoutline']; + $nimrh = $row['nim']; + $judulrh = $row['judul_final']; + $kep = $row['kep_akhir']; + $tgl_kep = $row['tgl_kep']; + $wkt_kep = $row['wkt_kep']; + $pemb1 = $row['pemb1']; + $pemb2 = $row['pemb2']; + $peng1 = $row['peng1']; + $peng2 = $row['peng2']; + $arr['rekaphasil'][] = array('idpraoutline'=>$idpraoutlinerh,'nim'=>$nimrh,'judul_final'=>$judulrh,'kep_akhir'=>$kep,'tgl_kep'=>$tgl_kep,'wkt_kep'=>$wkt_kep,'pemb1'=>$pemb1,'pemb2'=>$pemb2,'peng1'=>$peng1,'peng2'=>$peng2); + } + + //-----------------------------------------------REKAPHASIL---------------------------------------------// + + //----------------------------------------------REVIEWSPOTA---------------------------------------------// + $idpraoutline = $_GET['nim']; + + $sqlreviewspota = "select * from tbreview where idpraoutline='".$idpraoutline."'"; + $resultreviewspota = mysql_query($sqlreviewspota); + $bykreview=mysql_num_rows($resultreviewspota); + + if($bykreview!=0){ + // $arr = array(); + $i = 0; + // while($row = mysql_fetch_assoc($resultreviewspota)){ + while($row = mysql_fetch_array($resultreviewspota)){ + $reviewer = $row['reviewer']; + $review = $row['review_text']; + $putusan = $row['putusan']; + $tgl = $row['tgl']; + $wkt = $row['wkt']; + $idprodi = $row['idProdi']; + + if(is_numeric($reviewer[0])){ + //kalau angka + $sqlrv = "select * from tbdosen where nip='".$reviewer."' and idProdi='".$idprodi."'"; + }else{ + //kalau huruf + $sqlrv = "select * from tbmhs where nim='".$reviewer."'"; + } + + $result1 = mysql_query($sqlrv); + + while($row1 = mysql_fetch_array($result1)){ + // while($row1 = mysql_fetch_assoc($result1)){ + $namareviewer = $row1['nmLengkap']; + $arr['review'][] = array('idpra'=>$idpraoutline,'reviewer'.$i=>$namareviewer,'reviewnya'.$i=>$review,'putusan'.$i=>$putusan,'tgl'.$i=>$tgl,'wkt'.$i=>$wkt); + } + $i += 1; + } + } + else{ + $arr['review'][]=array('idpra'=>'-'); + } + + //----------------------------------------------REVIEWSPOTA---------------------------------------------// + + echo json_encode($arr); +?> \ No newline at end of file diff --git a/statistik.php b/statistik.php new file mode 100644 index 0000000..da67c36 --- /dev/null +++ b/statistik.php @@ -0,0 +1,233 @@ +runQuery($q); + ?> +

    Statistik Dosen

    + + + + + + + + + + dbRows()>0){ + while($stat=$db->dbFetch()){ + echo ' + + + + + + + '; + } + } + ?> +
    NamaNIPPembimbing 1Pembimbing 2Penguji 1Penguji 2
    '.$stat['nmLengkap'].''.$stat['nip'].''.$stat['pemb1'].''.$stat['pemb2'].''.$stat['peng1'].''.$stat['peng2'].'
    + runQuery($d); + if($db->dbRows()>0){ + $dosen=$db->dbFetch(); + } + switch($jenis){ + case 'pemb1': + $qq="SELECT tm.nim, tm.nmLengkap, trh.judul_final + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.pemb1=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE trh.semester='$smt' AND td.nip='$nip'"; + $txt="Sebagai Pembimbing 1"; + break; + + case 'pemb2': + $qq="SELECT tm.nim, tm.nmLengkap, trh.judul_final + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.pemb2=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE trh.semester='$smt' AND td.nip='$nip'"; + $txt="Sebagai Pembimbing 2"; + break; + + case 'peng1': + $qq="SELECT tm.nim, tm.nmLengkap, trh.judul_final + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.peng1=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE trh.semester='$smt' AND td.nip='$nip'"; + $txt="Sebagai Penguji 1"; + break; + + case 'peng2': + $qq="SELECT tm.nim, tm.nmLengkap, trh.judul_final + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.peng2=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE trh.semester='$smt' AND td.nip='$nip'"; + $txt="Sebagai Penguji 2"; + break; + } + + //echo $qq; + + $db->runQuery($qq); + echo $dosen['nmLengkap']." : "; + echo $txt."
    "; + echo '

    Daftar Mahasiswa
    '; + echo 'semester : '.$smt.'

    '; + echo ''; + echo ' + + + + '; + if($db->dbRows()>0){ + while($m=$db->dbFetch()){ + echo ' + + + + '; + } + } + echo '
    NIMNama MahasiswaJudul
    '.$m['nim'].''.$m['nmLengkap'].''.$m['judul_final'].'
    '; + } +}else{ + $db2=new dB($dbsetting); + if($_GET['detail']==""){ + $q="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 tbrekaphasil trh,tbdosen td + WHERE td.status='A' + GROUP BY td.nip + ORDER BY td.nip + "; + + $db2->runQuery($q); + ?> +

    Statistik Dosen

    + + + + + + + + + + dbRows()>0){ + while($stat=$db2->dbFetch()){ + echo ' + + + + + + + '; + } + } + ?> +
    NamaNIPPembimbing 1Pembimbing 2Penguji 1Penguji 2
    '.$stat['nmLengkap'].''.$stat['nip'].''.$stat['pemb1'].''.$stat['pemb2'].''.$stat['peng1'].''.$stat['peng2'].'
    + runQuery($d); + if($db2->dbRows()>0){ + $dosen=$db2->dbFetch(); + } + switch($jenis){ + case 'pemb1': + $qq="SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.pemb1=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + $txt="Sebagai Pembimbing 1"; + break; + + case 'pemb2': + $qq="SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.pemb2=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + $txt="Sebagai Pembimbing 2"; + break; + + case 'peng1': + $qq="SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.peng1=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + $txt="Sebagai Penguji 1"; + break; + + case 'peng2': + $qq="SELECT tm.nim, tm.nmLengkap, trh.judul_final, trh.semester + FROM tbrekaphasil trh + LEFT JOIN tbdosen td ON (trh.peng2=td.nip) + LEFT JOiN tbmhs tm ON (trh.nim=tm.nim) + WHERE td.nip='$nip' ORDER BY trh.semester, tm.nim"; + $txt="Sebagai Penguji 2"; + break; + } + + //echo $qq; + + $db2->runQuery($qq); + echo $dosen['nmLengkap']." : "; + echo $txt."
    "; + echo '

    Daftar Mahasiswa

    '; + echo ''; + echo ' + + + + + '; + if($db2->dbRows()>0){ + while($m=$db2->dbFetch()){ + echo ' + + + + + '; + } + } + echo '
    NIMNama MahasiswaJudulSemester
    '.$m['nim'].''.$m['nmLengkap'].''.$m['judul_final'].''.$m['semester'].'
    '; + } +} +?> \ No newline at end of file diff --git a/wa-req-forwarder.php b/wa-req-forwarder.php new file mode 100644 index 0000000..41001e7 --- /dev/null +++ b/wa-req-forwarder.php @@ -0,0 +1,78 @@ + 13 +) { + echo json_encode([ + "success" => false, + "message" => "Invalid phone number" + ]); + exit; +} + +// Konversi 08xxxx → 628xxxx +if ($receiver[0] == '0') { + $receiver = '62' . substr($receiver, 1); +} + +// Data yang dikirim ke WA Gateway +$postData = http_build_query([ + "sender" => $sender, + "number" => $receiver, + "message" => $message +]); + +// Setup HTTP Context +$options = [ + "http" => [ + "method" => "POST", + "header" => + "Content-Type: application/x-www-form-urlencoded\r\n" . + "x-api-key: {$apiKey}\r\n", + "content" => $postData, + "timeout" => 30 + ] +]; + +$context = stream_context_create($options); + +// Eksekusi request +$result = @file_get_contents($apiUrl, false, $context); + +if ($result === FALSE) { + echo json_encode([ + "success" => false, + "message" => "Gagal menghubungi server WA Gateway" + ]); + exit; +} + +$response = json_decode($result, true); + +// Normalisasi response seperti Helper Laravel +if (isset($response['status']) && $response['status'] == true) { + echo json_encode([ + "success" => true, + "message" => "Pesan Berhasil Dikirim" + ]); +} else { + echo json_encode([ + "success" => false, + "message" => "Nomor Tidak Dikenali" + ]); +} \ No newline at end of file