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    ";
    }
}
Example #2
0
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>";
        }
    }
}