Documentation

FeedEditController
in package
uses FeedFlashTrait

Controller for feed CRUD operations.

Handles feed creation, editing, deletion, and the management list.

Tags
since
3.0.0

Table of Contents

Properties

$feedFacade  : FeedFacade
$flashService  : FlashMessageService
$languageFacade  : LanguageFacade
$viewPath  : string
$wizardSession  : FeedWizardSessionManager

Methods

__construct()  : mixed
deleteFeed()  : void
Delete a feed.
editFeed()  : void
Edit feed form.
newFeed()  : void
New feed form (wizard with 3 tabs: Browse, URL Wizard, Manual).
spa()  : void
Feeds SPA page - modern Alpine.js single page application.
redirect()  : void
Send a redirect response.
renderFlashMessages()  : void
Render flash messages from the flash message service.
loadCuratedFeeds()  : array<int, array<string, mixed>>
Load curated feeds from the JSON registry.
showEditForm()  : void
Show the edit feed form.
showNewForm()  : void
Show the new feed form (wizard step 1 with 3 tabs).

Properties

Methods

deleteFeed()

Delete a feed.

public deleteFeed(int $id) : void

Route: DELETE /feeds/{id}

Parameters
$id : int

Feed ID from route parameter

editFeed()

Edit feed form.

public editFeed(int $id) : void

Route: GET /feeds/{id}/edit

Renders the scaffold only; the form saves through PUT /api/v1/feeds/{id} (#262).

Parameters
$id : int

Feed ID from route parameter

newFeed()

New feed form (wizard with 3 tabs: Browse, URL Wizard, Manual).

public newFeed(array<string, string> $params) : void

Route: GET /feeds/new

Renders the scaffold only. The Browse and Manual tabs save through POST /api/v1/feeds (#262), which is also the only path that checks the submitted NfLgID belongs to the caller — the save branch that used to live here passed it straight to the facade. The URL Wizard tab still posts to /feeds/wizard, which drives a server-side session state machine rather than saving a feed.

Parameters
$params : array<string, string>

Route parameters

spa()

Feeds SPA page - modern Alpine.js single page application.

public spa(array<string, string> $params) : void
Parameters
$params : array<string, string>

Route parameters

Tags
psalm-suppress

UnresolvableInclude View path is constructed at runtime

redirect()

Send a redirect response.

protected redirect(string $url) : void

Extracted to allow tests to override and prevent exit().

Parameters
$url : string

Target URL

Tags
codeCoverageIgnore

loadCuratedFeeds()

Load curated feeds from the JSON registry.

private loadCuratedFeeds() : array<int, array<string, mixed>>
Return values
array<int, array<string, mixed>>

showEditForm()

Show the edit feed form.

private showEditForm(int $feedId) : void
Parameters
$feedId : int

Feed ID to edit

showNewForm()

Show the new feed form (wizard step 1 with 3 tabs).

private showNewForm() : void
Tags
psalm-suppress

UnresolvableInclude View path is constructed at runtime

On this page

Search results