PageRenderTime 49ms CodeModel.GetById 11ms RepoModel.GetById 1ms app.codeStats 0ms

/sysfo/jdwlkuliah.php

https://bitbucket.org/justmyfreak/sisfokampus
PHP | 426 lines | 405 code | 12 blank | 9 comment | 97 complexity | 91dfe6738825edbc965c532e3671f5d7 MD5 | raw file
  1. <?php
  2. // Author: E. Setio Dewo, setio_dewo@telkom.net, Mei 2003
  3. // *** Fungsi2 ***
  4. function Jadwal($thn, $kdj, $kdp='') {
  5. global $strCantQuery, $prn;
  6. if (!isset($prn)) $prn = 0;
  7. function HitungMhsw($jid) {
  8. global $strCantQuery;
  9. $s = "select count(*) as JML from krs where IDJadwal=$jid";
  10. $r = mysql_query($s) or die("$strCantQuery: $s");
  11. return mysql_result($r, 0, 'JML');
  12. }
  13. if (!empty($kdp)) $strprg = "and jd.Program='$kdp'";
  14. else $strprg = '';
  15. if ($prn == 0) {
  16. $snm = session_name(); $sid = session_id();
  17. echo "<a href='sysfo.php?syxec=jdwlkuliah&md=1'>Tambah Jadwal</a> | ";
  18. SimplePrinter("print.php?print=sysfo/jdwlkuliah.php&prn=1&$snm=$sid", 'Cetak Jadwal');
  19. }
  20. $tjdwl = ($prn == 0)? '' : ' and jd.Terjadwal="Y" ';
  21. $s = "select jd.ID, jd.KodeRuang, jd.Tahun, jd.Terjadwal, jd.KodeFakultas, jd.KodeJurusan,
  22. jd.IDMK, jd.KodeMK, jd.SKS, jd.Global, jd.Program, jd.JamMulai, jd.JamSelesai,
  23. jd.KodeKampus, jd.KodeRuang,
  24. TIME_FORMAT(JamMulai, '%H:%i') as jm, TIME_FORMAT(JamSelesai, '%H:%i') as js,
  25. jd.Global, h.Nama as HR, mk.ID as MKID, mk.Kode as KodeMK, mk.Nama_Indonesia as MK, mk.SKS,
  26. concat(d.Name, ', ', d.Gelar) as Dosen, pr.Nama_Indonesia as PRG, r.Kapasitas
  27. from jadwal jd left outer join hari h on jd.Hari=h.ID
  28. left outer join matakuliah mk on jd.IDMK=mk.ID
  29. left outer join dosen d on jd.IDDosen=d.ID
  30. left outer join program pr on jd.Program=pr.Kode
  31. left outer join ruang r on jd.KodeRuang=r.Kode
  32. where jd.Tahun='$thn' and jd.KodeJurusan='$kdj' $strprg $tjdwl
  33. order by jd.Terjadwal, jd.Hari, jd.JamMulai";
  34. $r = mysql_query($s) or die ("$strCantQuery: $s<br>".mysql_error());
  35. if ($prn == 0) $strkaps0 = "<th class=ttl>Kaps</th><th class=ttl>Mhsw</th><th class=ttl>Cover</th>"; else $strkaps0 = '';
  36. echo "<table class=box cellspacing=0 cellpadding=4>";
  37. $hd = "<tr><th class=ttl>Jam</th>
  38. <th class=ttl>Ruang</th><th class=ttl>Kampus</th>
  39. <th class=ttl>KodeMK</th><th class=ttl>Mata Kuliah</th>
  40. <th class=ttl>Program</th>
  41. <th class=ttl>SKS</th>
  42. <th class=ttl>Dosen</th>
  43. $strkaps0 </tr>";
  44. $_hr = -1; $terjadwal = '';
  45. $arrterjadwal = array('Y'=>'Terjadwal', 'N'=>'Tidak Terjadwal');
  46. while ($row = mysql_fetch_array($r)) {
  47. $hr = $row['HR'];
  48. $rng = $row['KodeRuang'];
  49. $kmps = $row['KodeKampus'];
  50. $jm = $row['jm']; $js = $row['js'];
  51. $jid = $row['ID'];
  52. $kmk = $row['KodeMK'];
  53. $mk = $row['MK'];
  54. $kl = $row['PRG'];
  55. if (empty($kl)) $kl = '&nbsp;';
  56. $sks = $row['SKS'];
  57. $dsn = $row['Dosen'];
  58. $kps = $row['Kapasitas'];
  59. $mhsw = HitungMhsw($jid);
  60. $ass = GetAssDsn($row['ID']);
  61. if (($prn == 0) && ($terjadwal != $row['Terjadwal'])) {
  62. $terjadwal = $row['Terjadwal'];
  63. $str = $arrterjadwal[$terjadwal];
  64. echo "<tr><td class=uline colspan=10><h3>$str</td></tr>";
  65. }
  66. if ($prn == 0) {
  67. $strkaps = "<td class=lst align=right>$kps</td>
  68. <td class=lst align=right><a href='sysfo.php?syxec=jdwlkuliah&md1=0&jid=$row[ID]&mkid=$row[MKID]'>$mhsw</a></td>
  69. <td class=lst align=center><a href='print.php?print=sysfo/cetakcoverabsen.php&jid=$row[ID]' target=_blank title='Cetak Cover Absen'><img src='image/printer.gif' border=0></a></td>";
  70. $streditdsn = "<a href='sysfo.php?syxec=editassdsn&jid=$jid'><img src='image/edit.png' border=0></a>";
  71. $streditmk = "<a href='sysfo.php?syxec=jdwlkuliah&md=0&jid=$jid'><img src='image/edit.png' border=0></a> ";
  72. }
  73. else {
  74. $strkaps = '';
  75. $streditdsn = '';
  76. $streditmk = '';
  77. }
  78. if ($_hr != $hr) {
  79. $_hr = $hr;
  80. echo "<tr><td colspan=7><h3>$hr</td></tr>";
  81. echo $hd;
  82. }
  83. echo "<tr><td class=lst>$jm-$js</td>
  84. <td class=lst>$rng</td><td class=lst>$kmps</td>
  85. <td class=lst>$streditmk$kmk</td>
  86. <td class=lst>$mk</td>
  87. <td class=lst>$kl</td>
  88. <td class=lst align=right>$sks</td>
  89. <td class=lst>$streditdsn $dsn $ass</td>
  90. $strkaps</tr>";
  91. }
  92. echo "<tr><td height=2></td></tr></table>";
  93. }
  94. function GetAssDsn($jid) {
  95. $str = '';
  96. $s = "select jad.*, concat(dsn.Name, ', ', dsn.Gelar) as DSN
  97. from jadwalassdsn jad
  98. left outer join dosen dsn on jad.IDDosen=dsn.ID
  99. where jad.IDJadwal='$jid' and jad.NotActive='N'
  100. order by dsn.Name";
  101. $r = mysql_query($s) or die("Gagal: $s<br>".mysql_error());
  102. $n = 0;
  103. while ($w = mysql_fetch_array($r)) {
  104. $n++;
  105. $str .= "<br>- $w[DSN]";
  106. }
  107. return $str;
  108. }
  109. function JadwalForm($thn, $kdj, $md, $kurid, $jid) {
  110. global $strCantQuery;
  111. if ($md == 0) {
  112. $s = "select *,TIME_FORMAT(JamMulai, '%H:%i') as jm, TIME_FORMAT(JamSelesai, '%H:%i') as js
  113. from jadwal where ID=$jid limit 1";
  114. $r = mysql_query($s) or die ("$strCantQuery: $s");
  115. $thn = mysql_result($r, 0, 'Tahun');
  116. $Terjadwal = mysql_result($r, 0, 'Terjadwal');
  117. $kdf = mysql_result($r, 0, 'KodeFakultas');
  118. $kdj = mysql_result($r, 0, 'KodeJurusan');
  119. $IDMK = mysql_result($r, 0, 'IDMK');
  120. $IDDosen = mysql_result($r, 0, 'IDDosen');
  121. $Program = mysql_result($r, 0, 'Program');
  122. $Hari = mysql_result($r, 0, 'Hari');
  123. $JamMulai = mysql_result($r, 0, 'jm');
  124. $JamSelesai = mysql_result($r, 0, 'js');
  125. //$KodeKampus = mysql_result($r, 0, 'KodeKampus');
  126. $KodeRuang = mysql_result($r, 0, 'KodeRuang');
  127. $jdl = 'Edit Jadwal';
  128. $Rencana = mysql_result($r, 0, 'Rencana');
  129. $Realisasi = mysql_result($r, 0, 'Realisasi');
  130. if (mysql_result($r, 0, 'Global') == 'Y') $glob = 'checked'; else $glob = '';
  131. $ada = GetaField("krs", "IDJadwal", $jid, "count(ID)")+0;
  132. if ($ada > 1) $ro = "<tr><th class=wrn colspan=2>Tidak dpt Diubah krn sudah ada mhsw yg mengambil</th></tr>";
  133. else $ro = '';
  134. }
  135. elseif ($md == 1) {
  136. $kdf = GetaField('jurusan', 'Kode', $kdj, 'KodeFakultas');
  137. $IDMK = 0;
  138. $IDDosen = 0;
  139. $Program = '';
  140. $Hari = 1;
  141. $JamMulai = '06:00';
  142. $JamSelesai = '07:00';
  143. //$KodeKampus = '';
  144. $KodeRuang = '';
  145. $Terjadwal = 'Y';
  146. $jdl = 'Tambah Jadwal';
  147. $Rencana = 0;
  148. $Realisasi = 0;
  149. $glob = '';
  150. $ro = '';
  151. }
  152. else {
  153. $kdf = GetaField('jurusan', 'Kode', $kdj, 'KodeFakultas');
  154. $IDMK = $_REQUEST['IDMK'];
  155. $Terjadwal = 'Y';
  156. $IDDosen = $_REQUEST['IDDosen'];
  157. $Program = $_REQUEST['Program'];
  158. $Hari = $_REQUEST['Hari'];
  159. $JamMulai = $_REQUEST['JamMulai'];
  160. $JamSelesai = $_REQUEST['JamSelesai'];
  161. if (isset($_REQUEST['KodeRuang'])) $KodeRuang = $_REQUEST['KodeRuang'];
  162. else $KodeRuang = '';
  163. $jdl = "Penjadwalan Gagal";
  164. $Rencana = $_REQUEST['Rencana'];
  165. $Realisasi = $_REQUEST['Realisasi'];
  166. if (isset($_REQUEST['glob']) && $_REQUEST['glob'] == 'Y') $glob = 'checked'; else $glob='';
  167. $ro = '';
  168. }
  169. $oHari = $Hari;
  170. $ojm = $JamMulai;
  171. $ojs = $JamSelesai;
  172. //function GetOption($_table, $_field, $_order='', $_default='', $_where='', $_value='') {
  173. $sid = session_id(); $snm = session_name();
  174. $strTerjadwal = ($Terjadwal == 'Y') ? 'checked' : '';
  175. $optmk = GetOption2('matakuliah', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $IDMK, "KurikulumID=$kurid", 'ID');
  176. $optds = GetOption2('dosen', "concat(Name, ', ', Gelar)", 'Name', $IDDosen, "NotActive='N'", 'ID');
  177. $optrg = GetOption2('ruang', "concat(KodeKampus, ' -- ', Kode)", 'KodeKampus,Kode', $KodeRuang, '', 'Kode');
  178. $opthr = GetOption2('hari', 'Nama', 'ID', $Hari, '', 'ID');
  179. $optprg = GetOption2('program', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $Program, '', 'Kode');
  180. echo <<<EOF
  181. <form name=f1 action='sysfo.php' method=GET>
  182. <input type=hidden name='syxec' value='jdwlkuliah'>
  183. <input type=hidden name='md' value='$md'>
  184. <input type=hidden name='thn' value='$thn'>
  185. <input type=hidden name='kdj' value='$kdj'>
  186. <input type=hidden name='jid' value='$jid'>
  187. <table class=box cellspacing=0 cellpadding=3>$ro
  188. <tr><th class=ttl colspan=2>$jdl</th></tr>
  189. <tr><td class=uline>Mata Kuliah</td><td class=uline><select name='IDMK'>$optmk</select></td></tr>
  190. <tr><td class=uline>Terjadwal</td><td class=uline><input type=checkbox name='Terjadwal' value='Y' $strTerjadwal> Dijadwalkan untuk kuliah. Kosongkan jika tidak dijadwalkan.</td></tr>
  191. <tr><td class=uline>Ditawarkan Global</td><td class=uline><input type=checkbox name='glob' value='Y' $glob> Semua Jurusan dpt Mengambil</td></tr>
  192. <tr><td class=uline>Dosen</td><td class=uline><select name='IDDosen'>$optds</select></td></tr>
  193. <tr><td class=uline>Ruang</td><td class=uline><select name='KodeRuang'>$optrg</select></td></tr>
  194. <tr><td class=uline>Program</td><td class=uline><select name='Program'>$optprg</select></td></tr>
  195. <tr><td class=uline>Hari</td><td class=uline><select name='Hari'>$opthr</select></td></tr>
  196. <tr><td class=uline>Jam Mulai</td><td class=uline><input type=text name='JamMulai' value='$JamMulai' size=6 maxlength=5></td></tr>
  197. <tr><td class=uline>Jam Selesai</td><td class=uline><input type=text name='JamSelesai' value='$JamSelesai' size=6 maxlength=5></td></tr>
  198. <tr><td class=uline>Rencana Tatap Muka</td><td class=uline><input type=text name='Rencana' value='$Rencana' size=3 maxlength=3></td></tr>
  199. <tr><td class=uline>Realisasi Tatap Muka</td><td class=uline><input type=text name='Realisasi' value='$Realisasi' size=3 maxlength=3></td></tr>
  200. <tr><td class=uline colspan=2><input type=submit name='prcjdwl' value='Simpan'>&nbsp;
  201. <input type=reset name='Reset' value='Reset'>&nbsp;
  202. <input type=button name='balik' value='Kembali' onClick="location='sysfo.php?syxec=jdwlkuliah&PHPSESSID=$sid'">&nbsp;
  203. <input type=button name='prcdel' value='Hapus' onClick="location='sysfo.php?syxec=jdwlkuliah&del=$jid&PHPSESSID=$sid'">
  204. </td></tr><tr><td height=2></td></tr>
  205. </table></form>
  206. EOF;
  207. }
  208. function GetErrorRuang($r, $msg) {
  209. for ($i=0; $i < mysql_num_rows($r); $i++) {
  210. $strmk = GetFields('matakuliah', 'ID', mysql_result($r, $i, 'IDMK'), 'Kode,Nama_Indonesia');
  211. $str1 = "<li>$msg<br>".
  212. GetaField('hari', 'ID', mysql_result($r, $i, 'Hari'), 'Nama'). ' '.
  213. mysql_result($r, $i, 'JamMulai').' - '.mysql_result($r, $i, 'JamSelesai'). ' : '.
  214. $strmk['Kode'] . ' - '. $strmk['Nama_Indonesia'] . ' dari '.
  215. mysql_result($r, $i, 'KodeFakultas') . ' : ' . mysql_result($r, $i, 'KodeJurusan').
  216. '</li>';
  217. }
  218. return $str1;
  219. }
  220. function CheckRuang ($thn, $jid, $kdk, $kdr, $hr, $jm, $js) {
  221. global $strCantQuery, $fmtErrorMsg;
  222. $sm = "select * from jadwal where KodeKampus='$kdk' and KodeRuang='$kdr' and Hari='$hr' and
  223. JamMulai <= '$jm:00' and '$jm:00' <= JamSelesai and ID<>'$jid' and Tahun='$thn'";
  224. $rm = mysql_query($sm) or die ("$strCantQuery: $sm");
  225. $hm = mysql_num_rows($rm);
  226. if ($hm > 0) $str1 = GetErrorRuang($rm, '<b>Jam Mulai Bentrok.</b>');
  227. else $str1 = '';
  228. $ss = "select * from jadwal where KodeKampus='$kdk' and KodeRuang='$kdr' and Hari=$hr and
  229. JamMulai <= '$js' and '$js' <= JamSelesai and ID<>$jid and Tahun='$_SESSION[thn]' ";
  230. $rs = mysql_query($ss) or die ("$strCantQuery: $ss");
  231. $hs = mysql_num_rows($rs);
  232. if ($hs > 0) $str2 = GetErrorRuang($rs, '<b>Jam Selesai Bentrok.</b>');
  233. else $str2 = '';
  234. if (!($hm == 0 && $hs ==0)) DisplayHeader($fmtErrorMsg, "Tidak dapat dijadwalkan di <b>$kdk - $kdr</b>.<br>
  235. Ruang telah dipakai oleh : <br><ul> $str1 $str2 </ul><hr size=1 color=silver>
  236. Opsi: <a href='sysfo.php?$_SERVER[QUERY_STRING]&gabung=1'>Gabungkan dengan jadwal di atas</a>");
  237. return ($hm == 0) && ($hs == 0);
  238. }
  239. function PrcJdwl($kdj) {
  240. global $strCantQuery, $fmtErrorMsg, $md, $strTahunNotActive, $thn;
  241. //$thn = $_REQUEST['thn'];
  242. if (!isTahunAktif($thn, $kdj)) {
  243. DisplayHeader($fmtErrorMsg, $strTahunNotActive);
  244. $md = -1;
  245. }
  246. else {
  247. $md = $_REQUEST['md'];
  248. $kdj = $_REQUEST['kdj'];
  249. $kdf = GetaField('jurusan', 'Kode', $kdj, 'KodeFakultas');
  250. $jid = $_REQUEST['jid'];
  251. $Terjadwal = (!empty($_REQUEST['Terjadwal']) && ($_REQUEST['Terjadwal'] == 'Y'))? 'Y' : 'N';
  252. $IDMK = $_REQUEST['IDMK'];
  253. $arrmk = GetFields('matakuliah', 'ID', $IDMK, 'Kode, SKS, Nama_Indonesia');
  254. $KDMK = $arrmk['Kode'];
  255. $SKS = $arrmk['SKS'];
  256. $IDDosen = $_REQUEST['IDDosen'];
  257. $Program = $_REQUEST['Program'];
  258. $KodeRuang = $_REQUEST['KodeRuang'];
  259. $KodeKampus = GetaField('ruang', 'Kode', $KodeRuang, 'KodeKampus');
  260. $Hari = $_REQUEST['Hari'];
  261. $jm = $_REQUEST['JamMulai'];
  262. $js = $_REQUEST['JamSelesai'];
  263. $unip = $_SESSION['unip'];
  264. $Rencana = $_REQUEST['Rencana'];
  265. $Realisasi = $_REQUEST['Realisasi'];
  266. if (isset($_REQUEST['glob'])) $glob = $_REQUEST['glob']; else $glob = 'N';
  267. // Apakah gabungan?
  268. $oke = (!empty($_REQUEST['gabung']) && $_REQUEST['gabung'] ==1) ? true : false;
  269. $oke = ($Terjadwal == 'Y')? $oke : true;
  270. if (!$oke) $oke = CheckRuang($thn, $jid, $KodeKampus, $KodeRuang, $Hari, $jm, $js);
  271. if ($oke) {
  272. if ($md == 0 || $md == 2) {
  273. $s = "update jadwal set IDMK='$IDMK', KodeMK='$arrmk[Kode]', NamaMK='$arrmk[Nama_Indonesia]', Terjadwal='$Terjadwal',
  274. IDDosen='$IDDosen', Global='$glob', Program='$Program', Hari='$Hari', JamMulai='$jm', JamSelesai='$js',
  275. KodeKampus='$KodeKampus', KodeRuang='$KodeRuang', Rencana='$Rencana', Realisasi='$Realisasi'
  276. where ID=$jid ";
  277. }
  278. elseif ($md == 1 || $md == 3) {
  279. $s = "insert into jadwal (Tahun, Terjadwal, KodeFakultas, KodeJurusan, IDMK, KodeMK, NamaMK,
  280. Global, SKS, SKSHonor, IDDosen, Program, Hari,
  281. JamMulai, JamSelesai, KodeKampus, KodeRuang, unip, Tanggal, Rencana, Realisasi,
  282. UTSTanggal, UASTanggal, SSLTanggal)
  283. values ('$thn', '$Terjadwal', '$kdf', '$kdj', '$IDMK', '$KDMK', '$arrmk[Nama_Indonesia]',
  284. '$glob', '$SKS', '$SKS', '$IDDosen', '$Program', '$Hari', '$jm',
  285. '$js', '$KodeKampus', '$KodeRuang', '$unip', now(), '$Rencana', '$Realisasi',
  286. now(), now(), now()) ";
  287. }
  288. $r = mysql_query($s) or die ("$strCantQuery: $s<br>".mysql_error());
  289. $md = -1;
  290. }
  291. else {
  292. if ($md == 0) $md = 2;
  293. elseif ($md == 1) $md = 3;
  294. }
  295. }
  296. }
  297. function HeaderJadwal($jid) {
  298. global $strCantQuery, $fmtErrorMsg;
  299. $s0 = "select j.*, mk.Kode as KMK, mk.Nama_Indonesia, concat(ds.Name, ', ', ds.Gelar) as DSN,
  300. hr.Nama as HR, time_format(j.JamMulai, '%H:%i') as MUL, time_format(j.JamSelesai, '%H:%i') as SEL,
  301. r.Kapasitas, pr.Nama_Indonesia as PRG
  302. from jadwal j left join matakuliah mk on j.IDMK=mk.ID
  303. left outer join dosen ds on j.IDDosen=ds.ID
  304. left outer join hari hr on j.Hari=hr.ID
  305. left outer join ruang r on j.KodeRuang=r.Kode
  306. left outer join program pr on j.Program=pr.Kode
  307. where j.ID=$jid limit 1";
  308. $r0 = mysql_query($s0) or die ("$strCantQuery: $s0<br>".mysql_error());
  309. $kmk = mysql_result($r0, 0, 'KMK');
  310. $mk = mysql_result($r0, 0, 'Nama_Indonesia');
  311. $dsn = mysql_result($r0, 0, 'DSN');
  312. $hr = mysql_result($r0, 0, 'HR');
  313. $mul = mysql_result($r0, 0, 'MUL');
  314. $sel = mysql_result($r0, 0, 'SEL');
  315. $kmp = mysql_result($r0, 0, 'KodeKampus');
  316. $rng = mysql_result($r0, 0, 'KodeRuang');
  317. $kap = mysql_result($r0, 0, 'Kapasitas');
  318. $kdp = mysql_result($r0, 0, 'PRG');
  319. echo <<<EOF
  320. <table class=box cellspacing=1 cellpadding=4>
  321. <tr><td class=ttl>Mata Kuliah :</td><td class=uline>$kmk - $mk</td></tr>
  322. <tr><td class=ttl>Program :</td><td class=uline>$kdp</td></tr>
  323. <tr><td class=ttl>Dosen Pengampu</td><td class=uline>$dsn</td></tr>
  324. <tr><td class=ttl>Jadwal</td><td class=uline>$hr, $mul - $sel</td></tr>
  325. <tr><td class=ttl>Kampus - Ruang</td><td class=uline>$kmp - $rng</td></tr>
  326. <tr><td class=ttl>Kapasitas Ruang</td><td class=uline>$kap</td></tr>
  327. <tr><td></td></tr></table><br>
  328. EOF;
  329. }
  330. function JadwalMhsw($jid, $thn) {
  331. global $strCantQuery, $fmtErrorMsg;
  332. HeaderJadwal($jid);
  333. $idmk = GetaField('jadwal', 'ID', $jid, 'IDMK');
  334. $ada = GetaField('jadwal', "Tahun='$thn' and ID<>$jid and IDMK", $idmk, 'ID');
  335. if (!empty($ada)) {
  336. $opt = '' ;//GetOption2("jadwal j left outer join program pr on j.Kelas=pr.Kode", 'pr.Nama_Indonesia', 'j.Kelas',
  337. //$jid, "j.IDMK=$idmk and j.Tahun='$thn'", 'j.ID', 1);
  338. }
  339. $s = "select k.*, m.Name
  340. from krs k left outer join mhsw m on k.NIM=m.NIM
  341. where k.IDJadwal=$jid order by k.NIM";
  342. $r = mysql_query($s) or die("$strCantQuery: $s <br>".mysql_error());
  343. $nmr = 0;
  344. echo "<table class=box cellspacing=0 cellpadding=4>
  345. <tr><th class=ttl>#</th><th class=ttl>NIM</th><th class=ttl>Mahasiswa</th>
  346. <th class=ttl>Pindah</th></tr>";
  347. while ($row = mysql_fetch_array($r)) {
  348. $nmr++;
  349. if (!empty($ada))
  350. $strchg = "<form action='sysfo.php' method=GET>
  351. <input type=hidden name='syxec' value='jdwlkuliah'>
  352. <input type=hidden name='jid' value=$jid>
  353. <input type=hidden name='kid' value=$row[ID]>
  354. <input type=hidden name='md1' value=0>
  355. <input type=hidden name='prcchg' value=1>
  356. <td class=uline><select name='chg' onChange='this.form.submit()'>$opt</select></td></form>";
  357. else $strchg = '<td class=uline>&nbsp;</td>';
  358. echo "<tr><td class=lst>$nmr</td>
  359. <td class=lst>$row[NIM]</td><td class=lst>$row[Name]</td>
  360. $strchg
  361. </tr>";
  362. }
  363. echo "<tr><td height=2></td></tr></table>";
  364. }
  365. function PrcChg() {
  366. global $strCantQuery, $fmtErrorMsg;
  367. $jid = $_REQUEST['jid'];
  368. $kid = $_REQUEST['kid'];
  369. $chg = $_REQUEST['chg'];
  370. if ($chg > 0) {
  371. $arr = GetFields('jadwal', 'ID', $chg, 'Tahun,ID,IDMK,IDDosen');
  372. $s = "update krs set Tahun='$arr[Tahun]', IDJadwal=$arr[ID],
  373. IDMK=$arr[IDMK], IDDosen=$arr[IDDosen] where ID=$kid";
  374. $r = mysql_query($s) or die("$strCantQuery: $s");
  375. }
  376. }
  377. function PrcDel() {
  378. global $fmtErrorMsg;
  379. $del = $_REQUEST['del'];
  380. $s = "select count(*) as JML from krs where IDJadwal='$del'";
  381. $r = mysql_query($s) or die("Query gagal: $s<br>".mysql_error());
  382. $w = mysql_fetch_array($r);
  383. if (($w['JML']+0) > 0) {
  384. $IDMK = GetaField('jadwal', 'ID', $del, 'IDMK');
  385. $MK = GetaField('matakuliah', 'ID', $IDMK, "concat(Kode, ' - ', Nama_Indonesia)");
  386. DisplayHeader($fmtErrorMsg, "Proses Hapus Dibatalkan.<hr size=1 color=silver>
  387. Mata kuliah <b>$MK</b> tidak dapat dihapus<br>
  388. karena telah ada mahasiswa yang mengambilnya.<br>
  389. Jumlah mahasiswa yg telah mengambil KRS mata kuliah ini: <b class=box>$w[JML]</b><hr size=1 color=silver>
  390. Pilihan: <a href='sysfo.php?syxec=jdwlkuliah&md1=0&jid=$del'>Lihat mhsw yg mengambil</a>");
  391. }
  392. else mysql_query("delete from jadwal where ID=$del");
  393. }
  394. // *** Bagian Utama ***
  395. $thn = GetSetVar('thn');
  396. $kdj = GetSetVar('kdj');
  397. $kdp = GetSetVar('kdp');
  398. if (isset($_REQUEST['jid'])) $jid = $_REQUEST['jid']; else $jid = 0;
  399. if (isset($_REQUEST['md'])) $md = $_REQUEST['md']; else $md = -1;
  400. if (isset($_REQUEST['md1'])) $md1 = $_REQUEST['md1']; else $md1 = -1;
  401. if (isset($_REQUEST['prn'])) $prn = $_REQUEST['prn']; else $prn = 0;
  402. DisplayHeader($fmtPageTitle, 'Jadwal Kuliah');
  403. if (isset($_REQUEST['prcjdwl'])) PrcJdwl($kdj);
  404. if (isset($_REQUEST['prcchg'])) PrcChg();
  405. if (isset($_REQUEST['del'])) PrcDel();
  406. DispOptJdwl0();
  407. if (!empty($thn) && !empty($kdj)) {
  408. if ($md1 == -1) {
  409. if ($prn == 0) echo GetKur4Jdwl($kdj, $kdp);
  410. if ($md == -1) Jadwal($thn, $kdj, $kdp);
  411. else JadwalForm($thn, $kdj, $md, $kurid, $jid);
  412. } else JadwalMhsw($jid, $thn);
  413. }
  414. ?>