Commit Graph

17 Commits

Author SHA1 Message Date
1bd08a72be Fix text_constants merge: use proper PHP string regex
The previous merge used a greedy (.*?); regex that stopped at the first
semicolon — breaking on HTML entities like ö inside string values.
Switched to a quoted-string-aware regex ("..." / '...') that correctly
captures full PHP string literals including embedded semicolons.
Key count: 1429 (root file was untracked and never loaded, not a loss).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 10:24:52 +02:00
e3b4dbe4ff Merge all text_constants into a single canonical file
Four separate text_constants.inc.php files (root, mysyde/common,
mysyde/common/classes, mysyde/admin) contained overlapping and
diverging constants. Merged all 1596 unique keys—zero value conflicts—
into mysyde/admin/text_constants.inc.php, which Translate.php already
loads. The three other files are now thin stubs that require_once the
admin file, so all existing include paths continue to work.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 10:22:28 +02:00
e2837b3288 Adapt main_contact_link queries to use main_contact_department
The new tasks and knowledgecenter_update modules were built against a
main_contact_link table that does not exist in this system. All 7 active
query sites now target main_contact_department (same column names,
active_d → active).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 10:22:20 +02:00
38272c3b11 Intranet Cardform: zwei Nummernserien auf ein Array konsolidieren
Statt $type_array (1-basiert) + $type_name_array (0-basiert) gibt es
jetzt ein einziges assoziatives Array $types [typ_nummer => name].
input_select bekommt array_keys/array_values — keine Verhaltensänderung,
aber das Muster ist ab sofort konsistent und erweiterbar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 09:44:50 +02:00
197152fb97 Intranet: neue Module registrieren (Typen 28–39)
Knowledgecenter Update, Globale Suche und alle Task/Zertifikate-Seiten
(Admin + User) ab Typ 28 fortlaufend eingetragen — kein Offset mehr
zwischen Label und Case-Nummer wie im Quellprojekt.

Nicht eingetragen: my_certificates.php (Datei existiert nicht im
tasks-Modul) und Search (Modul noch nicht vorhanden).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 09:40:54 +02:00
743476f64a Module tasks + knowledgecenter_update aus Kundenprojekt übernehmen (bereinigt)
Beide Module wurden aus einem anderen Kundenprojekt kopiert und bereinigt:

Knowledgecenter:
- Bild-Cache (1.985 Dateien) geleert, Ordnerstruktur mit .gitkeep behalten
- Files-Gallery-Lizenzschlüssel entfernt (config.php)
- Kundenspezifische Kategorien gelöscht: Teil I/II/III QM-Struktur,
  nummerierte QM-Kapitel, Gremien (Präsidium/Finanzausschuss/Landesausschuss),
  Sitzungsservice-Serie, Protokoll-Abteilungen, Testeinträge
- 56 generische Kategorien bleiben (Downloads, Onboarding, Personalthemen …)

Tasks:
- Alle Betriebsdaten gelöscht (114 Tasks, 914 Submissions, 579 Assignments)
- Task-Definitionen und Verlinkungen geleert
- Kategoriestruktur bleibt (Allgemein, IT, Personal, Buchhaltung …)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 09:20:02 +02:00
2e75ff7d59 Statistik: Login-Tracking auf pro-User-Deduplizierung umstellen
main_contact_id wird jetzt mitgespeichert + UNIQUE (login_date, main_contact_id).
Damit zählt ein User der sich mehrfach ein-/ausloggt trotzdem nur einmal pro Tag.
Im Chart bleibt nur die anonyme Tagessumme sichtbar.

ALTER TABLE stat_login_daily
  ADD COLUMN main_contact_id INT NOT NULL DEFAULT 0 AFTER login_date,
  ADD UNIQUE KEY uq_user_day (login_date, main_contact_id);

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 08:59:44 +02:00
5c585caeba Dashboard: Anmelde-Statistik als Balkendiagramm hinzufügen
Zeigt anonyme Anmeldungen der letzten 30 Tage als Bar-Chart
(Chart.js, bereits im Admin geladen). Nur Tagessummen sichtbar,
keine Rückschlüsse auf einzelne Nutzer möglich.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 08:52:16 +02:00
b2a3a23116 Statistik: anonyme Login-Events tracken
Neue Tabelle stat_login_daily (nur Datum, keine User-ID).
Bei jedem erfolgreichen Login wird ein Eintrag geschrieben —
egal ob über Microsoft OAuth, Dev-Bypass oder klassisches Passwort-Login.

CREATE TABLE stat_login_daily (
  id INT AUTO_INCREMENT PRIMARY KEY,
  login_date DATE NOT NULL,
  INDEX idx_login_date (login_date)
);

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 08:52:09 +02:00
0ece15a23b Logout: Microsoft-Redirect im Dev-Modus umgehen
Beim Abmelden wurde bisher immer auf login.microsoftonline.com weitergeleitet,
was lokal ins Leere läuft. Bei DISABLE_MS_AUTH=1 wird stattdessen
/?action=intranet_logout verwendet (Desktop- und Mobile-Button).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 14:04:13 +02:00
c55777c089 Login: Microsoft-Auth per Env-Variable deaktivierbar machen
Im lokalen Docker-Betrieb funktioniert der Microsoft-OAuth-Flow nicht.
DISABLE_MS_AUTH=1 in docker-compose.yml schaltet ihn ab und zeigt
stattdessen ein einfaches Dev-Login-Formular (Eingabe der User-ID
aus main_contact). Auf 0 setzen, um MS-Auth wieder zu aktivieren.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 14:03:53 +02:00
bc08a1f35c CSS hat wieder inhalt 2026-06-19 13:17:53 +02:00
9f1ed0a4d4 fixed 2026-06-19 13:14:19 +02:00
5e928b982b chore von Jan I guess? 2026-06-01 14:18:35 +02:00
52ca9249c3 Refactor contact management functions and remove phpinfo.php
- Updated formatting and structure of functions in edit_contact.inc.php for better readability and consistency.
- Added comments to clarify the purpose of certain code sections, especially regarding mandant handling.
- Removed the deprecated phpinfo.php file to clean up the codebase.
2026-05-11 08:54:44 +02:00
8749bc7994 ticketcenter update 2026-02-19 16:48:26 +01:00
68f7a95fdf init 2026-02-17 14:56:23 +01:00