FeedEditController
in package
uses
FeedFlashTrait
Controller for feed CRUD operations.
Handles feed creation, editing, deletion, and the management list.
Tags
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
$feedFacade
private
FeedFacade
$feedFacade
$flashService
private
FlashMessageService
$flashService
$languageFacade
private
LanguageFacade
$languageFacade
$viewPath
private
string
$viewPath
$wizardSession
private
FeedWizardSessionManager
$wizardSession
Methods
__construct()
public
__construct(FeedFacade $feedFacade, LanguageFacade $languageFacade[, FeedWizardSessionManager|null $wizardSession = null ][, FlashMessageService|null $flashService = null ]) : mixed
Parameters
- $feedFacade : FeedFacade
- $languageFacade : LanguageFacade
- $wizardSession : FeedWizardSessionManager|null = null
- $flashService : FlashMessageService|null = null
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
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
renderFlashMessages()
Render flash messages from the flash message service.
protected
renderFlashMessages(FlashMessageService $flashService) : void
Parameters
- $flashService : FlashMessageService
-
Flash message service
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