$request->setUserAgent($_SERVER['HTTP_USER_AGENT']); } $validationHelper = new RequestValidationHelper(new BanHelper(), $request, $_POST['emailconfirm']); // These are arrays of ValidationError. $nameValidation = $validationHelper->validateName(); $emailValidation = $validationHelper->validateEmail(); $otherValidation = $validationHelper->validateOther(); $validationErrors = array_merge($nameValidation, $emailValidation, $otherValidation); if (count($validationErrors) > 0) { foreach ($validationErrors as $validationError) { BootstrapSkin::displayAlertBox($smarty->fetch("validation/" . $validationError->getErrorCode() . ".tpl"), "alert-error"); } $smarty->display("request/request-form.tpl"); } else { if ($enableEmailConfirm == 1) { $request->generateEmailConfirmationHash(); $database->transactionally(function () use($request) { $request->save(); // checksum depends on the ID, so we have to save again! $request->updateChecksum(); $request->save(); }); $request->sendConfirmationEmail(); $smarty->display("request/email-confirmation.tpl"); } else { $request->setEmailConfirm(0); // Since it can't be null $database->transactionally(function () use($request) { $request->save(); $request->updateChecksum(); $request->save();