- press_release_events (type view/share, channel, ohne Personenbezug):
Model/Enums/Factory, Cascade-Delete an der PM
- Detailaufruf loggt View-Event zusaetzlich zum Legacy-hits-Zaehler
(bleibt bewusst einfacher Page-Request-Zaehler, User-Vorgabe 10.07.)
- POST press-release/{slug}/share (throttle 30/min, nur archiv-sichtbare
PMs des Portals) loggt Teilen-Klicks je Kanal (LinkedIn/X/E-Mail/Copy)
- Kundenpanel-PM-Seite: neue Kachel Geteilt mit Kanal-Aufschluesselung
- lang: web.detail.views (de/en)
- Tests: Web/PressReleaseTrackingTest (7)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
24 lines
503 B
PHP
24 lines
503 B
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
/**
|
|
* Teilen-Kanäle der öffentlichen PM-Detailseite (Share-Buttons).
|
|
*/
|
|
enum PressReleaseShareChannel: string
|
|
{
|
|
case LinkedIn = 'linkedin';
|
|
case X = 'x';
|
|
case Email = 'email';
|
|
case CopyLink = 'copy';
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::LinkedIn => 'LinkedIn',
|
|
self::X => 'X',
|
|
self::Email => __('E-Mail'),
|
|
self::CopyLink => __('Link kopiert'),
|
|
};
|
|
}
|
|
}
|