Skip to content
Corex

FlowFilterOptions

Corex\Config\Forms\FlowFilterOptions · class · Config layer

The list of forms a person can filter by, by name. Submissions asked for a raw numeric flow ID and Records for a typed slug — neither of which anyone knows or should have to. This supplies the real names for both screens. It reads the {@see FormCatalog}, so a form registered in code appears here the moment it is registered. It used to read the flow table alone, which meant the framework’s own contact form — a code form — could receive submissions the filter could not narrow to, and every site had to patch a CoreX filter to list its own forms. Forms is an optional add-on (Principle IX), so the catalog is resolved lazily inside a try/catch and an absent one yields an empty list rather than a fatal — the screens still work, they just cannot offer the filter.

__construct(ContainerInterface $container)

Section titled “__construct(ContainerInterface $container)”

Every form, as the two screens need to key on it. Both id and slug are returned because the screens filter on different stored keys — the submissions inbox matches corex_flow_id, the data explorer matches corex_form_slug — and conflating them yields a filter that silently matches nothing. A form with no flow row carries id => 0, which both screens read as “match this by slug instead”.

What the site calls a form: the name it is listed under here, which is where a form defined in code says what it is called. ” where nothing lists it.