function Proses() { $_max = 100; $_praPrc = GetSetVar('_praPrc'); $_praCnt = GetSetVar('_praCnt'); $_dari = $_praPrc * $_max; $s = "select m.MhswID, m.Nama\r\n from mhsw m\r\n where m.KodeID = '" . KodeID . "'\r\n and m.ProdiID = '{$_SESSION['ProdiID']}'\r\n and m.StatusMhswID = 'A'\r\n order by m.MhswID\r\n limit {$_dari}, {$_max}"; //die($s); $r = _query($s); $jml = _num_rows($r); if ($jml > 0) { while ($w = _fetch_array($r)) { $_SESSION['_praCnt']++; // Proses satu per satu $MhswID = $w['MhswID']; $Nama = $w['Nama']; $oke = true; $psn = ''; // Apakah ada SKS Minimalnya? $oke = CheckSKSMin($MhswID, $psn); // Apakah ada IP Minimalnya? if ($oke) { $oke = CheckIPMin($MhswID, $psn); } // Apakah ada MK Prasyaratnya? if ($oke) { $oke = CheckPrasyarat($MhswID, $psn); } echo <<<ESD <script> self.parent.Progresnya({$_SESSION['_praCnt']}, '{$MhswID}', '{$Nama}', '{$psn}'); </script> ESD; // Jika memenuhi syarat if ($oke == true) { $f = fopen("../" . $_SESSION['_praFile'] . ".txt", 'a'); fwrite($f, "{$MhswID}|{$Nama}|Oke\r\n"); fclose($f); } else { // Jika tidak memenuhi syarat $f = fopen("../" . $_SESSION['_praFile'] . "_gagal.txt", 'a'); fwrite($f, "{$MhswID}|{$Nama}|{$psn}\r\n"); fclose($f); } } // Nex Process $_SESSION['_praPrc']++; $time = 10; echo <<<ESD <script> <!-- //window.setTimeout("location='{$_SESSION['mnux']}.proses.php?gos=Proses&_praPrc={$_praPrc}&_praCnt={$_SESSION['_praCnt']}'", {$time}); window.setTimeout("location='../{$_SESSION['mnux']}.proses.php'", {$time}); //--> </script> ESD; } else { echo "\r\n <script>\r\n self.parent.Selesai();\r\n </script>\r\n "; } }
function Ambil($mhswid, $khsid) { $jid = array(); $jid = $_REQUEST['jid']; $jresid = $_REQUEST['jresid']; $khs = GetFields('khs', 'KHSID', $khsid, '*'); $cekprasyarat = GetaField('prodi', "KodeID='" . KodeID . "' and ProdiID", $khs['ProdiID'], 'CekPrasyarat'); if (empty($jid)) { echo ErrorMsg('Error', "Anda belum mencentang matakuliah yang akan diambil.<br />\r\n Hubungi Sysadmin untuk informasi lebih lanjut.\r\n <hr size=1 color=silver />\r\n Opsi: <input type=button name='Kembali' value='Kembali'\r\n onClick=\"location='../{$_SESSION['mnux']}.ambil.php?mhswid={$mhswid}&khsid={$khsid}'\" />\r\n <input type=button name='Tutup' value='Tutup'\r\n onClick=\"window.close()\" />"); } else { TutupScript($mhswid, $khsid); // Buat array pesan $arrPesan = array(); $_psn = ''; foreach ($jid as $j) { $oke = true; $jdwl = GetFields('jadwal', 'JadwalID', $j, '*'); // Cek prasyarat if ($cekprasyarat == 'Y') { $oke = CheckPrasyarat($khs, $jdwl, $_psn); } if ($oke) { $oke = cekMakSKS($khs, $jdwl, $_psn); } // Cek apakah ada bentrok? if ($oke) { $oke = CheckKRSMhsw($khs, $jdwl, $_psn); } /* if($jdwl['AdaResponsi'] == 'Y') { $jdwlresponsi = GetFields("jadwal jr left outer join jadwal j on j.JadwalRefID=jr.JadwalID and j.KodeID='".KodeID."'" , 'JadwalID', $arrResponsi[$j], 'jr.*, j.Nama, j.MKKode, j.SKS'); if ($oke) $oke = CheckResponsiMhsw($khs, $jdwlresponsi, $_psn); } */ if ($oke) { $oke = CheckKapasitas($jdwl, $_psn); } if ($oke) { $oke = cekKdMK($khs, $jdwl, $_psn); } if ($oke) { SimpanKRSMhsw($khs, $jdwl); } else { $arrPesan[] = $_psn; } } HitungUlangKRS($khsid); echo "<script>\r\n opener.location='../index.php?mnux={$_SESSION['mnux']}&gos=&mhswid={$mhswid}&khsid={$khsid}';\r\n </script>"; // Jika ada Error, tampilkan pesan errornya if (!empty($arrPesan)) { $p = implode(' ', $arrPesan); echo ErrorMsg('Error', "Ada KRS yang gagal diambil. Berikut adalah pesan kesalahannya:\r\n <ol>{$p}</ol>\r\n <hr size=1 color=silver />\r\n Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"javascript:ttutup()\" />\r\n <input type=button name='Kembali' value='Kembali' onClick=\"location='../{$_SESSION['mnux']}.ambil.php'\" />"); } else { // Sampai sini, penyimpanan data krs telah selesai. //echo "KRS untuk Jadwal Kuliah Utama Telah berhasil disimpan.<br>"; // Sekarang, cek dan simpan data kelas tambahan (responsi/lab/tutorial) // Buat array yang memuat semua jadwal responsi $arrPesan = array(); // Bila ada jadwal kelas tambahan yang dipilih.... if (!empty($jresid)) { foreach ($jresid as $j) { $a = explode('~', $j); $oke = true; $jdwl = GetFields('jadwal', 'JadwalID', $a[1], '*'); // Tidak usah Cek prasyarat karena sudah dicek sebelumnya // Cek apakah ada bentrok? if ($oke) { $oke = CheckKRSMhsw($khs, $jdwl, $_psn); } if ($oke) { $oke = CheckKapasitas($jdwl, $_psn); } if ($oke) { SimpanKRSMhsw($khs, $jdwl); } else { $arrPesan[] = $_psn; } } } if (!empty($arrPesan)) { $p = implode(' ', $arrPesan); echo ErrorMsg('Error', "Ada KRS Tambahan yang gagal diambil. Berikut adalah pesan kesalahannya:\r\n\t\t\t <ol>{$p}</ol>\r\n\t\t\t <hr size=1 color=silver />\r\n\t\t\t Opsi: <input type=button name='Tutup' value='Tutup' onClick=\"javascript:ttutup()\" />\r\n\t\t\t\t <input type=button name='Kembali' value='Kembali' onClick=\"location='../{$_SESSION['mnux']}.ambil.php'\" />"); } echo "<script>ttutup()</script>"; } } }