app.sample.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. declare(strict_types=1);
  3. $root = dirname(__DIR__);
  4. return [
  5. 'project_name' => 'Feuerwehr Mitgliedsantrag',
  6. 'base_url' => '/',
  7. 'contact_email' => 'kontakt@example.org',
  8. 'submission_success_message' => 'Ihr Antrag wurde erfolgreich empfangen. Bei Fragen kontaktieren Sie %contact_email%.',
  9. 'disclaimer' => [
  10. 'title' => 'Wichtiger Hinweis',
  11. 'text' => "Bitte lesen Sie diesen Hinweis vor Beginn sorgfaeltig.\n\nMit dem Fortfahren bestaetigen Sie, dass Ihre Angaben vollstaendig und wahrheitsgemaess sind.\nIhre Daten werden ausschliesslich zur Bearbeitung des Mitgliedsantrags verwendet.",
  12. 'accept_label' => 'Hinweis gelesen, weiter zum Antrag',
  13. ],
  14. 'address_disclaimer' => [
  15. 'text' => 'Bitte geben Sie Ihre vollstaendige Meldeadresse inklusive Hausnummer an.',
  16. ],
  17. 'retention' => [
  18. 'draft_days' => 14,
  19. 'submission_days' => 90,
  20. ],
  21. 'uploads' => [
  22. 'max_size' => 10 * 1024 * 1024,
  23. 'allowed_extensions' => ['pdf', 'jpg', 'jpeg', 'png', 'webp'],
  24. 'allowed_mimes' => [
  25. 'application/pdf',
  26. 'image/jpeg',
  27. 'image/png',
  28. 'image/webp',
  29. ],
  30. ],
  31. 'rate_limit' => [
  32. 'enabled' => true,
  33. 'requests' => 30,
  34. 'window_seconds' => 300,
  35. ],
  36. 'admin' => [
  37. // Feste Zugangsdaten als Tabelle (hardcoded).
  38. // Hash mit: php -r "echo password_hash('DEIN-PASSWORT', PASSWORD_DEFAULT), PHP_EOL;"
  39. // Alternativ: Online Tool: https://bcrypt-generator.com/
  40. 'credentials' => [
  41. [
  42. 'username' => 'admin',
  43. 'password_hash' => '',
  44. ],
  45. ],
  46. 'session_timeout_seconds' => 3600,
  47. ],
  48. 'storage' => [
  49. 'drafts' => $root . '/storage/drafts',
  50. 'submissions' => $root . '/storage/submissions',
  51. 'uploads' => $root . '/storage/uploads',
  52. 'rate_limit' => $root . '/storage/rate_limit',
  53. 'logs' => $root . '/storage/logs',
  54. 'locks' => $root . '/storage/locks',
  55. ],
  56. ];