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 (! $coordinator_mode) {
if (isset($_REQUEST['name'])) { if (isset($_REQUEST['name'])) {
list($valid, $name) = AngelType_validate_name($_REQUEST['name'], $angeltype); $result = AngelType_validate_name($_REQUEST['name'], $angeltype);
if (! $valid) { $name = $result->getValue();
if (! $result->isValid()) {
$valid = false; $valid = false;
error(_("Please check the name. Maybe it already exists.")); 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. * 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 string $name
* Wanted name for the angeltype
* @param AngelType $angeltype * @param AngelType $angeltype
* The angeltype the name is for
* @return ValidationResult result and validated name
*/ */
function AngelType_validate_name($name, $angeltype) { function AngelType_validate_name($name, $angeltype) {
$name = strip_item($name); $name = strip_item($name);
if ($name == "") { if ($name == "") {
return [ return new ValidationResult(false, "");
false,
$name
];
} }
if (isset($angeltype) && isset($angeltype['id'])) { if ($angeltype != null && isset($angeltype['id'])) {
return [ $valid = sql_num_query("
sql_num_query("
SELECT * SELECT *
FROM `AngelTypes` FROM `AngelTypes`
WHERE `name`='" . sql_escape($name) . "' WHERE `name`='" . sql_escape($name) . "'
AND NOT `id`='" . sql_escape($angeltype['id']) . "' AND NOT `id`='" . sql_escape($angeltype['id']) . "'
LIMIT 1") == 0, LIMIT 1") == 0;
$name return new ValidationResult($valid, $name);
];
} }
return [ $valid = sql_num_query("
sql_num_query("
SELECT `id` SELECT `id`
FROM `AngelTypes` FROM `AngelTypes`
WHERE `name`='" . sql_escape($name) . "' WHERE `name`='" . sql_escape($name) . "'
LIMIT 1") == 0, LIMIT 1") == 0;
$name return new ValidationResult($valid, $name);
];
} }
/** /**