protected function WeatherDisplayForm::getFreeDisplayNumber in Weather 2.0.x
Same name and namespace in other branches
- 8 src/Form/WeatherDisplayForm.php \Drupal\weather\Form\WeatherDisplayForm::getFreeDisplayNumber()
Finds first free display number for given display type.
1 call to WeatherDisplayForm::getFreeDisplayNumber()
- WeatherDisplayForm::save in src/
Form/ WeatherDisplayForm.php - Form submission handler for the 'save' action.
File
- src/
Form/ WeatherDisplayForm.php, line 332
Class
- WeatherDisplayForm
- Form controller for the weather_display entity edit forms.
Namespace
Drupal\weather\FormCode
protected function getFreeDisplayNumber(string $displayType) : int {
// User display ID is always equal UID.
if ($displayType == WeatherDisplayInterface::USER_TYPE) {
return $this
->currentUser()
->id();
}
// Find next number for system-wide display.
$used_numbers = Database::getConnection()
->select('weather_display', 'wd')
->fields('wd', [
'number',
])
->condition('type', $displayType)
->execute();
$free_number = 1;
foreach ($used_numbers as $row) {
if ($row->number > $free_number) {
break;
}
else {
$free_number++;
}
}
return $free_number;
}