Changelog
v1.4
aktuell 17.07.2026
- Hangman/IT-Scribble ausführlich durchgetestet (Host + mehrere Teilnehmer gleichzeitig, alle Spielabläufe inkl. Grenzfälle) und dabei drei Bugs gefunden und behoben, die alle nur auf Hosting ohne mbstring-Erweiterung auftreten: (1) Ein einzelner Umlaut-Buchstabe (z. B. "ü") wurde bei Hangman fälschlich als ganzes Wort statt als Einzelbuchstabe gewertet, weil die Byte-Länge statt der Zeichen-Länge gezählt wurde. (2) Groß-/Kleinschreibung von Umlauten wurde beim Buchstaben-Vergleich gar nicht erkannt ("ü" fand "Ü" nicht) - neue Funktion u_strtoupper_de() behebt das mit einer manuellen Umlaut-Zuordnung, wenn mbstring fehlt. (3) Die Wortlängen-Anzeige bei IT-Scribble ("▢ ▢ ▢ …") zeigte bei Umlaut-Begriffen ein Kästchen zu viel je Umlaut an.
- Robustheit: Wird die aktuell zeichnende Person bei IT-Scribble aus der Teilnehmerliste entfernt, während ihre Runde noch läuft, riss das (per Fremdschlüssel-Kaskade) auch die laufende Runde mit - das Spiel blieb dadurch dauerhaft im Status „läuft" hängen, ohne Runde und ohne automatischen Ausweg. Erkennt scribble_tick() jetzt und beendet das Spiel in diesem Fall sauber, statt es haengen zu lassen.
v1.3
17.07.2026
- Kritischer Bug behoben: etliche Stellen im Code (Suche, Hangman, Scribble, Ticker, Changelog, Mail-Versand u. a. – insgesamt 11 Dateien) nutzten mb_*()-Funktionen ohne Rücksicht darauf, dass die mbstring-Erweiterung auf manchem Hosting nicht verfügbar ist. Das führte zu einem Server-Fehler (500), sobald z. B. ein Suchtreffer einen Kontext-Ausschnitt anzeigen wollte. Alle Stellen sind jetzt über neue, zentrale Hilfsfunktionen (u_strlen, u_substr, u_stripos, u_strtoupper, u_strtolower, u_mime_header in includes/funktionen.php) abgesichert: mit mbstring wie bisher zeichengenau, ohne mbstring ein Byte-basierter Ersatz statt eines Absturzes.
- Performance: Die Suchergebnis-Seite lud den Kontext-Ausschnitt ("… gefunden in …") bisher mit bis zu 3 zusätzlichen Datenbankabfragen pro Treffer einzeln nach (N+1-Problem – bei 30 Treffern also bis zu 90 zusätzliche Abfragen). Themen und Notizen werden jetzt für alle Treffer einer Suche in nur zwei Abfragen im Voraus geladen.
- Performance: Browser-Cache für statische Assets (CSS/JS/SVG/Icons) aktiviert (7 Tage) – bisher wurden diese Dateien bei jedem einzelnen Seitenaufruf neu vom Server geladen.
- Performance: gzip-Komprimierung für Text-Antworten (HTML/CSS/JS/JSON/SVG) aktiviert – style.css schrumpft dadurch von ~87 KB auf ~19 KB Übertragungsgröße (-78 %).
v1.2
17.07.2026
- Sicherheits-Review durchgeführt und vier gefundene Schwachstellen behoben: (1) TOTP-Codes bei der Zwei-Faktor-Anmeldung konnten innerhalb des Toleranzfensters ein zweites Mal eingereicht werden (Replay) – der zuletzt akzeptierte Zeitschritt wird jetzt je Konto gespeichert und ein erneutes Einreichen abgelehnt. (2) Direkter Datei-Download (datei_download.php) prüfte nur die Anmeldung, nicht aber eine für das Konto gesperrte Bereichs-Sicht (Kurse/Technik Center/Methoden) – die Sperre ließ sich so über die Datei-ID umgehen; wird jetzt korrekt geprüft. (3) Kleine Timing-Lücke beim Login geschlossen, durch die sich per Zeitmessung erraten ließ, ob ein Benutzername existiert. (4) Die automatische Anmeldung über das „Angemeldet bleiben"-Cookie erneuert jetzt wie der normale Login die Session-ID (Schutz vor Session-Fixation).
v1.1
16.07.2026
- Beispielkurs und Beispiel-Skill-Check sind jetzt fester Bestandteil der Installation (vorher versehentlich nur in einer Testumgebung angelegt, nicht mit ausgeliefert). Neuinstallationen bekommen beides automatisch; bestehende Installationen können es unter Verwalten → „📦 Beispieldaten" mit einem Klick nachträglich einspielen.
- Neu: WKO-Ausbildungsdokumentation „Informationstechnologie – Systemtechnik" (Projektbüro „Lehre Fördern") als weiteres Dokument im Lehrplan-Export-Menü des Technik Centers hinterlegt.
- Footer-Feinschliff: Zeile 2 (Impressum, Erste Schritte, Über die Plattform, Changelog, Bugreport, Kontakt) sind jetzt wieder richtige Buttons mit Symbolen (📄/👣/📖/📋/🐞/📧) statt reiner Textlinks – auf Wunsch, nachdem die komplett schmucklose Variante als zu nüchtern empfunden wurde.
- Der Platzhaltertext „*Zwinkersmiley" im Skill-Check-Untertitel ist jetzt ein echtes 😉.
- Automatisierte Tests deutlich ausgebaut: Suchbegriffs-Regressionstest, zwei gezielte Regressionswächter für die beiden zuletzt behobenen kritischen Bugs (Vorschau-Modal dauerhaft sichtbar, kaputtes onclick-Attribut), ein vollständiger Archiv-Upload/Download-Rundlauf mit Byte-für-Byte-Inhaltsvergleich, Dashboard-Kachel-Umschalten und ein Passwort-vergessen-Rauchtest. Dabei zwei echte Fehler im Testskript selbst gefunden und behoben (falsches Feldnamen bei „In den Papierkorb", nicht eindeutiger Testdateiname), die sonst bei jedem Lauf stille Datei-Leichen hinterlassen hätten.
- Änderungsprotokoll komplett zurückgesetzt – Versionszählung beginnt wieder bei 1.0.
v1.0
16.07.2026
- Neustart des Änderungsprotokolls. Ab hier beginnt die Versionszählung wieder bei 1.0 – alle künftigen Änderungen werden ab jetzt hier dokumentiert.
- Aktueller Funktionsumfang zur Einordnung: Kurse & Technik-Center-Module, Archiv (Dateien/Links/Skripten, inkl. Versionierung), Methoden-Sammlung (IT-Scribble, Hangman, News-Ticker), Skill-Checks mit fünf Fragetypen, GIFT-/CSV-/Komplettpaket-Import-Export, Benutzerverwaltung mit granularen Rechten und Rollen-Vorlagen, Zwei-Faktor-Authentifizierung, Passwort-Reset per E-Mail, Log-Center, Papierkorb, Backup & Wiederherstellung, Dashboard mit anpassbaren Kacheln, Hell-/Dunkelmodus mit persönlicher Akzentfarbe, sowie ein Beispielkurs und ein Beispiel-Skill-Check zum Ausprobieren.