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