use more ValidationResult

This commit is contained in:
msquare 2016-09-29 16:04:05 +02:00
parent 10ae8b3d5c
commit a128bcbb38
2 changed files with 17 additions and 20 deletions

View File

@ -137,8 +137,9 @@ function angeltype_edit_controller() {
if (! $coordinator_mode) {
if (isset($_REQUEST['name'])) {
list($valid, $name) = AngelType_validate_name($_REQUEST['name'], $angeltype);
if (! $valid) {
$result = AngelType_validate_name($_REQUEST['name'], $angeltype);
$name = $result->getValue();
if (! $result->isValid()) {
$valid = false;
error(_("Please check the name. Maybe it already exists."));
}

View File

@ -55,38 +55,34 @@ function AngelType_create($name, $restricted, $description, $requires_driver_lic
/**
* Validates a name for angeltypes.
* Returns array containing validation success and validated name.
* Returns ValidationResult containing validation success and validated name.
*
* @param string $name
* @param AngelType $angeltype
* @param string $name
* Wanted name for the angeltype
* @param AngelType $angeltype
* The angeltype the name is for
* @return ValidationResult result and validated name
*/
function AngelType_validate_name($name, $angeltype) {
$name = strip_item($name);
if ($name == "") {
return [
false,
$name
];
return new ValidationResult(false, "");
}
if (isset($angeltype) && isset($angeltype['id'])) {
return [
sql_num_query("
if ($angeltype != null && isset($angeltype['id'])) {
$valid = sql_num_query("
SELECT *
FROM `AngelTypes`
WHERE `name`='" . sql_escape($name) . "'
AND NOT `id`='" . sql_escape($angeltype['id']) . "'
LIMIT 1") == 0,
$name
];
LIMIT 1") == 0;
return new ValidationResult($valid, $name);
}
return [
sql_num_query("
$valid = sql_num_query("
SELECT `id`
FROM `AngelTypes`
WHERE `name`='" . sql_escape($name) . "'
LIMIT 1") == 0,
$name
];
LIMIT 1") == 0;
return new ValidationResult($valid, $name);
}
/**