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 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);
}