Sonderzeichenumgebaut auf deutsch
This commit is contained in:
+4
-4
@@ -1,13 +1,13 @@
|
||||
# Dokumentation
|
||||
|
||||
Hier liegen die internen Anleitungen und technischen Hilfen fuer das Projekt.
|
||||
Hier liegen die internen Anleitungen und technischen Hilfen für das Projekt.
|
||||
|
||||
## Verfuegbar
|
||||
## Verfügbar
|
||||
|
||||
- [`docs/README_PROJEKT.md`](README_PROJEKT.md)
|
||||
Grundsaetzliche Erklaerung der Website, ihrer Bereiche und Datenfluesse
|
||||
Grundsätzliche Erklärung der Website, ihrer Bereiche und Datenflüsse
|
||||
- [`docs/README_LOCAL_WEBSERVER.md`](README_LOCAL_WEBSERVER.md)
|
||||
Lokale Startanleitung fuer den PHP-Webserver auf den bekannten Arbeitsplaetzen
|
||||
Lokale Startanleitung für den PHP-Webserver auf den bekannten Arbeitsplätzen
|
||||
- [`docs/README_RECHTESYSTEM.md`](README_RECHTESYSTEM.md)
|
||||
Beschreibung des aktuellen Rollen- und Seitenrechtesystems
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Lokaler PHP-Webserver
|
||||
|
||||
Diese Anleitung enthaelt die lokalen Startbefehle fuer mehrere Rechner.
|
||||
Diese Anleitung enthält die lokalen Startbefehle für mehrere Rechner.
|
||||
|
||||
## ARBEITSPLATZTM
|
||||
|
||||
@@ -80,4 +80,4 @@ Ctrl + C
|
||||
|
||||
## Hinweis
|
||||
|
||||
Der Webserver nutzt den eingebauten PHP-Entwicklungsserver und ist fuer lokale Entwicklung gedacht.
|
||||
Der Webserver nutzt den eingebauten PHP-Entwicklungsserver und ist für lokale Entwicklung gedacht.
|
||||
|
||||
+32
-20
@@ -1,6 +1,6 @@
|
||||
# Projektueberblick
|
||||
# Projektüberblick
|
||||
|
||||
Diese Datei beschreibt die Website grundsaetzlich: Worum es geht, welche Bereiche es gibt und wie die wichtigsten Bausteine zusammenspielen.
|
||||
Diese Datei beschreibt die Website grundsätzlich: Worum es geht, welche Bereiche es gibt und wie die wichtigsten Bausteine zusammenspielen.
|
||||
|
||||
## Zweck der Website
|
||||
|
||||
@@ -8,16 +8,16 @@ Diese Datei beschreibt die Website grundsaetzlich: Worum es geht, welche Bereich
|
||||
|
||||
Die Seite verbindet:
|
||||
|
||||
- oeffentliche Astronomie-Werkzeuge
|
||||
- persoenliche Benutzerfunktionen
|
||||
- Import- und Auswerteprozesse fuer astronomische Daten
|
||||
- Telegram-Anbindung fuer Benachrichtigungen und Tests
|
||||
- öffentliche Astronomie-Werkzeuge
|
||||
- persönliche Benutzerfunktionen
|
||||
- Import- und Auswerteprozesse für astronomische Daten
|
||||
- Telegram-Anbindung für Benachrichtigungen und Tests
|
||||
|
||||
## Hauptbereiche
|
||||
|
||||
Die Website besteht im Kern aus vier Bereichen.
|
||||
|
||||
## 1. Oeffentliche Astronomie-Seiten
|
||||
## 1. Öffentliche Astronomie-Seiten
|
||||
|
||||
Unter [`public/`](../public) liegen die eigentlichen Seiten der Website.
|
||||
|
||||
@@ -26,7 +26,7 @@ Typische Inhalte sind:
|
||||
- Mond und Mondphasen
|
||||
- Planetensichtbarkeit
|
||||
- Sternenhimmel
|
||||
- Meteorstroeme
|
||||
- Meteorströme
|
||||
- Finsternisse und Bedeckungen
|
||||
- Geocron und Geocron 3D
|
||||
- Vorhersage-Seiten wie Monats- und Wochenvorhersage
|
||||
@@ -48,7 +48,7 @@ Wichtige Konto-Seiten:
|
||||
- [`public/settings.php`](../public/settings.php)
|
||||
- [`public/my_favorites.php`](../public/my_favorites.php)
|
||||
|
||||
Benutzer koennen dort unter anderem:
|
||||
Benutzer können dort unter anderem:
|
||||
|
||||
- ihr Konto verwalten
|
||||
- Telegram verbinden
|
||||
@@ -67,9 +67,9 @@ Aktuell gibt es:
|
||||
|
||||
Wichtig:
|
||||
|
||||
- `admin` und `master` haben Vollzugriff auf die geschuetzten Seiten
|
||||
- `admin` und `master` haben Vollzugriff auf die geschützten Seiten
|
||||
- normale Benutzer erhalten gezielte Seitenfreigaben
|
||||
- das Header-Menue passt sich an die Seitenrechte an
|
||||
- das Header-Menü passt sich an die Seitenrechte an
|
||||
|
||||
Die Details dazu stehen in:
|
||||
|
||||
@@ -87,17 +87,17 @@ Wichtige Skripte liegen unter:
|
||||
Beispiele:
|
||||
|
||||
- [`scripts/import/import_tcrb.php`](../scripts/import/import_tcrb.php)
|
||||
Importiert AAVSO-WebObs-Daten fuer T CrB
|
||||
Importiert AAVSO-WebObs-Daten für T CrB
|
||||
- [`scripts/import/import_celestrak_active.php`](../scripts/import/import_celestrak_active.php)
|
||||
Importiert Satellitendaten
|
||||
- [`scripts/telegram/telegram_cron.php`](../scripts/telegram/telegram_cron.php)
|
||||
Fuehrt Telegram-Aufgaben zeitgesteuert aus
|
||||
Führt Telegram-Aufgaben zeitgesteuert aus
|
||||
|
||||
## T CrB
|
||||
|
||||
Ein aktueller Spezialbereich ist `T CrB`.
|
||||
|
||||
Dazu gehoeren:
|
||||
Dazu gehören:
|
||||
|
||||
- Import der AAVSO-Daten
|
||||
- Speicherung in der Datenbank
|
||||
@@ -114,10 +114,10 @@ Wichtige Dateien:
|
||||
|
||||
Die Website besitzt eine Telegram-Anbindung.
|
||||
|
||||
Damit koennen Benutzer:
|
||||
Damit können Benutzer:
|
||||
|
||||
- ihr Konto mit Telegram verknuepfen
|
||||
- spaeter Nachrichten oder Diagramme erhalten
|
||||
- ihr Konto mit Telegram verknüpfen
|
||||
- später Nachrichten oder Diagramme erhalten
|
||||
|
||||
Wichtige Bausteine:
|
||||
|
||||
@@ -134,7 +134,7 @@ Vereinfacht sieht der Ablauf so aus:
|
||||
1. Import-Skripte holen astronomische Daten aus externen Quellen
|
||||
2. Die Daten werden in der Datenbank gespeichert
|
||||
3. Seiten unter `public/` lesen diese Daten aus und stellen sie dar
|
||||
4. Cron-Skripte koennen daraus Telegram-Nachrichten oder andere Folgeaktionen erzeugen
|
||||
4. Cron-Skripte können daraus Telegram-Nachrichten oder andere Folgeaktionen erzeugen
|
||||
|
||||
## Technischer Aufbau
|
||||
|
||||
@@ -151,16 +151,28 @@ Wichtige Verzeichnisse:
|
||||
- [`docs/`](.)
|
||||
Projektdokumentation
|
||||
|
||||
## Fuer neue Arbeit an der Seite wichtig
|
||||
## Für neue Arbeit an der Seite wichtig
|
||||
|
||||
Wenn neue Funktionen dazukommen, sollte man immer an diese Punkte denken:
|
||||
|
||||
- braucht die Seite einen Eintrag im Rechtesystem
|
||||
- soll sie im Header-Menue erscheinen
|
||||
- soll sie im Header-Menü erscheinen
|
||||
- braucht sie Datenimport oder Cron
|
||||
- braucht sie Telegram-Anbindung
|
||||
- braucht sie Dokumentation in `docs`
|
||||
|
||||
## Schreibweise
|
||||
|
||||
Für deutsche Ausgabetexte in UI, Meldungen, Dialogen und Dokumentation sollen normale Umlaute und `ß` verwendet werden.
|
||||
|
||||
Für technische Bezeichner soll das nicht automatisch gelten, insbesondere bei:
|
||||
|
||||
- Dateinamen
|
||||
- URLs und Pfaden
|
||||
- Funktionsnamen
|
||||
- Variablennamen
|
||||
- Datenbankspalten, Keys und anderen Schnittstellen
|
||||
|
||||
## Passende Zusatzdokumente
|
||||
|
||||
- [`docs/README_LOCAL_WEBSERVER.md`](README_LOCAL_WEBSERVER.md)
|
||||
|
||||
+34
-34
@@ -1,22 +1,22 @@
|
||||
# Rechtesystem
|
||||
|
||||
Diese Anleitung beschreibt das aktuelle Rechtesystem fuer die Seiten unter `public/`.
|
||||
Diese Anleitung beschreibt das aktuelle Rechtesystem für die Seiten unter `public/`.
|
||||
|
||||
## Grundidee
|
||||
|
||||
Aktuell gilt:
|
||||
|
||||
- `admin` und `master` haben Vollzugriff auf alle Seiten unter `public/`
|
||||
- normale Benutzer sehen standardmaessig keine geschuetzten Seiten
|
||||
- einzelne Seiten koennen pro Benutzer durch einen `master` freigegeben werden
|
||||
- das Header-Menue passt sich an die hinterlegten Seitenrechte an
|
||||
- normale Benutzer sehen standardmäßig keine geschützten Seiten
|
||||
- einzelne Seiten können pro Benutzer durch einen `master` freigegeben werden
|
||||
- das Header-Menü passt sich an die hinterlegten Seitenrechte an
|
||||
|
||||
## Rollen
|
||||
|
||||
Es gibt zurzeit diese Rollen:
|
||||
|
||||
- `user`
|
||||
Normale Benutzerrolle ohne automatischen Zugriff auf die geschuetzten Seiten
|
||||
Normale Benutzerrolle ohne automatischen Zugriff auf die geschützten Seiten
|
||||
- `admin`
|
||||
Vollzugriff auf alle Seiten unter `public/`
|
||||
- `master`
|
||||
@@ -29,15 +29,15 @@ Die Rollen-Helfer liegen in [`public/auth_helpers.php`](../public/auth_helpers.p
|
||||
Die zentrale Rechtebasis besteht aus drei Bausteinen:
|
||||
|
||||
- [`public/auth_helpers.php`](../public/auth_helpers.php)
|
||||
Enthaelt Rollen-Helfer, Allowlist und die Liste der freigebbaren Seiten
|
||||
Enthält Rollen-Helfer, Allowlist und die Liste der freigebbaren Seiten
|
||||
- [`public/header.php`](../public/header.php)
|
||||
Prueft beim Aufruf einer Seite den Zugriff und baut das Menue passend zu den Rechten
|
||||
Prüft beim Aufruf einer Seite den Zugriff und baut das Menü passend zu den Rechten
|
||||
- [`public/admin_users.php`](../public/admin_users.php)
|
||||
Enthaelt die Benutzerverwaltung und die Seitenmatrix fuer `master`
|
||||
Enthält die Benutzerverwaltung und die Seitenmatrix für `master`
|
||||
|
||||
## Datenbank
|
||||
|
||||
Fuer die Seitenfreigaben wird diese Tabelle verwendet:
|
||||
Für die Seitenfreigaben wird diese Tabelle verwendet:
|
||||
|
||||
- `app_user_page_permissions`
|
||||
|
||||
@@ -54,10 +54,10 @@ Wichtige Spalten:
|
||||
|
||||
Wichtig:
|
||||
|
||||
- Nicht nur der Dateiname zaehlt.
|
||||
- Nicht nur der Dateiname zählt.
|
||||
- Unterordner-Seiten werden mit vollem relativen Pfad gespeichert.
|
||||
|
||||
## Oeffentliche Ausnahmen
|
||||
## Öffentliche Ausnahmen
|
||||
|
||||
Einige Seiten bleiben ohne Seitenfreigabe erreichbar. Diese stehen in der Allowlist in [`public/auth_helpers.php`](../public/auth_helpers.php):
|
||||
|
||||
@@ -65,37 +65,37 @@ Einige Seiten bleiben ohne Seitenfreigabe erreichbar. Diese stehen in der Allowl
|
||||
- `register.php`
|
||||
- `logout.php`
|
||||
|
||||
## Wie der Zugriff geprueft wird
|
||||
## Wie der Zugriff geprüft wird
|
||||
|
||||
Beim Laden einer Seite mit gemeinsamem Header passiert Folgendes:
|
||||
|
||||
1. `header.php` ermittelt den aktuellen `page_key`
|
||||
2. Wenn der Benutzer `admin` oder `master` ist, ist der Zugriff erlaubt
|
||||
3. Wenn die Seite in der Allowlist steht, ist der Zugriff erlaubt
|
||||
4. Sonst wird in `app_user_page_permissions` geprueft, ob der Benutzer genau diese Seite sehen darf
|
||||
4. Sonst wird in `app_user_page_permissions` geprüft, ob der Benutzer genau diese Seite sehen darf
|
||||
5. Wenn nein, kommt `403 Zugriff verweigert`
|
||||
|
||||
Wichtig:
|
||||
|
||||
- Eine einzelne Seitenfreigabe macht den Benutzer nicht zu `admin`
|
||||
- dadurch bleibt das Menue auf seine wirklich erlaubten Seiten beschraenkt
|
||||
- dadurch bleibt das Menü auf seine wirklich erlaubten Seiten beschränkt
|
||||
|
||||
## Wie das Menue funktioniert
|
||||
## Wie das Menü funktioniert
|
||||
|
||||
Das Header-Menue wird ebenfalls in [`public/header.php`](../public/header.php) aufgebaut.
|
||||
Das Header-Menü wird ebenfalls in [`public/header.php`](../public/header.php) aufgebaut.
|
||||
|
||||
Dabei gilt:
|
||||
|
||||
- ausgeloggte Besucher sehen nur `Anmelden` und `Registrieren`
|
||||
- `admin` und `master` sehen das volle Menue
|
||||
- normale Benutzer sehen nur die Menuepunkte, deren `href` in ihren Seitenfreigaben vorhanden ist
|
||||
- auch der Kontobereich unten im Menue wird entsprechend gefiltert
|
||||
- `admin` und `master` sehen das volle Menü
|
||||
- normale Benutzer sehen nur die Menüpunkte, deren `href` in ihren Seitenfreigaben vorhanden ist
|
||||
- auch der Kontobereich unten im Menü wird entsprechend gefiltert
|
||||
|
||||
Damit das funktioniert, muessen Menuelink und `page_key` exakt zusammenpassen.
|
||||
Damit das funktioniert, müssen Menülink und `page_key` exakt zusammenpassen.
|
||||
|
||||
Beispiel:
|
||||
|
||||
- Menuelink: `geocron/index.php`
|
||||
- Menülink: `geocron/index.php`
|
||||
- Datenbankeintrag: `geocron/index.php`
|
||||
|
||||
## Wie ein Master Seiten freigibt
|
||||
@@ -105,8 +105,8 @@ Die Freigaben werden in [`public/admin_users.php`](../public/admin_users.php) ve
|
||||
Ablauf:
|
||||
|
||||
1. Als `master` anmelden
|
||||
2. `Benutzerverwaltung` oeffnen
|
||||
3. Im Bereich `Seitenfreigaben` den gewuenschten Benutzer waehlen
|
||||
2. `Benutzerverwaltung` öffnen
|
||||
3. Im Bereich `Seitenfreigaben` den gewünschten Benutzer wählen
|
||||
4. Haken bei den erlaubten Seiten setzen
|
||||
5. Speichern
|
||||
|
||||
@@ -121,20 +121,20 @@ Die Liste der freigebaren Seiten steht zentral in [`public/auth_helpers.php`](..
|
||||
|
||||
- `manageablePublicPages()`
|
||||
|
||||
Nur Seiten, die dort eingetragen sind, koennen:
|
||||
Nur Seiten, die dort eingetragen sind, können:
|
||||
|
||||
- in der Matrix erscheinen
|
||||
- einzeln fuer Benutzer freigegeben werden
|
||||
- sauber im Menue gefiltert werden
|
||||
- einzeln für Benutzer freigegeben werden
|
||||
- sauber im Menü gefiltert werden
|
||||
|
||||
## Neue Seite ins Rechtesystem aufnehmen
|
||||
|
||||
Wenn eine neue Seite unter `public/` dazukommt, sind in der Regel diese Schritte noetig:
|
||||
Wenn eine neue Seite unter `public/` dazukommt, sind in der Regel diese Schritte nötig:
|
||||
|
||||
1. Seite anlegen
|
||||
2. Seite so bauen, dass sie den gemeinsamen Header nutzt
|
||||
3. In `manageablePublicPages()` eintragen
|
||||
4. Falls noetig als Menuepunkt in [`public/header.php`](../public/header.php) eintragen
|
||||
4. Falls nötig als Menüpunkt in [`public/header.php`](../public/header.php) eintragen
|
||||
5. Darauf achten, dass `href` und `page_key` exakt gleich sind
|
||||
|
||||
Beispiel:
|
||||
@@ -143,13 +143,13 @@ Beispiel:
|
||||
'beispielseite.php' => 'Beispielseite',
|
||||
```
|
||||
|
||||
Oder fuer Unterordner:
|
||||
Oder für Unterordner:
|
||||
|
||||
```php
|
||||
'tools/beispiel.php' => 'Beispielseite',
|
||||
```
|
||||
|
||||
## Wichtige Regel fuer Unterordner
|
||||
## Wichtige Regel für Unterordner
|
||||
|
||||
Bei Unterordnern niemals nur `index.php` verwenden.
|
||||
|
||||
@@ -161,13 +161,13 @@ Falsch:
|
||||
|
||||
- `index.php`
|
||||
|
||||
Die Seitenerkennung dafuer macht `currentPublicPageKey()` in [`public/auth_helpers.php`](../public/auth_helpers.php).
|
||||
Die Seitenerkennung dafür macht `currentPublicPageKey()` in [`public/auth_helpers.php`](../public/auth_helpers.php).
|
||||
|
||||
## Aktueller Stand
|
||||
|
||||
Der aktuelle Zustand ist bewusst streng:
|
||||
|
||||
- standardmaessig nur `admin` oder `master`
|
||||
- normale Benutzer nur ueber explizite Seitenfreigaben
|
||||
- standardmäßig nur `admin` oder `master`
|
||||
- normale Benutzer nur über explizite Seitenfreigaben
|
||||
|
||||
Spaeter kann entschieden werden, welche Seiten wieder standardmaessig fuer normale Benutzer sichtbar sein sollen.
|
||||
Später kann entschieden werden, welche Seiten wieder standardmäßig für normale Benutzer sichtbar sein sollen.
|
||||
|
||||
Reference in New Issue
Block a user