# WikiDirectory
Hybrid Web-Verzeichnis & Wiki-System für Europa mit vollständiger Moderation.
## Features
**Hybrid-System:**
- 🔗 Web-Verzeichnis (DMOZ-Style) – Kategorien + Website-Links
- 📄 Wiki-Artikel (Wikipedia-Style) – Artikel mit Text
- 📂 Hierarchische Kategorien
- 🏷️ Tags/Schlagworte
**Moderation:**
- Jeder kann Einträge vorschlagen (auch ohne Login)
- Admin genehmigt vor Veröffentlichung
- Kommentare werden moderiert
- Revisions-Historie (geplant)
**Community:**
- 👍👎 Voting-System
- 💬 Kommentare
- 📊 View-Counter
- 🌍 Länder-Filter (Europa)
**Weitere Features:**
- 🔍 Suche & Filter
- 📰 RSS Feed
- 🎯 SQLite-Datenbank
- 📱 Mobile-optimiert
## Installation
### 1. Dateien hochladen
Alle Dateien auf den Webserver.
### 2. Fertig!
SQLite-Datenbank wird beim ersten Aufruf automatisch erstellt.
### 3. Login
```
URL: https://deine-domain.de/wikidirectory/
Admin-Login: admin / admin123
```
**WICHTIG:** Admin-Passwort nach erstem Login ändern!
## Verwendung
### Besucher (Nicht eingeloggt)
- Einträge durchsuchen
- Einträge vorschlagen (werden moderiert)
- Kommentare schreiben (werden moderiert)
- Voten (👍👎)
### Registrierte User
- Alles wie Besucher
- Username wird gespeichert
### Admin/Moderator
- Einträge freigeben/ablehnen
- Kommentare freigeben/löschen
- Kategorien verwalten
- Einträge sofort veröffentlichen (ohne Moderation)
## Datei-Struktur
```
wikidirectory/
├── init.php # SQLite Setup + Helper-Funktionen
├── config.php # Konfiguration
├── index.php # Hauptseite (Liste)
├── entry.php # Entry-Detail
├── submit.php # Eintrag erstellen
├── admin.php # Admin-Panel (Moderation)
├── login.php # Login
├── register.php # Registrierung
├── logout.php # Logout
├── rss.php # RSS Feed
├── wikidirectory.db # SQLite DB (auto-erstellt)
└── README.md
```
## Datenbank-Schema
**users** – Benutzer (user, moderator, admin)
**categories** – Kategorien (hierarchisch)
**entries** – Einträge (Links + Artikel)
**tags** – Schlagworte
**entry_tags** – Verknüpfung Entries <-> Tags
**votes** – Voting (IP-basiert)
**comments** – Kommentare
**revisions** – Änderungs-Historie (geplant)
## Moderation-Workflow
1. User erstellt Eintrag → Status: `pending`
2. Admin sieht in Admin-Panel
3. Admin genehmigt → Status: `approved` → Sichtbar
4. Admin lehnt ab → Status: `rejected` → Nicht sichtbar
Gleiches für Kommentare.
## Kategorien
Standard-Kategorien:
- 🇩🇪 Deutschland
- 💻 Webentwicklung
- 🛒 E-Commerce
- 📰 Nachrichten
- 🇦🇹 Österreich
- 🇨🇭 Schweiz
- ⚙️ Tech & Software
- 📚 Bildung
- ✈️ Reisen
Können über Admin-Panel erweitert werden.
## Europa-Länder
24 Länder vorkonfiguriert:
DE, AT, CH, LI, LU, BE, NL, FR, IT, ES, PT, PL, CZ, SK, HU, RO, BG, HR, SI, GR, SE, DK, NO, FI
## Features (Geplant)
- [ ] Revisions-Historie anzeigen
- [ ] Kategorie-Verwaltung im Admin
- [ ] User-Profile
- [ ] Erweiterte Suche
- [ ] Markdown-Support für Artikel
- [ ] Bilder-Upload
- [ ] Mehrsprachigkeit
## Sicherheit
✓ Password Hashing (bcrypt)
✓ SQL Injection Prevention (Prepared Statements)
✓ XSS Protection (htmlspecialchars)
✓ CSRF-Protection (Session-based)
✓ Moderation-System
✓ IP-basiertes Voting (1x pro IP pro Entry)
## Performance
- SQLite (keine MySQL nötig)
- Indexes auf wichtigen Feldern
- Lazy Loading möglich
- Caching-ready
## Lizenz
Privates Projekt – alle Rechte vorbehalten.