Site::RequiresPermission(Permission::AddNewChampion, "/index.php"); if (isset($_POST)) { $championName = $_POST["champion"]; $file = $_FILES["image"]; $user = UserFacade::GetLoggedUserId(); $error = new Error(); $error = ValidateParameters($championName, $file); if ($error->code != Error::NoError) { Site::Redirect("/add-new-champion.php", $error); } $fileName = GenerateFileNameWithPath($championName); $error = SaveFile($file, $fileName); if ($error->code != Error::NoError) { Site::Redirect("/add-new-champion.php", $error); } $error = ChampionFacade::AddChampion($championName, $fileName); if ($error->code != Error::NoError) { Site::Redirect("/add-new-champion.php", $error); } } else { $error = new Error(Error::InvalidParameter, "No parameter has been sent."); Site::Redirect("/add-new-champion.php", $error); } Site::Redirect("/add-new-champion.php"); //Checks whether all provided parameters are correct function ValidateParameters($championName, $file) { if (strlen($championName) == 0) { return new Error(Error::InvalidParameter, "Invalid champion name."); } if (ChampionFacade::DoesChampionExists($championName)) {