function delete_employee($id) { log_debug("hr_staff_manager", "Executing delete_employee_details({$id}, values...)"); if (user_permissions_get("staff_write")) { $obj_employee = new hr_staff(); /* Load POST Data */ $obj_employee->id = @security_script_input_predefined("int", $id); if (!$obj_employee || $obj_employee == "error") { throw new SoapFault("Sender", "INVALID_INPUT"); } /* Error Handling */ // verify employee ID (if editing an existing employee) if (!$obj_employee->verify_id()) { throw new SoapFault("Sender", "INVALID_ID"); } // make sure employee is not locked if ($obj_employee->check_lock()) { throw new SoapFault("Sender", "LOCKED"); } /* Perform Changes */ if ($obj_employee->action_delete()) { return 1; } else { throw new SoapFault("Sender", "UNEXPECTED_ACTION_ERROR"); } } else { throw new SoapFault("Sender", "ACCESS DENIED"); } }
Error Handling */ // make sure the employee actually exists if (!$obj_employee->verify_id()) { log_write("error", "staff-edit-process", "The employee you have attempted to delete - " . $obj_employee->id . " - does not exist in this system."); } // make sure employee is not locked if ($obj_employee->check_lock()) { log_write("error", "staff-delete-process", "You are not able to delete this employee because they have made postings to the billing system."); } // return to entry page in event of an error if ($_SESSION["error"]["message"]) { $_SESSION["error"]["form"]["staff_delete"] = "failed"; header("Location: ../index.php?page=hr/staff-delete.php&id=" . $obj_employee->id . ""); exit(0); } else { /* Delete Employee */ $obj_employee->action_delete(); // return to products list header("Location: ../index.php?page=hr/staff.php"); exit(0); } ///////////////////////// } else { // user does not have perms to view this page/isn't logged on error_render_noperms(); header("Location: ../index.php?page=message.php"); exit(0); }