- Replace the v1 submit endpoint with a full JSON API under
/api/fe-comment/ (state, feedback create/update/delete, uploads,
summary notes/recipients, submit), guarded by frontend login and a
configurable FE user group; unauthorized callers get {"allowed":false}
- New models: tx_fecomment_summary (one open ticket per user, status
open/sent) and tx_fecomment_feedback (url, RTE note, FAL attachments),
both editable in the backend on the ticket storage page
- FeedbackApiMiddleware registered after frontend authentication (the
frontend.user attribute does not exist earlier); uploads land in
fileadmin/fe_comment/summary-<uid>/ with mime/extension check, 20 MB cap
- Submit sends one HTML mail (author block, items with attachment links,
reply-to = FE user mail) to selected recipients with mailTo fallback,
then closes the summary
- felogin wired React-compatible: felogin.pid=520 plus headless FeLogin
JSON templates via site settings - felogin v14 and EXT:headless both
claim templateRootPaths.10, the felogin.view.* settings feed exactly
that index, so the structured JSON form (incl. __RequestToken) wins
- Read the sys_file_reference insert id before syncAttachmentCount():
DBAL throws "no identity value" once the count UPDATE has run
- migrations: drop_fecomment_tables.php (repairs the no-uid tables,
only drops when empty), check_feuser.php (login diagnosis),
fec_login_test.sh / fec_api_test.sh (curl chains incl. CSRF token flow)
35 lines
1.1 KiB
PHP
35 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* Frontend middlewares for EXT:fe_comment. Both answer before site/page
|
|
* resolution - the endpoints exist on every site the extension is loaded in.
|
|
*/
|
|
return [
|
|
'frontend' => [
|
|
'fecomment/widget-assets' => [
|
|
'target' => \Evomedien\FeComment\Middleware\WidgetAssetMiddleware::class,
|
|
'after' => [
|
|
'typo3/cms-core/normalized-params-attribute',
|
|
],
|
|
'before' => [
|
|
'typo3/cms-frontend/site',
|
|
],
|
|
],
|
|
// v2: the feedback API needs the logged-in FE user, so it runs
|
|
// AFTER frontend authentication (earlier the frontend.user
|
|
// attribute does not exist yet). Replaces the old anonymous
|
|
// submit endpoint.
|
|
'fecomment/feedback-api' => [
|
|
'target' => \Evomedien\FeComment\Middleware\FeedbackApiMiddleware::class,
|
|
'after' => [
|
|
'typo3/cms-frontend/authentication',
|
|
],
|
|
'before' => [
|
|
'typo3/cms-frontend/page-resolver',
|
|
],
|
|
],
|
|
],
|
|
];
|