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;
}
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;
}
    if (isset($_POST["employeeID"])) {
        $employeeID = $_POST["employeeID"];
    }
    $request = CreateAdHocAbsenceRequest($employeeID, $_POST["startDate"], $_POST["endDate"], $_POST["absenceType"]);
}
// If user has clicked the amend button, redirect them to the edit adhoc absence
// page, using a GET parameter with the ID of the record to edit.
if (isset($_POST["amend"])) {
    ClearStatus();
    $url = "Location:editAdHocAbsenceRequest.php?ID=" . $_POST["amend"] . "&back=adminAdHocAbsenceRequest.php";
    header($url);
}
// If user has clicked the delete button, delete the record from the table.
if (isset($_POST["delete"])) {
    ClearStatus();
    DeleteAdHocAbsenceRequest($_POST["delete"]);
}
//-----------------------------------------------------------------------------
// This function will generate the HTML necessary for the Employee select
// dropdown.
//-----------------------------------------------------------------------------
function CreateEmployeeSelect()
{
    echo '<select class="form-control" name="employeeID" id="employeeID" >';
    echo '<option value="" disabled selected>Select Employee</option>';
    $employees = RetrieveEmployees();
    if ($employees != NULL) {
        foreach ($employees as $employee) {
            echo '<option value="' . $employee[EMP_ID] . '">' . $employee[EMP_NAME] . '</option>';
        }
    }
function ApproveAdHocRequest($requestID)
{
    $statusMessage = "";
    $succeeded = true;
    $request = RetrieveAdHocAbsenceRequestByID($requestID);
    if ($request != NULL) {
        $absenceType = $request[AD_HOC_ABSENCE_TYPE_ID];
        $start = $request[AD_HOC_START];
        $end = $request[AD_HOC_END];
        $succeeded = ProcessAbsenceRequest($request[AD_HOC_EMP_ID], $start, $end, $absenceType, $statusMessage);
        if ($succeeded) {
            DeleteAdHocAbsenceRequest($requestID);
        }
    } else {
        $statusMessage .= "Error: Unable to process your request." . "The AdHoc Request ID of {$requestID} " . "could not be found in the database. Please " . "contact your system administrator.</br>";
        $succeeded = false;
    }
    GenerateStatus($succeeded, $statusMessage);
}