PageRenderTime 52ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/sysfo/sysfo.common.php

https://bitbucket.org/justmyfreak/sisfokampus
PHP | 1222 lines | 1162 code | 18 blank | 42 comment | 250 complexity | 6d39679cd94df2d7e107581d7d4df25d MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. function GetSetVar($str, $def='') {
  3. if (isset($_REQUEST[$str])) {
  4. $_SESSION[$str] = $_REQUEST[$str];
  5. return $_REQUEST[$str];
  6. }
  7. else {
  8. if (isset($_SESSION[$str])) return $_SESSION[$str];
  9. else {
  10. $_SESSION[$str] = $def;
  11. return $def;
  12. }
  13. }
  14. }
  15. function GetUserModul() {
  16. global $strCantQuery;
  17. $unip = $_SESSION['unip'];
  18. $ulevel = $_SESSION['ulevel'];
  19. $usrid = $_SESSION['uid'];
  20. $_arr = array();
  21. $_sql = "select m.GroupModul, m.Level from usermodul um
  22. right join modul m on um.ModulID=m.ModulID
  23. where m.InMenu='Y' and um.UserID='$usrid' or LOCATE($ulevel, m.Level) group by m.GroupModul";
  24. $_res = mysql_query($_sql) or die("$strCantQuery: $_sql");
  25. for ($i=0; $i < mysql_num_rows($_res); $i++) {
  26. $_arr[$i] = mysql_result($_res, $i, 'GroupModul');
  27. }
  28. return $_arr;
  29. }
  30. // DisplaySubModul
  31. function DisplaySubModul($gm) {
  32. global $fmtSysfoMenu_h, $fmtSysfoMenu_i, $fmtSysfoMenu_f;
  33. $unip = $_SESSION['unip'];
  34. $nbrw = new newsbrowser;
  35. $nbrw->query = "select um.*,m.* from usermodul um inner join modul m on um.Modul=m.Modul
  36. where m.GroupModul='$gm' and um.Login='$unip' and m.InMenu='Y' and m.web='Y'
  37. ";
  38. $nbrw->headerfmt = DisplayHeader($fmtSysfoMenu_h, $gm, 0);
  39. $nbrw->detailfmt = DisplayDetail($fmtSysfoMenu_i, "sysfo.php?syxec==Link=", "=Modul=", "",0);
  40. $nbrw->footerfmt = $fmtSysfoMenu_f;
  41. echo $nbrw->BrowseNews();
  42. }
  43. // DisplaySubModul
  44. function DisplaySubModulIcon1($gm) {
  45. global $fmtMenu_header, $fmtMenu_item, $fmtMenu_footer;
  46. $unip = $_SESSION['unip'];
  47. $nbrw = new newsbrowser;
  48. $nbrw->query = "select um.*,m.* from usermodul um inner join modul m on um.Modul=m.Modul
  49. where m.GroupModul='$gm' and um.Login='$unip' and m.InMenu='Y'
  50. ";
  51. $nbrw->headerfmt = DisplayHeader($fmtMenu_header, $gm, 0);
  52. $nbrw->detailfmt = DisplayDetail($fmtMenu_item, "sysfo.php?syxec==Link=",
  53. "<img src='=ImgLink=' border=0>&nbsp;=Modul=", "=Description=",0);
  54. $nbrw->footerfmt = $fmtMenu_footer;
  55. echo $nbrw->BrowseNews();
  56. }
  57. // DisplaySubModul
  58. function DisplayMenuItem() {
  59. $arr = array();
  60. // Ambil menu default
  61. $s1 = "select concat(md.GroupModul, '~>', md.Modul, '~>', md.Link, '~>', md.Baris) as MDL
  62. from modul md left join usermodul um on um.UserID='$_SESSION[uid]'
  63. where um.ModulID is NULL and
  64. LOCATE('$_SESSION[ulevel]', md.Level)>0
  65. and md.InMenu='Y'
  66. and md.web='Y' and md.NotActive='N'
  67. order by md.GroupModul, md.Modul ";
  68. $r1 = mysql_query($s1) or die("Gagal: $s1<br>".mysql_error());
  69. while ($w = mysql_fetch_array($r1)) $arr[] = $w['MDL'];
  70. // Ambil menu tambahan
  71. $s2 = "select concat(m.GroupModul, '~>', m.Modul, '~>', m.Link, '~>', m.Baris) as MDL
  72. from usermodul um left outer join modul m on um.ModulID=m.ModulID
  73. where um.UserID='$_SESSION[uid]' and um.Level='$_SESSION[ulevel]' and m.InMenu='Y' and m.web='Y'
  74. and m.NotActive='N'
  75. order by m.GroupModul, m.Modul";
  76. $r2 = mysql_query($s2) or die("Gagal: $s2<br>".mysql_error());
  77. while ($w = mysql_fetch_array($r2)) $arr[] = $w['MDL'];
  78. sort($arr);
  79. AddSubMenu1($arr);
  80. }
  81. function DisplayMenuItem_old($gm) {
  82. $_ggl = "<p>Gagal menginisialisasi menu</p><p>Failed to initialised menus</p>";
  83. $unip = $_SESSION['unip'];
  84. $usrid = $_SESSION['uid'];
  85. $ulevel = $_SESSION['ulevel'];
  86. $_snm = session_name(); $_sid = session_id();
  87. $_arr = array();
  88. //"select * from modul where LOCATE($lvl, Level)>0 and InMenu='Y' order by GroupModul,Modul";
  89. // ambil default
  90. $X_qy1 = "select md.*
  91. from modul md left join usermodul um on md.ModulID=um.ModulID and um.UserID='$usrid'
  92. where um.ModulID is NULL
  93. and LOCATE('$ulevel', md.Level)>0
  94. and md.InMenu='Y'
  95. and md.web='Y'
  96. and md.GroupModul='$gm'
  97. order by md.Modul";
  98. $_qy1 = "select md.*
  99. from modul md
  100. where LOCATE('$ulevel', md.Level)>0
  101. and md.InMenu='Y'
  102. and md.web='Y'
  103. and md.GroupModul='$gm'
  104. order by md.Modul";
  105. $_rs1 = mysql_query($_qy1) or die($_ggl . mysql_error());
  106. for ($i=0; $i < mysql_num_rows($_rs1); $i++) {
  107. $__mdl = mysql_result($_rs1, $i, 'Modul');
  108. $__lnk = mysql_result($_rs1, $i, 'Link');
  109. $__brs = mysql_result($_rs1, $i, 'Baris');
  110. $_arr[] = "$__mdl -> sysfo.php?syxec=$__lnk&$_snm=$_sid -> $__brs";
  111. }
  112. // ambil menu tambahan
  113. $_qy1 = "select um.*,m.Modul,m.Baris, m.Link
  114. from usermodul um left outer join modul m on um.ModulID=m.ModulID
  115. where um.GroupModul='$gm' and um.UserID='$usrid' and um.Level=$ulevel and m.InMenu='Y' and m.web='Y'";
  116. $_rs1 = mysql_query($_qy1) or die($_ggl);
  117. for ($i=0; $i < mysql_num_rows($_rs1); $i++) {
  118. $__mdl = mysql_result($_rs1, $i, 'Modul');
  119. $__lnk = mysql_result($_rs1, $i, 'Link');
  120. $__brs = mysql_result($_rs1, $i, 'Baris');
  121. $_arr[] = "$__mdl -> sysfo.php?syxec=$__lnk&$_snm=$_sid -> $__brs";
  122. }
  123. sort($_arr);
  124. AddSubMenu($gm, $_arr);
  125. }
  126. // Kampus
  127. function DisplayCampusList() {
  128. $unip = $_SESSION['unip'];
  129. $nbrw = new newsbrowser;
  130. $nbrw->query = "select * from kampus order by Kampus";
  131. $nbrw->headerfmt = "<table class=basic width=100% cellspacing=0 cellpadding=2>
  132. <tr><th class=ttl>Kode</th><th class=ttl>Kampus</th>
  133. <th class=ttl>Alamat</th><th class=ttl>Telepon</th>
  134. <th class=ttl>Tdk<br>Aktif</th></tr>";
  135. $nbrw->detailfmt = "<tr>
  136. <td class=lst><a href='sysfo.php?syxec=listofcampus&kd==Kode='>=Kode=</a></td>
  137. <td class=lst>=Kampus=</td><td class=lst>=Alamat=</td>
  138. <td class=lst>=Telepon=</td><td class=lst align=center><img src='image/book=NotActive=.gif' border=0></td></tr>";
  139. $nbrw->footerfmt = "</table>";
  140. echo $nbrw->BrowseNews();
  141. }
  142. function DisplayCampusForm($md, $kd='', $act='listofcampus') {
  143. global $fmtPageTitle;
  144. // edit mode
  145. if ($md==0){
  146. $jdl = 'Edit Kampus';
  147. $_sql = "select * from kampus where Kode='$kd'";
  148. $_res = mysql_query($_sql) or die("$strCantQuery: $_sql");
  149. $_kode = mysql_result($_res, 0, 'Kode');
  150. $_kampus = mysql_result($_res, 0, 'Kampus');
  151. $_alamat = mysql_result($_res, 0, 'Alamat');
  152. $_telepon = mysql_result($_res, 0, 'Telepon');
  153. $_imglink = mysql_result($_res, 0, 'ImgLink');
  154. $_notactive = mysql_result($_res, 0, 'NotActive');
  155. if ($_notactive=='Y') $_strna ='checked';
  156. else $_strna = '';
  157. $_strkode = $_kode;
  158. }
  159. // insert mode
  160. elseif ($md==1) {
  161. $jdl = 'Tambah Kampus';
  162. $_kode = '';
  163. $_kampus = '';
  164. $_alamat = '';
  165. $_telepon = '';
  166. $_imglink = '';
  167. $_notactive = 'N';
  168. $_strna = '';
  169. $_strkode = "<input type=text size=12 maxlength=10 name='kode'>";
  170. }
  171. $sid = session_id();
  172. DisplayHeader($fmtPageTitle, $jdl);
  173. echo "
  174. <form action='sysfo.php' method=GET>
  175. <input type=hidden name='syxec' value='listofcampus'>
  176. <input type=hidden name='mode' value=$md>
  177. <input type=hidden name='oldkode' value='$_kode'>
  178. <table class=box cellspacing=0 cellpadding=2>
  179. <tr><th class=ttl colspan=2>$jdl</th></tr>
  180. <tr><td class=lst>Kode</td>
  181. <td class=uline>$_strkode</td></tr>
  182. <tr><td class=lst>Nama Kampus</td>
  183. <td class=uline><input type=text name='kampus' value='$_kampus' size=45 maxlength=100></td></tr>
  184. <tr><td class=lst>Alamat</td>
  185. <td class=uline><textarea name='alamat' cols=35 rows=4>$_alamat</textarea></td></tr>
  186. <tr><td class=lst>Telepon</td>
  187. <td class=uline><textarea name='telepon' cols=35 rows=2>$_telepon</textarea></td></tr>
  188. <tr><td class=lst>Link Image</td>
  189. <td class=uline><input type=text name='imglink' value='$_imglink' size=45 maxlength=100></td></tr>
  190. <tr><td class=lst>Tidak Aktif</td>
  191. <td class=uline><input type=checkbox name='notactive' value='Y' $_strna></td></tr>
  192. <tr><td class=uline colspan=2 align=center>
  193. <input type=submit name='prc' value='simpan'>&nbsp;
  194. <input type=reset name='reset' value='reset'>&nbsp;
  195. <input type=button name='batal' value='Batal' onClick=\"location='sysfo.php?syxec=$act&PHPSESSID=$sid'\"></td></tr>
  196. </table></form>
  197. ";
  198. }
  199. function ProcessCampusForm() {
  200. global $strCantQuery;
  201. $mode = $_REQUEST['mode'];
  202. $kampus = FixQuotes($_REQUEST['kampus']);
  203. $alamat = FixQuotes($_REQUEST['alamat']);
  204. $telepon = FixQuotes($_REQUEST['telepon']);
  205. $imglink = stripslashes($_REQUEST['imglink']);
  206. if (isset($_REQUEST['notactive'])) $notactive = $_REQUEST['notactive'];
  207. else $notactive = 'N';
  208. if ($mode==0) {
  209. $kode = $_REQUEST['oldkode'];
  210. $_sql = "update kampus set Kampus='$kampus', Alamat='$alamat',
  211. Telepon='$telepon', ImgLink='$imglink', NotActive='$notactive'
  212. where Kode='$kode'";
  213. $_res = mysql_query($_sql) or die("$strCantQuery: $_sql");
  214. }
  215. elseif ($mode==1) {
  216. $kode = $_REQUEST['kode'];
  217. $_sql = "insert into kampus(Kode,Kampus,Alamat,Telepon,ImgLink,NotActive)
  218. values ('$kode','$kampus','$alamat','$telepon','$imglink','$notactive')";
  219. $_res = mysql_query($_sql) or die("$strCantQuery: $_sql");
  220. }
  221. }
  222. function DispJadwalMK($thn, $kdj, $kdp='', $jid, $act='mhswnilai') {
  223. global $strCantQuery, $prn;
  224. if (!isset($prn)) $prn = 0;
  225. $whr = '';
  226. $whr .= (empty($kdp)) ? '' : " and j.Program='$kdp' ";
  227. $s = "select mk.Kode, mk.Nama_Indonesia as MK, j.ID, pr.Nama_Indonesia as PRG
  228. from jadwal j left outer join matakuliah mk on j.IDMK=mk.ID
  229. left outer join program pr on j.Program=pr.Kode
  230. where j.Tahun='$thn' and j.KodeJurusan='$kdj' $whr
  231. order by mk.Kode";
  232. $r = mysql_query($s) or die("$strCantQuery: $s.<br>".mysql_error());
  233. $opt = '<option></option>';
  234. for ($i=0; $i < mysql_num_rows($r); $i++) {
  235. $mk = mysql_result($r, $i, 'MK');
  236. $kod = mysql_result($r, $i, 'Kode');
  237. $prg = mysql_result($r, $i, 'PRG');
  238. $id = mysql_result($r, $i, 'ID');
  239. if ($jid == $id) $opt = "$opt<option value=$id selected>$kod -- $mk ($prg)</option>";
  240. else $opt = "$opt<option value=$id>$kod -- $mk ($prg)</option>";
  241. }
  242. if ($prn == 0) $str1 = "<select name='jid' onChange='this.form.submit()'>$opt</select>";
  243. else $str1 = "<b>$kod - $mk</b>";
  244. echo "<table class=box cellspacing=0 cellpadding=4>
  245. <form action='sysfo.php' method=GET>
  246. <input type=hidden name='syxec' value='$act'>
  247. <tr><td class=uline width=100>Mata Kuliah: </td>
  248. <td class=uline>$str1</td></tr>
  249. <tr><td height=2></td></tr></form></table><br>";
  250. }
  251. function GetMhsw0($nim, $act='mhswipk') {
  252. global $strCantQuery;
  253. $s = "select m.*, f.Nama_Indonesia as FAK, j.Nama_Indonesia as JUR, jj.Nama as JEN,
  254. concat(d.Name, ', ', d.Gelar) as DSN
  255. from mhsw m left outer join fakultas f on m.KodeFakultas=f.Kode
  256. left outer join jurusan j on m.KodeJurusan=j.Kode
  257. left outer join jenjangps jj on j.Jenjang=jj.Kode
  258. left outer join dosen d on m.DosenID=d.ID
  259. where m.NIM='$nim' ";
  260. $r = mysql_query($s) or die("$strCantQuery: $s <br>" . mysql_error());
  261. $ret = mysql_num_rows($r);
  262. if ($ret > 0) {
  263. $nme = mysql_result($r, 0, 'Name');
  264. $kdf = mysql_result($r, 0, 'KodeFakultas');
  265. $fak = mysql_result($r, 0, 'FAK');
  266. $kdj = mysql_result($r, 0, 'KodeJurusan');
  267. $jur = mysql_result($r, 0, 'JUR');
  268. $jen = mysql_result($r, 0, 'JEN');
  269. $dsn = mysql_result($r, 0, 'DSN');
  270. }
  271. else {
  272. $nme = '';
  273. $kdf = '';
  274. $fak = '';
  275. $kdj = '';
  276. $jur = '';
  277. $jen = '';
  278. $dsn = '';
  279. }
  280. echo <<<EOF
  281. <table class=box cellspacing=0 cellpadding=4>
  282. <form action='sysfo.php' method=POST>
  283. <input type=hidden name='syxec' value='$act'>
  284. <tr><td class=ttl>NIM</td><td class=lst><input type=text name='nim' value='$nim' size=20 maxlength=20></td>
  285. <td class=basic rowspan=6 align=center valign=bottom><img src='image/tux001.jpg'><br>
  286. <input type=submit name='GO' value='Refresh'>
  287. </td></tr>
  288. <tr><td class=ttl>Mahasiswa</td><td class=lst><b>$nme</b></td></tr>
  289. <tr><td class=ttl>Fakultas</td><td class=lst>$kdf - $fak</td></tr>
  290. <tr><td class=ttl>Jurusan</td><td class=lst>$kdj - $jur</td></tr>
  291. <tr><td class=ttl>Jenjang</td><td class=lst>$jen</td></tr>
  292. <tr><td class=ttl>Pembimbing Akademik</td><td class=lst>$dsn</td></tr>
  293. <tr><td height=2></td></tr>
  294. </form></table><br>
  295. EOF;
  296. return $ret > 0;
  297. }
  298. function GetMhsw($thn, $nim, $act) {
  299. global $nme, $kdf, $kdj, $kdp, $did, $ret, $jur, $dsn, $prg;
  300. function ResetMhsw() {
  301. global $nme, $kdf, $kdj, $kdp, $did, $ret, $jur, $dsn, $prg;
  302. $nme = '';
  303. $kdf = '';
  304. $kdj = '';
  305. $kdp = '';
  306. $did = '';
  307. $ret = false;
  308. $jur = '';
  309. $dsn = '';
  310. $prg = '';
  311. } // end function ResetMhsw()
  312. if (!empty($nim)) {
  313. $arrm = GetFields('mhsw', 'NIM', $nim, 'Name,KodeFakultas,KodeJurusan,DosenID,KodeProgram');
  314. if (!empty($arrm)) {
  315. $nme = $arrm['Name'];
  316. $kdf = $arrm['KodeFakultas'];
  317. $kdj = $arrm['KodeJurusan'];
  318. $kdp = $arrm['KodeProgram'];
  319. $did = $arrm['DosenID'];
  320. $ret = true;
  321. $jur = GetaField('jurusan', 'Kode', $kdj, 'Nama_Indonesia');
  322. $arrdsn = array();
  323. $arrdsn = GetFields('dosen', 'ID', $did, 'Name,Gelar');
  324. $arrdsn['Name'] = (isset($arrdsn['Name']))? $arrdsn['Name'] : '';
  325. $arrdsn['Gelar'] = (isset($arrdsn['Gelar']))? $arrdsn['Gelar'] : '';
  326. $dsn = $arrdsn['Name']. ', '.$arrdsn['Gelar'];
  327. $prg = GetaField('program', 'Kode', $kdp, 'Nama_Indonesia');
  328. } else ResetMhsw();
  329. }
  330. else ResetMhsw();
  331. // Tampilan
  332. $nmthn = GetaField('tahun', "KodeJurusan='$kdj' and Kode", $thn, 'Nama');
  333. if (empty($nmthn)) {
  334. $nmthn = '<font color=red><b> - </b></font>';
  335. $ret = false;
  336. }
  337. // Kalau dalam mode pencetakan
  338. $prn = (isset($_REQUEST['prn']))? $_REQUEST['prn'] : 0;
  339. if ($prn == 0) {
  340. $editThn = "<input type=text name='thn' value='$thn' size=5 maxlength=5>";
  341. $editNIM = "<input type=text name='nim' value='$nim' size=20 maxlength=20>";
  342. $editBtn = "<img src='image/tux001.jpg'><br><input type=submit name='GO' value='Refresh'>";
  343. }
  344. else {
  345. $editThn = "<b>$thn</b>";
  346. $editNIM = "<b>$nim</b>";
  347. $editBtn = '';
  348. }
  349. echo "
  350. <table class=box cellspacing=0 cellpadding=4>
  351. <form action='sysfo.php' method=POST>
  352. <input type=hidden name='syxec' value='$act'>
  353. <tr><td class=ttl>Tahun Akademik</td><td class=lst>$editThn $nmthn</td></tr>
  354. <tr><td class=ttl>NIM</td><td class=lst>$editNIM</td>
  355. <td class=basic rowspan=5 valign=bottom align=center>$editBtn</td></tr>
  356. <tr><td class=ttl>Nama</td><td class=lst>$nme</td></tr>
  357. <tr><td class=ttl>Jurusan</td><td class=lst>$kdj - $jur</td></tr>
  358. <tr><td class=ttl>Program</td><td class=lst>$prg</td></tr>
  359. <tr><td class=ttl>Pembimbing Akademik</td><td class=lst>$dsn</td></tr>
  360. </form><tr><td height=2></td></tr></table><br>";
  361. return $ret;
  362. }
  363. function GetLastThn($kdj='') {
  364. global $strCantQuery, $fmtErrorMsg;
  365. $s = "select * from tahun where NotActive='N' and KodeJurusan='$kdj' order by Kode desc limit 1";
  366. $r = mysql_query($s) or die("$strCantQuery: $s");
  367. if (mysql_num_rows($r) == 0) {
  368. //DisplayHeader($fmtErrorMsg, "Tidak ada tahun akademik yang aktif.");
  369. return '0';
  370. }
  371. else return mysql_result($r, 0, 'Kode');
  372. }
  373. function GetLastBiaya($kdp='') {
  374. global $strCantQuery, $fmtErrorMsg;
  375. $s = "select * from biaya where NotActive='N' and KodeProgram='$kdp' order by Kode desc limit 1";
  376. $r = mysql_query($s) or die("$strCantQuery: $s");
  377. if (mysql_num_rows($r) == 0) return '0';
  378. else return mysql_result($r, 0, 'Kode');
  379. }
  380. function ValidTahunNim($thn, $nim) {
  381. global $strCantQuery;
  382. $kdj = GetaField('mhsw', 'NIM', $nim, 'KodeJurusan');
  383. $s = "select * from tahun where Kode='$thn' and KodeJurusan='$kdj' ";
  384. $r = mysql_query($s) or die("$strCantQuery: $s");
  385. return (mysql_num_rows($r) > 0);
  386. }
  387. function DispOptJdwl0 ($act='jdwlkuliah', $status=0, $angkatan=0) {
  388. global $thn, $kdj, $kdp, $tab, $prn, $sta;
  389. if (!isset($prn)) $prn = 0;
  390. /* $ajur = GetFields('jurusan', 'Kode', $kdj, 'Nama_Indonesia, KodeFakultas');
  391. if (!empty($ajur)) {
  392. $kdf = $ajur['KodeFakultas'];
  393. $jur = $ajur['Nama_Indonesia'];
  394. }
  395. else { $kdf = ''; $jur = ''; } */
  396. //if (empty($thn)) $thn = GetLastThn($kdj);
  397. $nmthn = GetaField('tahun', "KodeJurusan='$kdj' and Kode", $thn, 'Nama');
  398. if (empty($nmthn)) $nmthn = '<font color=red><b> - </b></font>';
  399. $th_n = substr($thn, 0, 4);
  400. $th_s = substr($thn, 4, 1);
  401. // Tampilan di layar
  402. if ($prn == 0) {
  403. $optjur = GetOption2('jurusan', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $kdj, '', 'Kode');
  404. $optprg = GetOption2('program', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $kdp, '', 'Kode');
  405. $strthn = "<input type=text name='thn' value='$thn' size=5 maxlength=5>&nbsp;";
  406. $strprg = "<select name='kdp'>$optprg</select>";
  407. $strjur = "<select name='kdj'>$optjur</select>";
  408. $strsub = "<tr><td class=uline colspan=2><input type=submit name='go' value='Refresh'></td></tr>";
  409. // Status Mhsw
  410. if ($status != 0) {
  411. $optsta = GetOption2('statusmhsw', "concat(Kode, ' -- ', Nama)", 'Kode', $sta, '', 'Kode');
  412. $strsta = "<tr><td class=uline>Status Mhsw</td><td class=uline><select name='sta'>$optsta</select></td></tr>";
  413. } else $strsta = '';
  414. // Angkatan Mhsw
  415. if ($angkatan != 0) {
  416. $ank = GetSetVar('ank');
  417. $strank = "<tr><td class=uline>Angkatan Mhsw</td><td class=uline><input type=text name='ank' value='$ank' size=10 maxlength=10></td></tr>";
  418. } else $strank = '';
  419. }
  420. // Untuk dicetak
  421. else {
  422. $jur = GetaField('jurusan', 'Kode', $kdj, 'Nama_Indonesia');
  423. $prg = GetaField('program', 'Kode', $kdp, 'Nama_Indonesia');
  424. $strthn = "<b>$thn";
  425. $strprg = "<b>$kdp - $prg";
  426. $strjur = "<b>$kdj - $jur";
  427. $strsub = '';
  428. // Status Mahasiswa
  429. if ($status != 0) {
  430. $strsta = GetaField('statusmhsw', 'Kode', $sta, 'Nama');
  431. $strsta = "<tr><td class=uline>Status Mhsw</td><td class=uline><b>$strsta</td></tr>";
  432. } else $strsta = '';
  433. // Angkatan Mahasiswa
  434. if ($angkatan != 0) {
  435. $ank = GetSetVar('ank');
  436. $strank = "<tr><td class=uline>Angkatan Mhsw</td><td class=uline><b>$ank</td></tr>";
  437. }
  438. else $strank = '';
  439. }
  440. echo <<<EOF
  441. <table class=box cellspacing=0 cellpadding=4>
  442. <form action='sysfo.php' method=POST>
  443. <input type=hidden name='syxec' value='$act'>
  444. <input type=hidden name='tab' value='$tab'>
  445. <tr><th class=ttl colspan=2>Tahun Akademik</th></tr>
  446. <tr><td class=uline>Tahun Akademik</td><td class=uline>$strthn $nmthn</td></tr>
  447. <tr><td class=uline>Program</td><td class=uline>$strprg</td></tr>
  448. <tr><td class=uline>Jurusan</td><td class=uline>$strjur</td></tr>
  449. $strsta $strank $strsub<tr><td height=2></td></tr>
  450. </form></table><br>
  451. EOF;
  452. }
  453. function GetKur4Jdwl($kdj, $prg='', $act='jdwlkuliah') {
  454. global $strCantQuery, $fmtErrorMsg, $Sesi, $JmlSesi, $kurid, $nkur, $tkur;
  455. $s = "select * from kurikulum where KodeJurusan='$kdj' and NotActive='N' order by ID desc limit 1";
  456. $r = mysql_query($s) or die(DisplayHeader($fmtErrorMsg, "$strCantQuery: $s", 0));
  457. if (mysql_num_rows($r) == 0) die(DisplayHeader($fmtErrorMsg, "Tidak ada kurikulum aktif.", 0));
  458. $kurid = mysql_result($r, 0, 'ID');
  459. $nkur = mysql_result($r, 0, 'Nama');
  460. $tkur = mysql_result($r, 0, 'Tahun');
  461. $Sesi = mysql_result($r, 0, 'Sesi');
  462. $JmlSesi = mysql_result($r, 0, 'JmlSesi');
  463. //GetOption('jurusan', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', "$kdj -- $jur", '', 'Kode');
  464. $optprg = GetOption2('program', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $prg, '', 'Kode');
  465. return <<<EOF
  466. <table class=box cellspacing=0 cellpadding=4>
  467. <tr><th class=ttl>Kurikulum</th>
  468. <td class=lst>$tkur</td><td class=lst>$nkur</td><td></td></tr>
  469. <tr><form action='sysfo.php' method=GET>
  470. <input type=hidden name='syxec' value='$act'>
  471. <th class=ttl>Program</th>
  472. <td class=lst colspan=2><select name='prg' onChange='this.form.submit()'>$optprg</select></td></tr>
  473. </form><tr><td height=2></td></tr>
  474. </table><br>
  475. EOF;
  476. }
  477. function GetLastKur($kdj) {
  478. global $strCantQuery;
  479. $s = "select ID from kurikulum where KodeJurusan='$kdj' and NotActive='N' order by ID desc limit 1";
  480. $r = mysql_query($s) or die (DisplayHeader($fmtErrorMsg, "$strCantQuery: $s", 0));
  481. if (mysql_num_rows($r) == 0) return 0;
  482. else return mysql_result($r, 0, 'ID');
  483. }
  484. function DispJur($kdj, $st='', $act='matakuliah') {
  485. $prn = (isset($_REQUEST['prn']))? $_REQUEST['prn'] : 0;
  486. if ($prn == 0) {
  487. $optjur = GetOption2('jurusan', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $kdj, '', 'Kode');
  488. echo "<table class=box cellspacing=0 cellpadding=4>
  489. <form action='sysfo.php' method=GET>
  490. <input type=hidden name='syxec' value='$act'>
  491. <input type=hidden name='st' value='$st'>
  492. <tr><td class=uline width=100>Jurusan : </td>
  493. <td class=uline><select name='kdj' onChange='this.form.submit()'>$optjur</select></td></tr>
  494. </form><tr><td height=2></td></tr></table><br>";
  495. }
  496. else {
  497. $jur = GetaField('jurusan', 'Kode', $kdj, 'Nama_Indonesia');
  498. echo "<table class=box cellspacing=0 cellpadding=4>
  499. <tr><td class=uline width=100>Jurusan : </td><td class=uline><b>$kdj - $jur</b></td></tr>
  500. <tr><td height=2></td></tr></table>";
  501. }
  502. }
  503. function DispPrg($kdp, $st, $act='matakuliah') {
  504. if (isset($_REQUEST['prn'])) $prn = $_REQUEST['prn']; else $prn = 0;
  505. if ($prn == 0) {
  506. $optkdp = GetOption2('program', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $kdp, '', 'Kode');
  507. echo "<table class=box cellspacing=0 cellpadding=4>
  508. <form action='sysfo.php' method=GET>
  509. <input type=hidden name='syxec' value='$act'>
  510. <input type=hidden name='st' value='$st'>
  511. <tr><td class=uline width=100>Program : </td>
  512. <td class=uline><select name='kdp' onChange='this.form.submit()'>$optkdp</select></td></tr>
  513. </form><tr><td height=2></td></tr></table><br>";
  514. }
  515. else {
  516. $prg = GetaField('program', 'Kode', $kdp, 'Nama_Indonesia');
  517. echo "<table class=basic cellspacing=0 cellpadding=2>
  518. <tr><td class=uline width=100>Program : </td><td class=uline><b>$kdp - $prg</b></td></tr>
  519. </table>";
  520. }
  521. }
  522. function DispJurPrg($kdj='', $kdp='', $st, $act='matakuliah') {
  523. $prn = (isset($_REQUEST['prn']))? $_REQUEST['prn'] : 0;
  524. if ($prn == 0) {
  525. $optjur = GetOption2('jurusan', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $kdj, '', 'Kode');
  526. $optprg = GetOption2('program', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $kdp, '', 'Kode');
  527. echo "<table class=box cellspacing=0 cellpadding=4>
  528. <form action='sysfo.php' method=GET>
  529. <input type=hidden name='syxec' value='$act'>
  530. <input type=hidden name='st' value=$st>
  531. <tr><td align=right>Jurusan :</td><td class=uline colspan=2><select name='kdj'>$optjur</select></td></tr>
  532. <tr><td align=right>Program :</td><td class=uline><select name='kdp'>$optprg</select></td>
  533. <td class=uline><input type=submit name='Refresh' value='Refresh'></td></tr>
  534. <tr><td height=2></td></tr></form></table><br>";
  535. }
  536. else {
  537. $jur = GetaField('jurusan', 'Kode', $kdj, 'Nama_Indonesia');
  538. $prg = GetaField('program', 'Kode', $kdp, 'Nama_Indonesia');
  539. echo "<table class=basic cellspacing=0 cellpadding=2>
  540. <tr><td class=uline width=100>Jurusan: </td><td class=uline><b>$kdj - $jur</b></td></tr>
  541. <tr><td class=uline width=100>Program: </td><td class=uline><b>$kdp - $prg</b></td></tr>
  542. </table><br>";
  543. }
  544. }
  545. function DisplayJurusanChoice($def='', $st=0, $act='matakuliah') {
  546. global $Language;
  547. //$defkode = GetaField('jurusan', "Nama_$Language", $def, "Kode");
  548. $opt = GetOption2('jurusan', "concat(Kode, ' -- ', Nama_$Language)", 'Kode', $def, '', 'Kode');
  549. echo "<table class=basic cellspacing=0 cellpadding=4>
  550. <form action='sysfo.php' method=GET>
  551. <input type=hidden name='syxec' value='$act'>
  552. <input type=hidden name='st' value=$st>
  553. <tr><td class=lst width=100>Jurusan: </td>
  554. <td class=lst><select name='kdj' onchange='this.form.submit();'>$opt</select></td></tr>
  555. </form></table><br>";
  556. }
  557. function GetFak($kdf, $act) {
  558. //GetOption('jurusan', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', "$kdj -- $jur", '', 'Kode');
  559. $opt = GetOption2('fakultas', "concat(Kode, ' -- ', Nama_Indonesia)", 'Kode', $kdf, '', 'Kode');
  560. echo <<<EOF
  561. <table class=basic cellspacing=0 cellpadding=2>
  562. <form action='sysfo.php' method=GET>
  563. <input type=hidden name='syxec' value='$act'>
  564. <tr><td class=lst width=100>Fakultas</td><td class=lst><select name='kdf' onChange='this.form.submit()'>$opt</select></td></tr>
  565. </form></table>
  566. EOF;
  567. }
  568. function DisplayListofFaculty($act='fakjur') {
  569. global $Language, $kdf;
  570. $unip = $_SESSION['unip'];
  571. $s = "select * from fakultas order by Kode";
  572. $r = mysql_query($s) or die("Gagal query: $s<br>".mysql_error());
  573. echo "<table class=basic cellspacing=0 cellpadding=4>
  574. <tr><td></td><th class=ttl>Kode</th><th class=ttl>Fakultas</th><th class=ttl>NA</th></tr>";
  575. while ($w = mysql_fetch_array($r)) {
  576. if ($w['Kode'] == $kdf) {
  577. $img = "<img src='image/kanan.gif' border=0>";
  578. $cls = "class=nac";
  579. }
  580. else {
  581. $img = '';
  582. $cls = 'class=lst';
  583. }
  584. echo <<<EOF
  585. <tr><td>$img</td>
  586. <td $cls><a href='sysfo.php?syxec=$act&kd=$w[Kode]&kdf=$w[Kode]'>$w[Kode]</a></td>
  587. <td $cls>$w[Nama_Indonesia]</td>
  588. <td $cls><img src='image/$w[NotActive].gif' border=0></td></tr>
  589. EOF;
  590. }
  591. echo "</table>";
  592. }
  593. function GetGrade($kdj, $nilai) {
  594. $mni = GetaField('jurusan', 'Kode', $kdj, 'KodeNilai');
  595. $a = "select Nilai,Bobot from nilai where Kode='$mni' and
  596. BatasBawah <= $nilai and $nilai <= BatasAtas limit 1";
  597. $b = mysql_query($a);
  598. if (mysql_num_rows($b) > 0) return array(mysql_result($b, 0, 'Nilai'), mysql_result($b, 0, 'Bobot'));
  599. else return array('-', 0);
  600. }
  601. function GetBobot($kdj, $grd) {
  602. $mni = GetaField('jurusan', 'Kode', $kdj, 'KodeNilai');
  603. $a = mysql_query("select Bobot from nilai where Nilai='$grd' and Kode='$mni'");
  604. if (mysql_num_rows($a) > 0) return mysql_result($a, 0, 'Bobot');
  605. else return 0;
  606. }
  607. function GetKHSDulu($thn, $nim) {
  608. global $strCantQuery;
  609. $s = "select h.*, s.Nama as STAT, s.Nilai as STAT0
  610. from khs h left outer join statusmhsw s on h.Status=s.Kode
  611. where h.Tahun='$thn' and h.NIM='$nim' limit 1";
  612. $r = mysql_query($s) or die ("$strCantQuery: $s<br>".mysql_error());
  613. return $r;
  614. }
  615. function ProcessNilaiKHSMhsw($thn, $nim) {
  616. global $strCantQuery, $fmtErrorMsg;
  617. // cek KHS
  618. $vld = ValidTahunNim($thn, $nim);
  619. if (!$vld) {
  620. DisplayHeader($fmtErrorMsg, "Tahun ajaran $thn tidak valid.", 1);
  621. }
  622. else {
  623. $rt = GetKHSDulu($thn, $nim);
  624. if (mysql_num_rows($rt) == 0) {
  625. (DisplayHeader($fmtErrorMsg, "Tahun ajaran $thn tidak ada aktivitas.<br>
  626. Coba konsultasi dengan penasehat akademis."));
  627. $vld = false;
  628. }
  629. else {
  630. $khid = mysql_result($rt, 0, 'ID');
  631. // hitung nilai
  632. $s = "select count(*) as jml, sum(k.Nilai) as tnil, sum(k.Bobot) as tbbt, sum(k.SKS) as tsks,
  633. sum(k.Bobot * k.SKS) as _Bobot
  634. from krs k left outer join jadwal jd on k.IDJadwal=jd.ID
  635. where k.Tahun='$thn' and k.NIM='$nim' and k.Tunda='N' and k.NotActive='N'";
  636. $r = mysql_query($s) or die ("$strCantQuery: $s<br>Error: ".mysql_error());
  637. $tsks = mysql_result($r, 0, 'tsks')+0;
  638. $tnil = mysql_result($r, 0, 'tnil')+0;
  639. $jml = mysql_result($r, 0, 'jml')+0;
  640. $tbbt = mysql_result($r, 0, '_Bobot')+0;
  641. mysql_query("update khs set Nilai=$tnil, Bobot=$tbbt, SKS=$tsks, JmlMK=$jml where ID=$khid") or die(mysql_error());
  642. }
  643. }
  644. return $vld;
  645. }
  646. function isTahunAktif($thn, $kdj) {
  647. return GetaField('tahun', "KodeJurusan='$kdj' and Kode", $thn, 'NotActive') == 'N';
  648. }
  649. function GetUjianCaption($ujn) {
  650. if ($ujn == 'UTS') return 'Ujian Tengah Semester';
  651. elseif ($ujn == 'UAS') return 'Ujian Akhir Semester';
  652. elseif ($ujn == 'SSL') return 'Ujian Susulan';
  653. else return '';
  654. }
  655. function DispOptUjian($ujn, $act='jdwlujian') {
  656. if (empty($ujn)) $opt0 = 'selected'; else $opt0 = '';
  657. if ($ujn == 'UTS') $opt1 = 'selected'; else $opt1 = '';
  658. if ($ujn == 'UAS') $opt2 = 'selected'; else $opt2 = '';
  659. if ($ujn == 'SSL') $opt3 = 'selected'; else $opt3 = '';
  660. $opt = "<option value='' $opt0></option>
  661. <option value='UTS' $opt1>Ujian Tengah Semester</option>
  662. <option value='UAS' $opt2>Ujian Akhir Semester</option>
  663. <option value='SSL' $opt3>Ujian Susulan</option> ";
  664. echo "<table class=box cellspacing=0 cellpadding=4>
  665. <form action='sysfo.php' method=GET>
  666. <input type=hidden name='syxec' value='$act'>
  667. <tr><td class=uline width=100>Jenis Ujian: </td>
  668. <td class=uline><select name='ujn' onChange='this.form.submit()'>$opt</select></td></tr>
  669. </form><tr><td height=2></td></tr></table>";
  670. }
  671. function GetLoginDosen($dsn, $act='dosenwali') {
  672. global $nme, $glr, $kdf, $fak, $prn;
  673. if (!isset($prn)) $prn = 0;
  674. function ResetDosen() {
  675. global $nme, $glr, $kdf, $fak;
  676. $nme = '&nbsp;';
  677. $glr = '&nbsp;';
  678. $kdf = '&nbsp;';
  679. $fak = '&nbsp;';
  680. return false;
  681. }
  682. if ($_SESSION['ulevel'] == 1) $vld = true;
  683. elseif ($_SESSION['ulevel'] == 3) {
  684. if ($dsn == $_SESSION['unip']) $vld = true; else $vld = false;
  685. }
  686. else $vld = ResetDosen();
  687. if ($vld && !empty($dsn)) {
  688. $r = mysql_query("select concat(d.Name, ', ', d.Gelar) as NM, d.Name,d.Gelar,d.KodeFakultas,
  689. concat(f.Kode, ' - ', f.Nama_Indonesia) as FAK
  690. from dosen d left outer join fakultas f on d.KodeFakultas=f.Kode
  691. where d.Login='$dsn' limit 1");
  692. if (mysql_num_rows($r) > 0) {
  693. $nme = mysql_result($r, 0, 'NM');
  694. $glr = mysql_result($r, 0, 'Gelar');
  695. $kdf = mysql_result($r, 0, 'KodeFakultas');
  696. $fak = mysql_result($r, 0, 'FAK');
  697. $vld = true;
  698. }
  699. else $vld = ResetDosen();
  700. }
  701. else $vld = ResetDosen();
  702. if ($prn == 0) $button = "<tr><td class=lst colspan=2><input type=submit name='GO' value='Refresh'></td></tr>";
  703. else $button = '';
  704. echo <<<EOF
  705. <table class=basic cellspacing=0 cellpadding=2>
  706. <form action='sysfo.php' method=POST>
  707. <input type=hidden name='syxec' value='$act'>
  708. <tr><td class=ttl width=100>Kode Dosen</td><td class=lst><input type=text name='dsn' value='$dsn' size=10 maxlength=10></td></tr>
  709. <tr><td class=ttl>Nama Dosen</td><td class=lst>$nme</td></tr>
  710. <tr><td class=ttl>Fakultas</td><td class=lst>$fak</td></tr>
  711. $button
  712. </form></table><br>
  713. EOF;
  714. return $vld && !empty($dsn);
  715. }
  716. function IsMhswAktif($thn, $nim) {
  717. global $strCantQuery, $fmtErrorMsg;
  718. $arrstat = GetFields("mhsw m left outer join statusmhsw sm on m.Status=sm.Kode", 'NIM', $nim, "sm.*");
  719. if ($arrstat['Keluar'] == 0) {
  720. $s = "select s.Nilai, s.Nama
  721. from khs h left outer join statusmhsw s on h.Status=s.Kode
  722. where h.Tahun='$thn' and h.NIM='$nim' limit 1 ";
  723. $r = mysql_query($s) or die ("$strCantQuery: $s");
  724. if (mysql_num_rows($r) == 0) {
  725. DisplayHeader($fmtErrorMsg, "Tidak ada data untuk tahun <b>$thn</b> dari mahasiswa <b>$nim</b><br>
  726. Hubungi Penasehat Akademis.");
  727. return false;
  728. }
  729. else {
  730. if (mysql_result($r, 0, 'Nilai') == 1) return true;
  731. else {
  732. DisplayHeader($fmtErrorMsg, "Mahasiswa <b>$nim</b> tidak aktif untuk tahun ajaran <b>$thn</b>.<br>Status: <b>".
  733. mysql_result($r, 0, 'Nama')."</b><br>Jika belum registrasi ulang, silakan registrasi ulang dahulu.<hr size=1 color=silver>
  734. Pilihan : <a href='sysfo.php?syxec=mhswherreg&nim=$nim'>Registrasi Ulang</a>");
  735. return false;
  736. }
  737. }
  738. }
  739. else {
  740. DisplayHeader($fmtErrorMsg, "Mahasiswa berstatus: <b>$arrstat[Nama]</b>.<br>Tidak dapat mengisi KRS.");
  741. return false;
  742. }
  743. }
  744. function DispSearchMhsw($srcmhsw, $act='mhswmasterkeu') {
  745. echo <<<EOF
  746. <table class=box cellspacing=0 cellpadding=4>
  747. <form action='sysfo.php' method=GET>
  748. <input type=hidden name='syxec' value='$act'>
  749. <tr><td class=uline width=100>Cari Mhsw</td><td class=uline><input type=text name='srcmhsw' value='$srcmhsw' size=10 maxlength=10>&nbsp;
  750. <input type=submit name='prcsrc' value='Name'>&nbsp;<input type=submit name='prcsrc' value='NIM'></td></tr>
  751. </form><tr><td height=2></td></tr></table><br>
  752. EOF;
  753. }
  754. function DispDaftarMhsw($kdj, $prc, $src, $act='mhswmasterkeu') {
  755. global $strCantQuery, $fmtErrorMsg;
  756. if (empty($src)) DisplayHeader($fmtErrorMsg, "Tidak ada nilai yg dicari.");
  757. else {
  758. if (empty($prc)) $prc = 'Name';
  759. $strkdj = (!empty($kdj))? "and m.KodeJurusan='$kdj'" : '';
  760. $s = "select m.NIM, m.Name, st.Nama as STAT, st.Nilai as nSTA, st.Keluar as KLR, sta.Nama as STAWAL,
  761. m.TahunAkademik, m.KodeBiaya, m.KodeJurusan as kdj, p.Nama_Indonesia as prg
  762. from mhsw m left outer join statusmhsw st on m.Status=st.Kode
  763. left outer join statusawalmhsw sta on m.StatusAwal=sta.Kode
  764. left outer join program p on m.KodeProgram=p.Kode
  765. where m.$prc like '%$src%' $strkdj order by m.NIM";
  766. $r = mysql_query($s) or die("$strCantQuery: $s<br>".mysql_error());
  767. echo "<table class=basic cellspacing=0 cellpadding=4>
  768. <tr><th class=ttl>NIM</th><th class=ttl>Nama Mahasiswa</th>
  769. <th class=ttl>Program</th>
  770. <th class=ttl>Thn<br>Masuk</th><th class=ttl>Master<br>Biaya</th>
  771. <th class=ttl>Status</th><th class=ttl>St. Awal</th>
  772. </tr> ";
  773. while ($row = mysql_fetch_array($r)) {
  774. $thn = StripEmpty($row['TahunAkademik']);
  775. $bea = StripEmpty($row['KodeBiaya']);
  776. $sta = StripEmpty($row['STAT']);
  777. $stawal = StripEmpty($row['STAWAL']);
  778. if ($row['KLR'] == 1) $cls = 'class=nac'; else $cls = 'class=lst';
  779. echo <<<EOF
  780. <tr><td $cls><a href='sysfo.php?syxec=$act&nim=$row[NIM]&md=0&kdj=$row[kdj]'>$row[NIM]</a></td>
  781. <td $cls>$row[Name]</td>
  782. <td $cls>$row[prg]</td>
  783. <td $cls>$thn</td>
  784. <td $cls>$bea</td>
  785. <td $cls>$sta</td>
  786. <td $cls>$stawal</td>
  787. </tr>
  788. EOF;
  789. }
  790. echo "</table><br>
  791. <font class=lst>Total: </font><font class=ttl>".mysql_affected_rows() .'</font>';
  792. }
  793. }
  794. function DispHeaderMhsw($nim, $act='mhswkeu', $ext=0) {
  795. global $strCantQuery, $fmtErrorMsg;
  796. $s = "select m.NIM, m.Name, m.KodeFakultas, m.KodeJurusan,
  797. m.TotalSKS, m.TA, m.IPK, concat(d.Name, ', ', d.Gelar) as DSN,
  798. j.Nama_Indonesia as JUR, f.Nama_Indonesia as FAK,
  799. je.Nama as JEN, st.Nama as STA, st.Nilai as KLR, sta.Nama as STAW
  800. from mhsw m left outer join fakultas f on m.KodeFakultas=f.Kode
  801. left outer join jurusan j on m.KodeJurusan=j.Kode
  802. left outer join jenjangps je on j.Jenjang=je.Kode
  803. left outer join statusmhsw st on m.Status=st.Kode
  804. left outer join statusawalmhsw sta on m.StatusAwal=sta.Kode
  805. left outer join dosen d on m.DosenID=d.ID
  806. where m.NIM='$nim' limit 1";
  807. $r = mysql_query($s) or die("$strCantQuery: $s");
  808. $row = mysql_fetch_array($r);
  809. if ($row['KLR'] == 0) $cls = 'class=nac'; else $cls = 'class=lst';
  810. echo "
  811. <table class=box cellspacing=0 cellpadding=4>
  812. <tr><th class=ttl>NIM</th><th class=ttl>Nama</th>
  813. <th class=ttl>Fakultas</th><th class=ttl>Jurusan</th>
  814. <th class=ttl>Jenjang</th>
  815. <th class=ttl>Status</th><th class=ttl>Status Awal</th>
  816. <th class=ttl>&nbsp;</th>
  817. </tr>
  818. <tr><td class=lst>$row[NIM]</td>
  819. <td class=lst>$row[Name]</td>
  820. <td class=lst>$row[KodeFakultas] - $row[FAK]</td>
  821. <td class=lst>$row[KodeJurusan] - $row[JUR]</td>
  822. <td class=lst>$row[JEN]</td>
  823. <td $cls>$row[STA]</td>
  824. <td $cls>$row[STAW]</td>
  825. <td class=lst><a href='sysfo.php?syxec=$act&md=-1'>Kembali</td>
  826. </tr></table><br>";
  827. if ($ext == 1) {
  828. echo "<table class=box cellspacing=0 cellpadding=4>
  829. <tr><th class=ttl>Dosen Pembimbing</th><th class=ttl>Tot SKS</th><th class=ttl>IPK</th>
  830. <th class=ttl>TA</th>
  831. </tr>
  832. <tr><td class=lst>$row[DSN]</td><td class=lst align=right>$row[TotalSKS]</td><td class=lst align=right>$row[IPK]</td>
  833. <td class=lst><img src='image/$row[TA].gif' border=0></td>
  834. </tr></table><br>";
  835. }
  836. }
  837. function DispBiaya($kdp, $bea, $act, $mdbiaya=0) {
  838. global $strCantQuery, $fmtErrorMsg;
  839. $s = "select b.*, bppp.Nama as NamaBPPP
  840. from biaya b
  841. left outer join bpppokok bppp on b.KodeBPPP=bppp.ID
  842. where b.KodeProgram='$kdp' order by b.Kode desc limit 20";
  843. $r = mysql_query($s) or die("$strCantQuery: $s<br>".mysql_error());
  844. if ($mdbiaya==0) $b0 = "<a href='sysfo.php?syxec=$act&bea=&md=1'>Tambah Master Biaya</a><br>";
  845. else $b0 = '';
  846. $b0 = $b0. "<table class=box cellspacing=0 cellpadding=4 width=100%>
  847. <tr><th class=basic>&nbsp;</th>
  848. <th class=ttl>Tahun</th><th class=ttl>Keterangan</th><th class=ttl>NA</th>
  849. <th class=basic></th></tr>";
  850. while ($row = mysql_fetch_array($r)) {
  851. if ($row['NotActive'] == 'Y') $cls = 'class=nac'; else $cls = 'class=lst';
  852. if ($row['Kode'] == $bea) {
  853. $pt1 = "<img src='image/kanan.gif' border=0>";
  854. $pt2 = "<img src='image/kiri.gif' border=0>";
  855. }
  856. else { $pt1 = '&nbsp;'; $pt2 = '&nbsp;'; }
  857. if ($mdbiaya==0)
  858. $stred = "<td $cls><a href='sysfo.php?syxec=$act&bea=$row[Kode]&md=0' title='Edit'><img src='image/edit.png' border=0></a></td>";
  859. else $stred = '<td $cls>&nbsp;</td>';
  860. // Tampilkan
  861. $row['NamaBPPP'] = (!empty($row['NamaBPPP']))? $row['NamaBPPP'] : '&nbsp;';
  862. $b0 .= "<tr><td width=5 rowspan=2>$pt1</td>
  863. <td $cls rowspan=2><font size=3><a href='sysfo.php?syxec=$act&bea=$row[Kode]'>$row[Kode]</a></td>
  864. <td $cls><b>$row[Nama]</td>
  865. <td $cls align=right><img src='image/book$row[NotActive].gif' border=0>
  866. <td width=5 rowspan=2>$pt2</td></tr>
  867. <tr><td class=lst>$row[NamaBPPP]</td>$stred";
  868. }
  869. return $b0 . "<tr><td height=2></td></tr></table><br>
  870. <table class=basic cellspacing=0 cellpadding=1>
  871. <tr><td class=ttl><b>ed</b></td><td class=basic>edit.</td></tr></table>";
  872. }
  873. function ValidMasterBiaya($kdp, $bea) {
  874. $cek = GetaField('biaya', "KodeProgram='$kdp' and Kode", $bea, 'Kode');
  875. return !empty($cek);
  876. }
  877. function KenaDenda($thn, $kdj) {
  878. $arr = GetFields('bataskrs', "KodeJurusan='$kdj' and Tahun", $thn, "Denda,HargaDenda,AkhirBayar,date_format(AkhirBayar,'%Y') as y,date_format(AkhirBayar,'%m') as m,date_format(AkhirBayar, '%d') as d");
  879. if (!empty($arr) && $arr['Denda'] == 'Y') {
  880. $akh = mktime(0,0,0,$arr['m'], $arr['d'], $arr['y']);
  881. $skr = mktime(0,0,0, date('m'), date('d'), date('Y'));
  882. return date('z', $skr - $akh);
  883. } else return 0;
  884. }
  885. function DisplayListofJurusan($kdf='', $act='fakjur') {
  886. global $strCantQuery,$Language;
  887. $unip = $_SESSION['unip'];
  888. if (empty($kdf)) $strkodefak = '';
  889. else $strkodefak = "where j.KodeFakultas='$kdf'";
  890. $nbrw = new newsbrowser;
  891. $nbrw->query = "select j.*, jj.Nama as JenjangPS from jurusan j left outer join jenjangps jj
  892. on j.Jenjang=jj.Kode $strkodefak order by j.Rank";
  893. $nbrw->headerfmt = "<table class='basic' cellspacing=0 cellpadding=4 width=100%>
  894. <tr><th class=ttl>Kode</th><th class=ttl>Jurusan</th><th class=ttl>Jenjang</th>
  895. <th class=ttl>Nilai</th><th class=ttl>Mata Uang</th><th class=ttl>NA</th></tr>";
  896. $nbrw->detailfmt = "<tr>
  897. <td class=lst><a href='sysfo.php?syxec=$act&seq=3&kdj==Kode=&kd=$kdf'>=Kode=</td>
  898. <td class=lst>=Nama_$Language=</td><td class=lst>=JenjangPS=</td>
  899. <td class=lst>=KodeNilai=</td><td class=lst>=Currency=</td>
  900. <td class=lst align=center><img src='image/book=NotActive=.gif'></td></tr>";
  901. $nbrw->footerfmt = "</table>";
  902. echo $nbrw->BrowseNews();
  903. }
  904. function GetNextNIM($kdj, $kdp='') {
  905. // ambil prefix
  906. $_sql = "select * from setupnim";
  907. $_res = mysql_query($_sql) or die("Gagal");
  908. $_prefix = mysql_result($_res, 0, "NIMPrefix");
  909. $_digit = mysql_result($_res, 0, "NIMDigit");
  910. $subprefix = GetaField('jurusan', 'Kode', $kdj, 'Prefix');
  911. $prgprefix = GetaField("jurprg", "NotActive='N' and KodeJurusan='$kdj' and KodeProgram", $kdp, 'Prefix');
  912. // ambil nomer terakhir
  913. $_sql = "select max(NIM) as LastID
  914. from mhsw where NIM like '$_prefix$subprefix$prgprefix%'";
  915. $_res = mysql_query($_sql) or die("Gagal: $_sql");
  916. if (mysql_num_rows($_res) == 0) $_last = 0;
  917. else {
  918. $_last = mysql_result($_res, 0, "LastID");
  919. //echo "<p><b>_last: $_last</b></p>";
  920. $_last = str_replace($_prefix.$subprefix.$prgprefix, '', $_last);
  921. //echo "<p><b>_last: $_last</b></p>";
  922. settype($_last, 'integer');
  923. //echo "<p><b>_last->integer: $_last</b></p>";
  924. $_last++;
  925. settype($_last, 'string');
  926. $_last = str_pad($_last, $_digit, '0', STR_PAD_LEFT);
  927. $_last = "$_prefix$subprefix$prgprefix$_last";
  928. //$_last++;
  929. }
  930. return $_last;
  931. }
  932. function DispNIMMhsw($nim='', $act='') {
  933. echo "<table class=box cellspacing=0 cellpadding=4>
  934. <form action='sysfo.php' method=POST>
  935. <input type=hidden name='syxec' value='$act'>
  936. <tr><td class=uline width=100>NIM Mahasiswa:</td>
  937. <td class=uline><input type=text name='nim' value='$nim' size=20 maxlength=30>
  938. <input type=submit name='srcnim' value='Cari'></td></tr>
  939. </form><tr><td height=2></td></tr></table><br>";
  940. }
  941. function ValidNIM($nim='') {
  942. $ada = GetaField('mhsw', 'NIM', $nim, 'NIM');
  943. return (!empty($ada));
  944. }
  945. function GetOptStatusMhsw() {
  946. global $strCantQuery;
  947. if (isset($_SESSION['PerStatusMhsw'])) $sopt = $_SESSION['PerStatusMhsw']; else $sopt = '';
  948. $s = "select * from statusmhsw";
  949. $r = mysql_query($s) or die("$strCantQuery: $s");
  950. $rw = ceil(mysql_num_rows($r) / 2);
  951. $i = 0;
  952. $a = '<table class=basic cellspacing=0 cellpadding=2>';
  953. while ($w = mysql_fetch_array($r)) {
  954. if ($i == 0) $a .= '<tr><td>';
  955. if ($i == $rw) $a .= '</td><td>';
  956. $i++;
  957. if (strpos($sopt, "|$w[Kode]|") === false) $sck = '';
  958. else $sck = 'checked';
  959. $a .= "<input type=checkbox name='PerStatusMhsw[]' value='$w[Kode]' $sck>$w[Nama]<br>";
  960. }
  961. return $a . '</td></tr></table>';
  962. }
  963. function DispOptRpt($rpt='') {
  964. global $fmtPageTitle;
  965. $param = (isset($_REQUEST['param']))? $_REQUEST['param'] : 'x';
  966. $w = GetFields("rptmgr", "Rpt", $rpt, "*");
  967. if (!empty($w)) {
  968. DisplayHeader($fmtPageTitle, "Cetak: ". $w['Nama']);
  969. $PerTahun = ''; $PerMhsw = ''; $PerJur = ''; $PerPrg = ''; $PerTglAwal = ''; $PerTglAkhir = '';
  970. $PerBulan = ''; $PerBulanThn = ''; $PerStatusMhsw = ''; $PerAngkDari = ''; $PerAngkSampai = '';
  971. $PerJnsByr = ''; $PerNamaByr = '';
  972. $PerDoc = ''; $Bahasa = '';
  973. // parsing
  974. if ($w['PerTahun'] == 'Y') {
  975. if (isset($_SESSION['PerTahun'])) $_PerTahun = $_SESSION['PerTahun']; else $_PerTahun = '';
  976. $PerTahun = "<tr><td class=uline>Tahun Ajaran:</td><td class=uline><input type=text name='PerTahun' value='$_PerTahun' size=5 maxlength=5></td></tr>";
  977. }
  978. if ($w['PerMhsw'] == 'Y') {
  979. if (isset($_SESSION['PerMhsw'])) $_PerMhsw = $_SESSION['PerMhsw']; else $_PerMhsw = '';
  980. $PerMhsw = "<tr><td class=uline>NIM Mahasiswa:</td><td class=uline><input type=text name='PerMhsw' value='$_PerMhsw' size=20 maxlength=20></td></tr>";
  981. }
  982. if ($w['PerDoc'] == 'Y') {
  983. if (isset($_SESSION['PerDoc'])) $_PerDoc = $_SESSION['PerDoc']; else $_PerDoc = '';
  984. $PerDoc = "<tr><td class=uline>Nomer Dokumen:</td><td class=uline><input type=text name='PerDoc' value='$_PerDoc' size=50 maxlength=100></td></tr>";
  985. }
  986. if ($w['Bahasa'] == 'Y') {
  987. if (isset($_SESSION['Bahasa'])) $_Bahasa = $_SESSION['Bahasa']; else $_Bahasa = '';
  988. $optbhs = GetOption2('bahasa', "concat(Kode, ' - ', Nama)", "Kode", $_Bahasa, '', "Kode");
  989. $Bahasa = "<tr><td class=uline>Bahasa:</td><td class=uline><select name='Bahasa'>$optbhs</select></td></tr>";
  990. }
  991. if ($w['PerJur'] == 'Y') {
  992. if (isset($_SESSION['PerJur'])) $_PerJur = $_SESSION['PerJur']; else $_PerJur = '';
  993. $optjur = GetOption2("jurusan", "concat(Kode, ' -- ', Nama_Indonesia)", "Kode", $_PerJur, '', 'Kode');
  994. $PerJur = "<tr><td class=uline>Jurusan</td><td class=uline><select name='PerJur'>$optjur</select></td></tr>";
  995. }
  996. if ($w['PerPrg'] == 'Y') {
  997. if (isset($_SESSION['PerPrg'])) $_PerPrg = $_SESSION['PerPrg']; else $_PerPrg = '';
  998. $optprg = GetOption2("program", "concat(Kode, ' -- ', Nama_Indonesia)", "Nama_Indonesia", $_PerPrg, '', 'Kode');
  999. $PerPrg = "<tr><td class=uline>Program</td><td class=uline><select name='PerPrg'>$optprg</select></td></tr>";
  1000. }
  1001. if ($w['PerJnsByr'] == 'Y') {
  1002. if (isset($_SESSION['PerJnsByr'])) $_PerJnsByr = $_SESSION['PerJnsByr']; else $_PerJnsByr = '';
  1003. $optbyr = GetOption2("jenisbayar", "Nama", "ID", $_PerJnsByr, '', 'ID');
  1004. $PerJnsByr = "<tr><td class=uline>Jenis Pembayaran</td><td class=uline><select name='PerJnsByr'>$optbyr</select></td></tr>";
  1005. }
  1006. if ($w['PerNamaByr'] == 'Y') {
  1007. if (isset($_SESSION['PerNamaByr'])) $_PerNamaByr = $_SESSION['PerNamaByr']; else $_PerNamaByr = '';
  1008. $optNmByr = GetOption2("biaya2", 'Nama', 'Nama', $_PerNamaByr, "Kali=1 group by Nama", 'ID', 0);
  1009. $PerNamaByr = "<tr><td class=uline>Nama Pembayaran</td><td class=uline><select name='PerNamaByr'>$optNmByr</select></td></tr>";
  1010. }
  1011. if ($w['PerTglAwal'] == 'Y') {
  1012. if (isset($_SESSION['PTAW_d'])) $PTAW_d = $_SESSION['PTAW_d']; else $PTAW_d = date('d');
  1013. if (isset($_SESSION['PTAW_m'])) $PTAW_m = $_SESSION['PTAW_m']; else $PTAW_m = date('m');
  1014. if (isset($_SESSION['PTAW_y'])) $PTAW_y = $_SESSION['PTAW_y']; else $PTAW_y = date('Y');
  1015. $PerTglAwal = "<tr><td class=uline>Dari Tanggal:</td><td class=uline>
  1016. <input type=text name='PTAW_d' value='$PTAW_d' size=2 maxlength=2>&nbsp;
  1017. <input type=text name='PTAW_m' value='$PTAW_m' size=2 maxlength=2>&nbsp;
  1018. <input type=text name='PTAW_y' value='$PTAW_y' size=4 maxlength=4>&nbsp;
  1019. </td></tr>";
  1020. }
  1021. if ($w['PerTglAkhir'] == 'Y') {
  1022. if (isset($_SESSION['PTAK_d'])) $PTAK_d = $_SESSION['PTAK_d']; else $PTAK_d = date('d');
  1023. if (isset($_SESSION['PTAK_m'])) $PTAK_m = $_SESSION['PTAK_m']; else $PTAK_m = date('m');
  1024. if (isset($_SESSION['PTAK_y'])) $PTAK_y = $_SESSION['PTAK_y']; else $PTAK_y = date('Y');
  1025. $PerTglAkhir = "<tr><td class=uline>Sampai Tanggal:</td><td class=uline>
  1026. <input type=text name='PTAK_d' value='$PTAK_d' size=2 maxlength=2>&nbsp;
  1027. <input type=text name='PTAK_m' value='$PTAK_m' size=2 maxlength=2>&nbsp;
  1028. <input type=text name='PTAK_y' value='$PTAK_y' size=4 maxlength=4>&nbsp;
  1029. </td></tr>";
  1030. }
  1031. if ($w['PerBulan'] == 'Y') {
  1032. if (isset($_SESSION['PerBulan'])) $bln = $_SESSION['PerBulan']; else $bln = 0;
  1033. $optbln = GetMonthOption($bln);
  1034. if (isset($_SESSION['PerBulanThn'])) $blnthn = $_SESSION['PerBulanThn']; else $blnthn = date('Y');
  1035. $optblnthn = GetNumberOption(date('Y')-2, date('Y'), $blnthn);
  1036. $PerBulan = "<tr><td class=uline>Bulan</td><td class=uline><select name='PerBulan'>$optbln</select>
  1037. <select name='PerBulanThn'>$optblnthn</select></td></tr>";
  1038. }
  1039. if ($w['PerStatusMhsw'] == 'Y') {
  1040. $st = GetOptStatusMhsw();
  1041. $PerStatusMhsw = "<tr><td class=uline>Status Mhsw</td><td class=uline>$st</td></tr>";
  1042. }
  1043. if ($w['PerAngkDari'] == 'Y') {
  1044. if (isset($_SESSION['PerAngkDari'])) $PerAngkDari = $_SESSION['PerAngkDari']; else $PerAngkDari = '';
  1045. $PerAngkDari = "<tr><td class=uline>Dari Angkatan Mhsw</td>
  1046. <td class=uline><input type=text name='PerAngkDari' value='$PerAngkDari' size=10 maxlength=5></td></tr>";
  1047. }
  1048. if ($w['PerAngkSampai'] == 'Y') {
  1049. if (isset($_SESSION['PerAngkSampai'])) $PerAngkSampai = $_SESSION['PerAngkSampai']; else $PerAngkSampai = '';
  1050. $PerAngkSampai = "<tr><td class=uline>Sampai Angkatan</td>
  1051. <td class=uline><input type=text name='PerAngkSampai' value='$PerAngkSampai' size=10 maxlength=5></td></tr>";
  1052. }
  1053. echo <<<EOF
  1054. <table class=box cellspacing=0 cellpadding=4>
  1055. <form action='sysfo.php' method=GET>
  1056. <input type=hidden name='syxec' value='rptcall'>
  1057. <input type=hidden name='rpt' value='$rpt'>
  1058. <input type=hidden name='param' value='$param'>
  1059. <tr><td class=basic rowspan=6 align=center><img src='image/printer.gif'><br><img src="image/tux001.jpg"></td><td></td></tr>
  1060. $PerTahun $PerMhsw $PerJur $PerPrg $PerDoc $Bahasa $PerJnsByr $PerNamaByr
  1061. $PerTglAwal $PerTglAkhir $PerBulan $PerStatusMhsw $PerAngkDari $PerAngkSampai
  1062. <tr><td class=uline colspan=3><input type=submit name='prc' value='Cetak'>&nbsp;
  1063. <input type=reset name='reset' value='Reset'></td></tr>
  1064. </form><tr><td height=2></td></tr></table>
  1065. EOF;
  1066. }
  1067. }
  1068. function UpdateIPK($nim) {
  1069. global $strCantQuery;
  1070. $arr = GetFields('krs', "NotActive='N' and Tunda='N' and GradeNilai<>'' and NIM", $nim, 'sum(SKS) as TSKS, sum(Bobot*SKS) as TBBT');
  1071. $ipk = ($arr['TSKS'] == 0)? 0 : $arr['TBBT'] / $arr['TSKS'];
  1072. $s = "update mhsw …

Large files files are truncated, but you can click here to view the full file