diff --git a/wcfsetup/install/files/lib/system/listView/filter/UserFilter.class.php b/wcfsetup/install/files/lib/system/listView/filter/UserFilter.class.php new file mode 100644 index 00000000000..5dfca013bc2 --- /dev/null +++ b/wcfsetup/install/files/lib/system/listView/filter/UserFilter.class.php @@ -0,0 +1,43 @@ + + * @since 6.2 + */ +class UserFilter extends AbstractFilter +{ + #[\Override] + public function getFormField(): AbstractFormField + { + return UserFormField::create($this->id) + ->label($this->languageItem) + ->nullable(); + } + + #[\Override] + public function applyFilter(DatabaseObjectList $list, string $value): void + { + $columnName = $this->getDatabaseColumnName($list); + + $list->getConditionBuilder()->add("{$columnName} = ?", [$value]); + } + + #[\Override] + public function renderValue(string $value): string + { + $user = UserRuntimeCache::getInstance()->getObject((int)$value); + + return $user ? $user->username : ''; + } +}