false, self::AllFiles => true, self::PublicFiles => $file->isEffectivelyPublic(), self::SharedFiles => ! $file->isEffectivelyPublic(), self::SelectedFiles => (bool) $file->commentable, }; } /** * English label — also the translation key. */ public function label(): string { return match ($this) { self::None => 'No files — commenting is off', self::AllFiles => 'All files', self::PublicFiles => 'Public files only', self::SharedFiles => 'Shared files only', self::SelectedFiles => 'Only files marked as commentable', }; } }