PageRenderTime 48ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/recruitment/reports/vacancyreport.php

https://bitbucket.org/lecturer34/hrmis
PHP | 334 lines | 295 code | 33 blank | 6 comment | 30 complexity | 97124f2fe27c29c22ea522b9038bef0b MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. if (!isset($_SESSION)) {
  3. session_start();
  4. }
  5. if(!isset($_SESSION['msgDetails'])){
  6. $_SESSION['msgCaption'] = '';
  7. $_SESSION['msgDetails'] = '';
  8. }
  9. require_once('../../lib/database.php');
  10. openConnection();
  11. require_once('../helper_functions.php');
  12. if (!function_exists("GetSQLValueString")) {
  13. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  14. {
  15. if (PHP_VERSION < 6) {
  16. $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  17. }
  18. $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  19. switch ($theType) {
  20. case "text":
  21. $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  22. break;
  23. case "long":
  24. case "int":
  25. $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  26. break;
  27. case "double":
  28. $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  29. break;
  30. case "date":
  31. $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  32. break;
  33. case "defined":
  34. $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  35. break;
  36. }
  37. return $theValue;
  38. }
  39. }
  40. $redirectToURL = $_SERVER['PHP_SELF'];
  41. if (isset($_POST['btnCancel'])) {
  42. $redirectToURL = 'interface.php';
  43. header("location: $redirectToURL");
  44. }
  45. //$query_vcDate = "SELECT tbldepartment.name AS dnm, tblrank.name AS rnm, tblvacancies.vacantslots as vsl, tblvacancies.jobschedule as jsh, tblvacancies.jobshifts as jsf, tblvacancies.status as sts, tblvacancies.vacancyreason as vrs, tblvacancies.isadvertised as adv, tblvacancies.effectivedate as eff FROM tblvacancies INNER JOIN tbldepartment ON (tblvacancies.departmentid = tbldepartment.departmentid) INNER JOIN tblrank ON (tblvacancies.rankid = tblrank.rankid)";
  46. $query_vcDate = "SELECT tbldepartment.name AS dnm, tblrank.name AS rnm, tblvacancies.vacantslots as vsl, tblvacancies.jobschedule as jsh, tblvacancies.jobshifts as jsf, tblvacancies.status as sts, tblvacancyreasons.vacancyreason as vrs, tblvacancies.isadvertised as adv, tblvacancies.effectivedate as eff FROM tblvacancies INNER JOIN tbldepartment ON (tblvacancies.departmentid = tbldepartment.departmentid) INNER JOIN tblrank ON (tblvacancies.rankid = tblrank.rankid) INNER JOIN tblvacancyreasons ON (tblvacancies.vacancyreasonid = tblvacancyreasons.rowid)";
  47. $vcDate = mysql_query($query_vcDate) or die(mysql_error());
  48. $row_vcDate = mysql_fetch_assoc($vcDate);
  49. $totalRows_vcDate = mysql_num_rows($vcDate);
  50. $query_lsFacCen = "SELECT name FROM tblfaccentres";
  51. $lsFacCen = mysql_query($query_lsFacCen) or die(mysql_error());
  52. $row_lsFacCen = mysql_fetch_assoc($lsFacCen);
  53. $totalRows_lsFacCen = mysql_num_rows($lsFacCen);
  54. $query_lsDeps = "SELECT * FROM tbldepartment ORDER BY name ASC";
  55. $lsDeps = mysql_query($query_lsDeps) or die(mysql_error());
  56. $row_lsDeps = mysql_fetch_assoc($lsDeps);
  57. $totalRows_lsDeps = mysql_num_rows($lsDeps);
  58. $query_vacQty = "SELECT COUNT(vacancyid) as vacqty FROM tblvacancies";
  59. $vacQty = mysql_query($query_vacQty) or die(mysql_error());
  60. $row_vacQty = mysql_fetch_assoc($vacQty);
  61. $totalRows_vacQty = mysql_num_rows($vacQty);
  62. $query_advQty = "SELECT COUNT(advertisementid) as advqty FROM tbladvertisements";
  63. $advQty = mysql_query($query_advQty) or die(mysql_error());
  64. $row_advQty = mysql_fetch_assoc($advQty);
  65. $totalRows_advQty = mysql_num_rows($advQty);
  66. $query_appQty = "SELECT COUNT(account_rowid) as appqty FROM tblapplicantsaccount";
  67. $appQty = mysql_query($query_appQty) or die(mysql_error());
  68. $row_appQty = mysql_fetch_assoc($appQty);
  69. $totalRows_appQty = mysql_num_rows($appQty);
  70. $query_empQty = "SELECT SUM(vacantslots) as empqty, status FROM tblvacancies WHERE status = 'Occupied' GROUP BY status";
  71. $empQty = mysql_query($query_empQty) or die(mysql_error());
  72. $row_empQty = mysql_fetch_assoc($empQty);
  73. $totalRows_empQty = mysql_num_rows($empQty);
  74. $query_pos = "SELECT * FROM tblrank ORDER BY name ASC";
  75. $pos = mysql_query($query_pos) or die(mysql_error());
  76. $row_pos = mysql_fetch_assoc($pos);
  77. $totalRows_pos = mysql_num_rows($pos);
  78. ?>
  79. <!DOCTYPE html>
  80. <html lang="en">
  81. <head>
  82. <?php require_once("../../partials/cssimports.php") ?>
  83. <title>ABU Zaria | Online Job Vacancies and Recruitment Portal</title>
  84. <meta name="keywords" content="ABU Zaria, job vacancies, recruitment">
  85. <meta name="description" content="The official online job vacancies and recruitment portal of Ahmadu Bello University, Zaria - Nigeria.">
  86. <link href="../recruit_css/style.css" rel="stylesheet" type="text/css" media="screen" />
  87. <script src="../js/jquery-1.6.2.min.js" type="text/javascript"></script>
  88. <script src="../js/jquery-ui.min.js" type="text/javascript"></script>
  89. <script src="../js/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
  90. <script src="../js/jquery.validate.min.js" type="text/javascript"></script>
  91. <script src="../js/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
  92. <script src="../js/jquery_ui_datepicker.js" type="text/javascript"></script>
  93. <script src="../js/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
  94. <script src="../js/Site.js" type="text/javascript"></script>
  95. <style type="text/css">
  96. .hero-unit {
  97. background-color: #fff;
  98. opacity: 0.8;
  99. -webkit-border-radius: 3px;
  100. -moz-border-radius: 3px;
  101. border-radius: 3px;
  102. background-image: url('../../assets/img/banner-recruitment.png');
  103. min-height: 120px;
  104. }
  105. .hero-unit p a.btn {
  106. opacity: 1;
  107. }
  108. </style>
  109. <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
  110. <!--[if lt IE 9]>
  111. <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  112. <![endif]-->
  113. <script>
  114. $(function () {
  115. $(document).ready(function() {
  116. $('#applicable').hide();
  117. });
  118. $("#faculty").change(function() {
  119. if ($(this).val() == 0){
  120. $('#department').hide();
  121. $('#applicable').show();
  122. //$('#applicable1, #applicable2').val("Applicable to all");
  123. } else {
  124. $('#department').show();
  125. //$('#applicable1, #applicable2').empty();
  126. $('#applicable').hide();
  127. }
  128. });
  129. $("#faculty").change(function() {
  130. var faculty = $(this).val();
  131. $.ajax({
  132. type: "POST",
  133. url: "recruitmentreport.ajax.php",
  134. data: "getdepartments=true&faculty=" + faculty,
  135. success: function (result) {
  136. //alert("Result returned is " + result);
  137. $("select[id$=department] > select").remove()
  138. $('#department').html(result);
  139. }
  140. });
  141. });
  142. $("#showbutton").click(function() {
  143. var faculty = $('#faculty').val();
  144. var department = $('#department').val();
  145. var mindate = $('#min-date').val();
  146. var maxdate = $('#max-date').val();
  147. var position = $('#position').val();
  148. var advert = $('#advert').val();
  149. $.ajax({
  150. type: "POST",
  151. url: "recruitmentreport.ajax.php",
  152. data: "getvacancy=true&faculty=" + faculty + "&department=" + department + "&mindate=" + mindate + "&maxdate=" + maxdate + "&position=" + position + "&advert=" + advert,
  153. success: function (result) {
  154. //alert("Result returned is Faculty : " + faculty + " Dept : " + department + " Min. Date : " + mindate + " Max. Date : " + maxdate + " Position : " + position + " Advert : " + advert);
  155. //alert("Result returned is " + result);
  156. $("select[id$=showvacancy] > table").remove()
  157. $('#showvacancy').html(result);
  158. }
  159. });
  160. });
  161. });
  162. </script>
  163. </head>
  164. <body>
  165. <?php include_once dirname(__FILE__) . "/../../partials/recruit_navbar.php" ?>
  166. <div id="container" class="container">
  167. <div class="span12">
  168. <div class="page-header">
  169. <h2>Recruitment Report: Vacancies</h2>
  170. <noscript>
  171. <?php include_once('../no_javascript.php');?>
  172. </noscript>
  173. <?php
  174. if(isset($_SESSION['msgDetails']) && strlen($_SESSION['msgDetails']) > 0 ) {
  175. echo $_SESSION['msgDetails'];
  176. $_SESSION['msgCaption'] = '';
  177. $_SESSION['msgDetails'] = '';
  178. }
  179. ?>
  180. </div>
  181. <h4>Use this page to search for vacancies defined for recruitment purposes.</h4><br />
  182. <div class="dashboard_div" style="width:90%;">
  183. <div class="div_caption">specify search criteria</div>
  184. <br />
  185. <form action="<?php echo $redirectToURL; ?>" method="post" name="recruitment_filter" target="_self" id="recruitment_filter">
  186. <table style="width: 100%; font-size: 16px; margin-left: 45px; margin-bottom: 0; border: none;">
  187. <tr style="border: none;">
  188. <td style="width:27%; text-align:left; vertical-align:middle">Faculty/Centre/Institute/Directorate</td>
  189. <td style="width:23%; text-align:left; vertical-align: middle">
  190. <select name="faculty" id="faculty">
  191. <option value="0">Show for All</option>
  192. <?php
  193. do {
  194. ?>
  195. <option value="<?php echo $row_lsFacCen['facultyid']?>"><?php echo $row_lsFacCen['name']?></option>
  196. <?php
  197. } while ($row_lsFacCen = mysql_fetch_assoc($lsFacCen));
  198. $rows = mysql_num_rows($lsFacCen);
  199. if($rows > 0) {
  200. mysql_data_seek($lsFacCen, 0);
  201. $row_lsFacCen = mysql_fetch_assoc($lsFacCen);
  202. }
  203. ?>
  204. </select>
  205. </td>
  206. <td style="width:20%; text-align:left; vertical-align: middle; padding:0px 0px 0px 10px">Department/Unit/Section</td>
  207. <td style="width:30%; text-align:left; vertical-align: middle"><select name="department" id="department">
  208. <option value="0">Show for All</option>
  209. </select>
  210. <select name="applicable" id="applicable">
  211. <option value="0">Show for All</option>
  212. </select></td>
  213. </tr>
  214. <tr style="border: none;">
  215. <td style="width:27%; text-align:left; vertical-align: middle">Minimum Date</td>
  216. <td style="width:23%; text-align:left; vertical-align: middle"><span style="vertical-align: middle">
  217. <input type="text" class="date-picker" name="min-date" id="min-date" />
  218. </span></td>
  219. <td style="width:20%; text-align:left; vertical-align: middle; padding:0px 0px 0px 10px">Maximum Date</td>
  220. <td style="width:30%; text-align:left; vertical-align: middle"><span style="vertical-align: middle">
  221. <input type="text" class="date-picker" name="max-date" id="max-date" />
  222. </span></td>
  223. </tr>
  224. <tr style="border: none;">
  225. <td style="width:27%; text-align:left; vertical-align: middle">Position</td>
  226. <td style="width:23%; text-align:left; vertical-align: middle"><select name="position" id="position">
  227. <option value="0">Show for All</option>
  228. <?php
  229. do {
  230. ?>
  231. <option value="<?php echo $row_pos['rankid']?>"><?php echo $row_pos['name']?></option>
  232. <?php
  233. } while ($row_pos = mysql_fetch_assoc($pos));
  234. $rows = mysql_num_rows($pos);
  235. if($rows > 0) {
  236. mysql_data_seek($pos, 0);
  237. $row_pos = mysql_fetch_assoc($pos);
  238. }
  239. ?>
  240. </select></td>
  241. <td style="width:20%; text-align:left; vertical-align: middle; padding:0px 0px 0px 10px">Advert Status</td>
  242. <td style="width:30%; text-align:left; vertical-align: middle"><select name="advert" id="advert">
  243. <option value="0" selected="selected">Show for All</option>
  244. <option value="yes">Advertised</option>
  245. <option value="no">Unadvertised</option>
  246. </select></td>
  247. </tr>
  248. <tr style="border: none;">
  249. <td style="width:27%; text-align:left; vertical-align: middle">&nbsp;</td>
  250. <td style="width:23%; text-align:left; vertical-align: middle">&nbsp;</td>
  251. <td style="width:20%; text-align:left; vertical-align: middle; padding:0px 0px 0px 10px">&nbsp;</td>
  252. <td style="width:30%; text-align:left; vertical-align: middle">&nbsp;</td>
  253. </tr>
  254. <tr style="border: none;">
  255. <td style="width:27%; text-align:left; vertical-align: middle"><input name="MM_datepoint" type="hidden" id="MM_datepoint" value="datepoint" /></td>
  256. <td style="width:23%; text-align:right; vertical-align: middle"><span id="showbutton">
  257. <input id="btnLogin" name="btnLogin" type="button" value="Display" class="btn btn-default" />
  258. </span></td>
  259. <td style="width:20%; text-align:left; vertical-align: middle; padding:0px 0px 0px 10px"><input id="btnCancel" name="btnCancel" type="submit" value="Cancel" class="btn" /></td>
  260. <td style="width:30%; text-align:left; vertical-align: middle">&nbsp;</td>
  261. </tr>
  262. </table>
  263. </form>
  264. </div>
  265. <div class="dashboard_div" style="width:90%">
  266. <div class="div_caption">VACANCY REPORT</div>
  267. <div id="showvacancy">
  268. <?php if ($totalRows_vcDate > 0) { // Show if recordset not empty ?>
  269. <br />
  270. <table border="1" style="width: 100%; font-size: 14px; padding: 2px; margin-bottom: 1;">
  271. <tr>
  272. <td style="width:3%; text-align:center; vertical-align:middle">S/N</td>
  273. <td style="width:31%; text-align:center; vertical-align:middle">DEPARTMENT</td>
  274. <td style="width:32%; text-align:center; vertical-align:middle">RANK</td>
  275. <td style="width:5%; text-align:center; vertical-align:middle">SLOTS</td>
  276. <td style="width:9%; text-align:center; vertical-align:middle">VACANCY</td>
  277. <td style="width:8%; text-align:center; vertical-align:middle">REASON</td>
  278. <td style="width:7%; text-align:center; vertical-align:middle">ADVERTISED</td>
  279. <td style="width:20%; text-align:center; vertical-align:middle">DATE</td>
  280. </tr>
  281. <?php $c = 1; ?>
  282. <?php do { ?>
  283. <tr>
  284. <td style="width:3%; text-align:center";><?php echo $c; $c++; ?></td>
  285. <td style="width:31%; text-align:left";><?php echo $row_vcDate['dnm']; ?></td>
  286. <td style="width:32%; text-align:left";><?php echo $row_vcDate['rnm']; ?></td>
  287. <td style="width:5%; text-align:center";><?php echo $row_vcDate['vsl']; ?></td>
  288. <td style="width:9%; text-align:center;"><?php echo $row_vcDate['sts']; ?></td>
  289. <td style="width:8%; text-align:center";><?php echo $row_vcDate['vrs']; ?></td>
  290. <td style="width:7%; text-align:center";><?php echo $row_vcDate['adv']; ?></td>
  291. <td style="width:20%; text-align:center";><?php echo $row_vcDate['eff']; ?></td>
  292. </tr>
  293. <?php } while ($row_vcDate = mysql_fetch_assoc($vcDate)); ?>
  294. </table>
  295. <?php } // Show if recordset not empty ?>
  296. </div>
  297. </div>
  298. </div><!-- /span12 -->
  299. </div><!-- /container -->
  300. </body>
  301. </html>