function DisplayMainVacationRequestTableBody($userID) { $employee = RetrieveEmployeeByID($userID); $mainVacationRequest = RetrieveMainVacationRequestByID($employee[EMP_MAIN_VACATION_REQ_ID]); if ($mainVacationRequest != NULL) { echo '<tr>'; echo '<td>' . $mainVacationRequest[MAIN_VACATION_1ST_START] . '</td>'; echo '<td>' . $mainVacationRequest[MAIN_VACATION_1ST_END] . '</td>'; echo '<td>' . $mainVacationRequest[MAIN_VACATION_2ND_START] . '</td>'; echo '<td>' . $mainVacationRequest[MAIN_VACATION_2ND_END] . '</td>'; echo '<td> <button class="btn btn-success" type="submit" name="amendMain"' . 'value="' . $mainVacationRequest[MAIN_VACATION_REQ_ID] . '">Amend</button></td>'; echo '<td> <button class="btn btn-danger" type="submit" name="deleteMain"' . 'value="' . $mainVacationRequest[MAIN_VACATION_REQ_ID] . '">Delete</button></td>'; echo '</tr>'; } }
function PopulateTableBody() { $requests = RetrieveMainVacationRequests(); if ($requests != NULL) { foreach ($requests as $request) { $employee = RetrieveEmployeeByID($request[MAIN_VACATION_EMP_ID]); echo "<tr>"; echo "<td>" . $employee[EMP_NAME] . "</td>"; echo "<td>" . $request[MAIN_VACATION_1ST_START] . "</td>"; echo "<td>" . $request[MAIN_VACATION_1ST_END] . "</td>"; echo "<td>" . $request[MAIN_VACATION_2ND_START] . "</td>"; echo "<td>" . $request[MAIN_VACATION_2ND_END] . "</td>"; echo '<td> <button class="btn btn-success" type="submit" ' . 'name="amend" value="' . $request[MAIN_VACATION_REQ_ID] . '">Amend</button></td>'; echo '<td> <button class="btn btn-danger" type="submit" name="delete"' . ' value="' . $request[MAIN_VACATION_REQ_ID] . '">Delete</button></td>'; echo "</tr>"; } } }
function PopulateAdHocTable() { $requests = RetrieveAdHocAbsenceRequests(); if ($requests != NULL) { foreach ($requests as $request) { $employeeID = $request[AD_HOC_EMP_ID]; $employee = RetrieveEmployeeByID($employeeID); $absenceTypeID = $request[AD_HOC_ABSENCE_TYPE_ID]; $absenceType = RetrieveAbsenceTypeByID($absenceTypeID); echo '<tr>'; echo '<td>' . $employee[EMP_NAME] . '</td>'; echo '<td>' . $request[AD_HOC_START] . '</td>'; echo '<td>' . $request[AD_HOC_END] . '</td>'; echo '<td>' . $absenceType[ABS_TYPE_NAME] . '</td>'; echo '<td> <button class="btn btn-success" type="submit" name="amend"' . 'value="' . $request[AD_HOC_REQ_ID] . '">Amend</button></td>'; echo '<td> <button class="btn btn-danger" type="submit" name="delete"' . 'value="' . $request[AD_HOC_REQ_ID] . '">Delete</button></td>'; echo '</tr>'; } } }
function DisplayApproveAbsenceTableBody() { $bookings = RetrieveApprovedAbsenceBookings(); if ($bookings != NULL) { foreach ($bookings as $booking) { $employeeID = $booking[APPR_ABS_EMPLOYEE_ID]; $employee = RetrieveEmployeeByID($employeeID); $absenceTypeID = $booking[APPR_ABS_ABS_TYPE_ID]; $absenceType = RetrieveAbsenceTypeByID($absenceTypeID); echo "<tr>"; echo "<td>" . $employee[EMP_NAME] . "</td>"; echo "<td>" . $booking[APPR_ABS_START_DATE] . "</td>"; echo "<td>" . $booking[APPR_ABS_END_DATE] . "</td>"; echo "<td>" . $absenceType[ABS_TYPE_NAME] . "</td>"; echo '<td> <button class="btn btn-success" type="submit" name="amend"' . 'value="' . $booking[APPR_ABS_BOOKING_ID] . '">Amend</button></td>'; echo '<td> <button class="btn btn-danger" type="submit" name="delete"' . 'value="' . $booking[APPR_ABS_BOOKING_ID] . '">Delete</button></td>'; echo "</tr>"; } } }
function DisplaySearchTableBody($startDate, $endDate) { date_default_timezone_set('UTC'); $startDate = $_POST["startDate"]; $startDateTime = strtotime($startDate); $endDate = $endDateTime = strtotime($endDate); $bookings = RetrieveApprovedAbsenceBookings(); if ($bookings != NULL) { foreach ($bookings as $booking) { $bookingStartTime = strtotime($booking[APPR_ABS_START_DATE]); $bookingEndTime = strtotime($booking[APPR_ABS_START_DATE]); if ($bookingStartTime >= $startDateTime and $bookingEndTime <= $endDateTime) { $employee = RetrieveEmployeeByID($booking[APPR_ABS_EMPLOYEE_ID]); $absenceType = RetrieveAbsenceTypeByID($booking[APPR_ABS_ABS_TYPE_ID]); echo '<tr>'; echo '<td>' . $employee[EMP_NAME] . '</td>'; echo '<td>' . $booking[APPR_ABS_START_DATE] . '</td>'; echo '<td>' . $booking[APPR_ABS_END_DATE] . '</td>'; echo '<td>' . $absenceType[ABS_TYPE_NAME] . '</td>'; echo '</tr>'; } } } }
function DeleteMainVacationRequest($ID) { $result = 0; $record = RetrieveMainVacationRequestByID($ID); if ($record != NULL) { $employee = RetrieveEmployeeByID($record[MAIN_VACATION_EMP_ID]); if ($employee) { $employee[EMP_MAIN_VACATION_REQ_ID] = NULL; UpdateEmployee($employee); } $sql = "DELETE FROM mainVacationRequestTable WHERE mainVacationRequestID=" . $ID . ";"; $result = performSQL($sql); } return $result; }
function ProcessAdHocRequests(&$statusMessage) { $requests = RetrieveAdHocAbsenceRequests(); $return = true; foreach ($requests as $request) { $id = $request[AD_HOC_REQ_ID]; $employeeID = $request[AD_HOC_EMP_ID]; $startDate = $request[AD_HOC_START]; $endDate = $request[AD_HOC_END]; $absenceTypeID = $request[AD_HOC_ABSENCE_TYPE_ID]; $employee = RetrieveEmployeeByID($employeeID); $statusMessage .= "<b>[Processing AdHoc request for " . $employee[EMP_NAME] . "]</b><br/>"; $result = ProcessAbsenceRequest($employeeID, $startDate, $endDate, $absenceTypeID, $statusMessage); if ($result == false) { $return = false; } DeleteAdHocAbsenceRequest($id); } return $return; }
<?php include 'sessionmanagement.php'; //sets $userID,$isAdministrator and $isManager $employee = RetrieveEmployeeByID($userID); $requestID = $employee[EMP_MAIN_VACATION_REQ_ID]; $today = date("Y-m-d"); $firstChoiceStart = $today; $firstChoiceEnd = $today; $secondChoiceStart = $today; $secondChoiceEnd = $today; if ($requestID != NULL) { $mainVacationRequest = RetrieveMainVacationRequestByID($requestID); $firstChoiceStart = $mainVacationRequest[MAIN_VACATION_1ST_START]; $firstChoiceEnd = $mainVacationRequest[MAIN_VACATION_1ST_END]; $secondChoiceStart = $mainVacationRequest[MAIN_VACATION_2ND_START]; $secondChoiceEnd = $mainVacationRequest[MAIN_VACATION_2ND_END]; } if (isset($_POST["submit"])) { ClearStatus(); $request = CreateMainVactionRequest($userID, $_POST["firstChoiceStart"], $_POST["firstChoiceEnd"], $_POST["secondChoiceStart"], $_POST["secondChoiceEnd"]); if ($request != NULL) { $url = "Location:index.php"; header($url); } } ?> <!DOCTYPE html> <html> <head>
function DeleteEmployee($ID) { $result = 0; $statusMessage = ""; $employee = RetrieveEmployeeByID($ID); if ($employee != NULL) { if ($employee[EMP_MAIN_VACATION_REQ_ID] != NULL) { DeleteMainVacatioNRequest($employee[EMP_MAIN_VACATION_REQ_ID]); } $filter[AD_HOC_EMP_ID] = $ID; $adHocAbsenceRequests = RetrieveAdHocAbsenceRequests($filter); foreach ((array) $adHocAbsenceRequests as $value) { DeleteAdHocAbsenceRequest($value[AD_HOC_REQ_ID]); } unset($filter); $filter[APPR_ABS_EMPLOYEE_ID] = $ID; $approvedAbsenceBookings = RetrieveApprovedAbsenceBookings($filter); if ($approvedAbsenceBookings != NULL) { foreach ($approvedAbsenceBookings as $value) { DeleteApprovedAbsenceBooking($value[APPR_ABS_BOOKING_ID]); } } $sql = "DELETE FROM employeeTable WHERE employeeID=" . $ID . ";"; $result = performSQL($sql); $statusMessage .= "Record deleted.</br>"; GenerateStatus(true, $statusMessage); } return $result; }
<?php $userDetails = "Not Logged In"; if (isset($_SESSION['userID'])) { $employee = RetrieveEmployeeByID($_SESSION['userID']); if ($employee) { $userDetails = "Logged in as " . $employee[EMP_NAME]; } } ?> <nav role="navigation" class="navbar navbar-default"> <div class="navbar-header"> <button type="button" data-target=".navbarCollapse" data-toggle="collapse" class="navbar-toggle"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <img src="/images/logo.png" style="max-width:45px" class="img-rounded" alt="Rounded Image"> <a href="#" class="navbar-brand">Absence Tracking System</a> </div> <div class="nav navbar-nav"> <ul class=""navbar-nav> <li><a href="index.php">Home</a></li> </ul> </div>
function UpdateApprovedAbsenceBooking($fields) { $statusMessage = ""; //-------------------------------------------------------------------------------- // Validate Input parameters //-------------------------------------------------------------------------------- $inputIsValid = TRUE; $validID = false; $countOfFields = 0; foreach ($fields as $key => $value) { if ($key == APPR_ABS_BOOKING_ID) { $record = RetrieveApprovedAbsenceBookingByID($value); if ($record != NULL) { $validID = true; $countOfFields++; } } else { if ($key == APPR_ABS_EMPLOYEE_ID) { $countOfFields++; $record = RetrieveEmployeeByID($value); if ($record == NULL) { $statusMessage .= "Unable to locate employee in database</br>"; error_log("Invalid EMP_ID passed to " . "UpdateApprovedAbsenceBooking. Value=" . $value); $inputIsValid = FALSE; } } else { if ($key == APPR_ABS_START_DATE) { $countOfFields++; if (!isValidDate($value)) { $statusMessage .= "Start date is not a valid date.</br>"; error_log("Invalid APPR_ABS_START_DATE passed to " . "UpdateApprovedAbsenceBooking. Value=" . $value); $inputIsValid = FALSE; } } else { if ($key == APPR_ABS_END_DATE) { $countOfFields++; if (!isValidDate($value)) { $statusMessage .= "End date is not a valid date.</br>"; error_log("Invalid APPR_ABS_END_DATE passed to " . "UpdateApprovedAbsenceBooking. Value=" . $value); $inputIsValid = FALSE; } } else { if ($key == APPR_ABS_ABS_TYPE_ID) { $countOfFields++; $record = RetrieveAbsenceTypeByID($value); if ($record == NULL) { $statusMessage .= "Unable to locate absence type in database</br>"; error_log("Invalid APPR_ABS_ABS_TYPE_ID passed to " . "UpdateApprovedAbsenceBooking. Value=" . $value); $inputIsValid = FALSE; } } else { $statusMessage .= "Unexpected field found in input</br>"; error_log("Invalid field passed to UpdateApprovedAbsenceBooking." . " {$key}=" . $key); $inputIsValid = FALSE; } } } } } } $absenceStartDate = $fields[APPR_ABS_START_DATE]; $absenceEndDate = $fields[APPR_ABS_END_DATE]; if (strtotime($absenceEndDate) < strtotime($absenceStartDate)) { $statusMessage .= "end Date is before start Date.</br>"; error_log("End Date is before Start Date."); $inputIsValid = FALSE; } if (!$validID) { $statusMessage .= "No valid ID supplied</br>"; error_log("No valid ID supplied in call to UpdateApprovedAbsenceBooking."); $inputIsValid = FALSE; } if ($countOfFields < 2) { $statusMessage .= "Insufficent fields supplied</br>"; error_log("Insufficent fields supplied in call to UpdateApprovedAbsenceBooking."); $inputIsValid = FALSE; } //-------------------------------------------------------------------------------- // Only attempt to update a record in the database if the input parameters are ok. //-------------------------------------------------------------------------------- $success = false; if ($inputIsValid) { $success = performSQLUpdate(APPROVED_ABSENCE_BOOKING_TABLE, APPR_ABS_BOOKING_ID, $fields); if ($success) { $statusMessage .= "Record updated successfully.</br>"; } else { $statusMessage .= "Unexpected error encountered when updating database.</br>"; $inputIsValid = false; } } GenerateStatus($inputIsValid, $statusMessage); return $success; }
function UpdateAdHocAbsenceRequest($fields) { $statusMessage = ""; //------------------------------------------------------------------------- // Validate Input parameters //------------------------------------------------------------------------- $inputIsValid = TRUE; $validID = false; $countOfFields = 0; foreach ($fields as $key => $value) { if ($key == AD_HOC_REQ_ID) { $record = RetrieveAdHocAbsenceRequestByID($value); if ($record != NULL) { $validID = true; $countOfFields++; } } else { if ($key == AD_HOC_EMP_ID) { $countOfFields++; $record = RetrieveEmployeeByID($value); if ($record == NULL) { $statusMessage .= "Employee specified can not be found in the " . "database.</br>"; error_log("Invalid AD_HOC_EMP_ID passed to " . "UpdateAdHocAbsenceRequest." . " Value=" . $value); $inputIsValid = FALSE; } } else { if ($key == AD_HOC_START) { $countOfFields++; if (!isValidDate($value)) { $statusMessage .= "Start date entered is not a valid date.</br>"; error_log("Invalid AD_HOC_START passed to UpdateAdHocAbsenceRequest." . " Value=" . $value); $inputIsValid = FALSE; } } else { if ($key == AD_HOC_END) { $countOfFields++; if (!isValidDate($value)) { $statusMessage .= "End date entered is not a valid date.</br>"; error_log("Invalid AD_HOC_END passed to UpdateAdHocAbsenceRequest." . " Value=" . $value); $inputIsValid = FALSE; } } else { if ($key == AD_HOC_ABSENCE_TYPE_ID) { $countOfFields++; $record = RetrieveAbsenceTypeByID($value); if ($record == NULL) { $statusMessage .= "Absence Type selected can not be found in the " . "database.</br>"; error_log("Invalid AD_HOC_ABSENCE_TYPE_ID passed to " . "UpdateAdHocAbsenceRequest. Value=" . $value); $inputIsValid = FALSE; } } else { $statusMessage .= "Unknown field encountered.</br>"; error_log("Invalid field passed to UpdateAdHocAbsenceRequest." . " {$key}=" . $key); $inputIsValid = FALSE; } } } } } } $startDate = $fields[AD_HOC_START]; $endDate = $fields[AD_HOC_END]; if (strtotime($endDate) < strtotime($startDate)) { $statusMessage .= "end Date is before start Date.</br>"; error_log("End Date is before Start Date."); $inputIsValid = FALSE; } if (!$validID) { $statusMessage .= "No valid record ID found.</br>"; error_log("No valid ID supplied in call to UpdateAbsenceType."); $inputIsValid = FALSE; } if ($countOfFields < 2) { $statusMessage .= "Insufficent fields supplied in call to UpdateAbsenceType.</br>"; error_log("Insufficent fields supplied in call to UpdateAbsenceType."); $inputIsValid = FALSE; } //------------------------------------------------------------------------- // Only attempt to update a record in the database if the input parameters // are ok. //------------------------------------------------------------------------- $success = false; if ($inputIsValid) { $success = performSQLUpdate(ADHOC_ABSENCE_REQUEST_TABLE, AD_HOC_REQ_ID, $fields); if ($success) { $statusMessage .= "Record successfully updated.</br>"; } else { $statusMessage .= "Unexpected error encountered when updating database." . "Contact your system administrator.</br>"; $inputIsValid = false; } } GenerateStatus($inputIsValid, $statusMessage); return $success; }
function DisplayAdHocRequestTableBody() { $requests = RetrieveAdHocAbsenceRequests(); if ($requests != NULL) { foreach ($requests as $request) { $employee = RetrieveEmployeeByID($request[AD_HOC_EMP_ID]); echo "<tr>"; echo "<td>" . $employee[EMP_NAME] . "</td>"; echo "<td>" . $request[AD_HOC_START] . "</td>"; echo "<td>" . $request[AD_HOC_END] . "</td>"; echo '<td> <button class="btn btn-success" type="submit" ' . 'name="approveadhoc" value="' . $request[AD_HOC_REQ_ID] . '">Approve</button></td>'; echo '<td> <button class="btn btn-danger" type="submit" ' . 'name="rejectadhoc" value="' . $request[AD_HOC_REQ_ID] . '">Reject</button></td>'; echo "</tr>"; } } }
<?php include 'sessionmanagement.php'; if ($_GET["ID"] != NULL) { $Employee = RetrieveEmployeeByID($_GET["ID"]); } if (isset($_POST["cancel"])) { ClearStatus(); $url = "Location:adminEmployeeTable.php"; header($url); } if (isset($_POST["update"])) { ClearStatus(); unset($Employee); $Employee[EMP_ID] = $_GET["ID"]; $Employee[EMP_NAME] = $_POST["empName"]; $Employee[EMP_EMAIL] = $_POST["eMail"]; $Employee[EMP_DATEJOINED] = $_POST["dateJoin"]; $Employee[EMP_LEAVE_ENTITLEMENT] = $_POST["annualLeave"]; $Employee[EMP_COMPANY_ROLE] = $_POST["companyRole"]; $Employee[EMP_ADMIN_PERM] = '0'; if (isset($_POST['isAdmin'])) { if ($_POST["isAdmin"] == 'on') { $Employee[EMP_ADMIN_PERM] = '1'; } } $Employee[EMP_MANAGER_PERM] = '0'; if (isset($_POST['isManager'])) { if ($_POST["isManager"] == 'on') { $Employee[EMP_MANAGER_PERM] = '1'; }
</head> <body> <?php include 'navbar.php'; ?> <div class="row"> <div class="col-md-4 col-md-offset-4 text-center"> <form method="post" class="signUp"> <h1> Edit Main Request </h1> <div class="input-group" for="empName"> <span class="input-group-addon"> <span class="glyphicon glyphicon-user"></span> </span> <?php $employee = RetrieveEmployeeByID($record[MAIN_VACATION_EMP_ID]); if ($employee != NULL) { echo '<input type="text" class="form-control" name="empID" ' . 'id="empID" readonly value="' . $employee[EMP_NAME] . '"/>'; } ?> </div> <div class="input-group" for="firstChoiceStart"> <span class="input-group-addon">1st Choice Start <span class="glyphicon glyphicon-calendar"></span> </span> <input type="date" class="form-control" name="firstChoiceStart" id="firstChoiceStart" value="<?php echo $record[MAIN_VACATION_1ST_START];
function SendResubmitMainVacationRequest($employeeID) { $employee = RetrieveEmployeeByID($employeeID); $to = $employee[EMP_EMAIL]; $from = "*****@*****.**"; $subject = "URGENT: NEW MAIN VACATION REQUEST NEEDED"; $message = "Unfortunatly, both of your main vacation choices are unavailable." . "Please submit a new Main Vacation Request with two new choices."; $result = mail($to, $subject, $message); return $result; }