Files
dogfather-universe/workspace/bewerben.html
T
DogFatherGitandClaude Opus 5 d231e989cf Screenshots an einen Beitrag hängen
Filipe (Runde vom 23.09.2026): „mach das man da bitte screenshots
oder kurzschnitte von den live reinposten kann. nach dem selben
prinzip wie bei den anderen nebendran."

ES FEHLTE WENIGER, ALS MEINE EIGENE NOTIZ BEHAUPTETE. Dort stand „ein
eigener Brocken (Upload, Groessenpruefung, Sicherheit), kein
Nebenbei". Nachgemessen statt geglaubt: Die Spalte `dateien.eintrag_id`
gibt es seit dem Video-Einlesen, die Karten zeichnen ihren
Bildstreifen bereits, und die Auslieferung entscheidet die
Sichtbarkeit schon am BEITRAG statt an der Ablage. Gefehlt hat genau
ein Weg -- das Hochladen. Wieder ein Beleg dafuer, dass auch meine
eigenen Listen altern.

„NACH DEM SELBEN PRINZIP" IST WOERTLICH GENOMMEN: `dateiErkennen` aus
dem Chat (eine Fassung, drei Benutzer -- Chat, Support, Beitraege),
derselbe Ordner wie die Dateiablage (die Auslieferung kennt nur einen
Pfad), `express.raw` mit Rechtepruefung VOR der Annahme des Rumpfes.

DER KNOPF STEHT AN DER KARTE, nicht im Anlege-Formular. Ein
Bildschirmfoto faellt einem meist spaeter ein -- beim Nachschauen,
wenn jemand fragt. Wer es nur beim Anlegen mitgeben koennte, muesste
den Beitrag loeschen und neu schreiben. Er erscheint nur, solange
noch Platz ist (drei je Beitrag), damit er nie eine Absage bringt.

ZWEI FEHLER IN MEINEM EIGENEN CODE, beide beim ersten Laden gefunden:
`DATEN_ORDNER` war nicht importiert, und `bereichVon()` hatte ich
erfunden -- es gibt sie nicht. Der Bereich steht am Eintrag selbst
und ist dort auch richtiger: Er kommt aus der Datenbank, nicht aus
der Adresse.

UND ZWEI MESSFEHLER, beide dieselbe Sorte wie den ganzen Tag: Ich
fragte „darf die Community?" an einem Beitrag, den sie gar nicht
sieht (404 -- richtige Antwort, falsche Frage), dann an einem
freigegebenen (403 -- sie braucht eine Stufe zum Schreiben, auch das
richtig). Die Frage, die wirklich zaehlt, ist eine andere: Gilt fuer
ein Bild dieselbe Regel wie fuer einen Beitrag? Gemessen: Beitrag
403, Bild 403. Ein zweiter Weg mit anderen Rechten waere die Tuer,
die niemand bemerkt.

Gemessen: pruef-eintrag-bild, 24 Pruefungen, 0 Fehler -- darunter
als Bild getarntes HTML (415), SVG (415, es ist XML und darf Skripte
enthalten), PDF (415), die Grenze von drei am Server, und das
Abnehmen samt Datei. Gruen: pruef-highlights (31), pruef-anhaenge,
pruef-fassungen, pruef-galerie, pruef-video, pruef-css-klassen.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-24 11:44:01 +02:00

123 lines
5.4 KiB
HTML

<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Anfrage · Das Rudel</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609241143" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609241143" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/start.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609241143" />
<link rel="stylesheet" href="assets/css/module.css?v=202609241143" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609241143" />
</head>
<body class="start">
<div class="schleier" aria-hidden="true"></div>
<header class="kopfleiste">
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
<path d="M14.5 5.5 8 12l6.5 6.5" />
</svg>
<span class="zurueck-knopf__text">Zurück</span>
</button>
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Das&nbsp;Rudel</a> · <span id="marke-was">Anfrage</span></span></p>
<div class="kopfleiste__rechts">
<span class="wer" id="wer">…</span>
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
</div>
</header>
<main class="inhalt">
<!-- ==================================================================
DIE ANFRAGE AUS DER COMMUNITY (17.09.2026)
Filipe: „ich will dass die leute sich da anonym bei mir melden
können und eine anfrage machen können. ich will dass es
aber profissionel gemacht ist bitte wie ein fragebogen."
VERTRAULICH, NICHT NAMENLOS - seine Entscheidung. Es gibt keine
Selbstanmeldung im Rudel; jeder Zugang kommt von DogFather selbst.
Eine wirklich namenlose Anfrage wäre also nicht anonymer, sondern
nur schlechter: Man könnte niemandem antworten, und aus einer
Anfrage würde nie ein Gespräch.
„Anonym" heißt hier deshalb: NIEMAND AUS DER COMMUNITY SIEHT SIE.
Nicht die anderen Mitglieder, nicht die Modis - nur DogFather und
die rechte Hand. Und das steht auf dieser Seite, bevor jemand
anfängt zu tippen, statt im Kleingedruckten darunter.
============================================================== -->
<section class="kopf-zeile">
<div>
<p class="marke">Mitmachen</p>
<!-- DER NAME DER ROLLE STEHT NICHT IN DIESER DATEI.
Sie ist ohne Anmeldung aus dem offenen Netz lesbar (gemessen
am 17.09.2026: jede Datei unter /workspace/ antwortet mit
200). Der Server schickt das Wort in seiner Antwort mit --
dieselbe Regel wie bei den Rudel-Regeln und im Chat.
Was hier steht, ist die ehrliche Ueberschrift, falls die
Antwort ausbleibt: eine Anfrage ist es so oder so. -->
<h1 class="titel" id="titel">Anfrage stellen</h1>
<p class="unterzeile">
Ein paar Fragen - ehrlich beantwortet ist mehr wert als
vollständig. Du kannst zwischendurch aufhören und später
weitermachen: Deine Antworten bleiben so lange in diesem
Browser. Zu uns kommen sie erst, wenn du abschickst.
</p>
</div>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<p class="leise" id="ladezeile">einen Moment …</p>
<!-- Der Stand, wenn schon eine Anfrage vorliegt (oder eine Sperrfrist
läuft). Steht ganz oben: Wer hier landet und schon geschickt hat,
will als Erstes wissen, was daraus wurde - nicht das Formular
noch einmal sehen. -->
<section class="bw-stand" id="stand" hidden></section>
<form class="bw-bogen" id="bogen" hidden novalidate>
<div id="gruppen"></div>
<!-- WER DAS LIEST, steht direkt über dem Absenden-Knopf und nicht
nur oben auf der Seite. Wer hier unten ankommt, hat oben zehn
Minuten hinter sich. -->
<p class="bw-wer-liest" id="wer-liest"></p>
<div class="bw-abschluss">
<button type="submit" class="knopf" id="abschicken">Anfrage abschicken</button>
<a class="schritt" href="bereich.html?b=mitmachen">Doch nicht</a>
</div>
</form>
</main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202609241143" defer></script>
<script src="assets/js/nachfrage.js?v=202609241143" defer></script>
<script src="assets/js/wahl.js?v=202609241143" defer></script>
<script src="assets/js/bereiche.js?v=202609241143" defer></script>
<script src="assets/js/installieren.js?v=202609241143" defer></script>
<script src="assets/js/kopf.js?v=202609241143" defer></script>
<script src="assets/js/glocke.js?v=202609241143" defer></script>
<script src="assets/js/auskunft.js?v=202609241143" defer></script>
<script src="assets/js/bewerben.js?v=202609241143" defer></script>
</body>
</html>