From fe3e34616b580683f6b1897854f1457563f65e16 Mon Sep 17 00:00:00 2001 From: ManfredAabye Date: Sun, 19 Oct 2025 11:15:38 +0200 Subject: [PATCH] todo --- IMPROVEMENT_PLAN.md | 345 ++++++++++++++++++ data_info/robust.sql | 840 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1185 insertions(+) create mode 100644 IMPROVEMENT_PLAN.md create mode 100644 data_info/robust.sql diff --git a/IMPROVEMENT_PLAN.md b/IMPROVEMENT_PLAN.md new file mode 100644 index 0000000..e4cf2a8 --- /dev/null +++ b/IMPROVEMENT_PLAN.md @@ -0,0 +1,345 @@ +# OpenSim Webinterface - Datenbank-basierter Verbesserungsplan 2025 + +## � **Datenbankanalyse: Was vorhanden ist vs. was genutzt wird** + +### **✅ Vorhandene Datenstrukturen (stark untergenutzt):** + +#### **🏆 Vollständige Features bereit für Implementation:** + +- **`classifieds`** - Klassifizierte Anzeigen komplett implementiert ✅ +- **`userpicks`** - Benutzer-Favoriten/Orte komplett da ✅ +- **`userprofile`** - Detaillierte Profile mit Partner, Skills, etc. ✅ +- **`usernotes`** - Notizen zwischen Benutzern ✅ +- **`usersettings`** - E-Mail-Präferenzen und Sichtbarkeit ✅ +- **`Friends`** - Vollständiges Freundessystem ✅ +- **`MuteList`** - Ignore/Mute-Funktionalität ✅ +- **`os_groups_*`** - Komplettes Gruppensystem (8 Tabellen!) ✅ +- **`transactions`** + **`balances`** - Vollständiges Wirtschaftssystem ✅ +- **`im_offline`** - Offline-Nachrichten System ✅ + +#### **💰 Economy-System (vollständig vorhanden):** + +- **`balances`** - Benutzer-Guthaben +- **`transactions`** - Alle Transaktionen mit Details +- **`totalsales`** - Verkaufsstatistiken +- **`userinfo`** - Zusätzliche Wirtschaftsinfo + +## 🚀 **Prioritäre Erweiterungen - Datenbank-orientiert** + +### **Phase 1: Ungenutztes Potenzial aktivieren (SOFORT)** + +#### 1. **Klassifizierte Anzeigen aktivieren** + +**Tabelle:** `classifieds` (komplett vorhanden!) + +```php +// classifieds.php - NEU ERSTELLEN +- Liste aller Anzeigen nach Kategorie +- Detail-Ansicht mit Karte/Teleport +- Eigene Anzeigen verwalten +- Suchfunktion nach Region/Kategorie +``` + +#### 2. **Benutzer-Favoriten (Picks) implementieren** + +**Tabelle:** `userpicks` (komplett vorhanden!) + +```php +// picks.php - NEU ERSTELLEN +- Favoriten-Orte anzeigen +- Neue Picks hinzufügen +- Top-Picks highlighten +- Öffentliche Picks durchsuchen +``` + +#### 3. **Vollständige Profile aktivieren** + +**Tabelle:** `userprofile` (komplett vorhanden!) + +```php +// profile.php - ERWEITERN +- Partner-System +- Skills und Interessen +- Sprachen und About-Text +- Erste und zweite Life-Tabs +- Profilbilder-Management +``` + +#### 4. **Freundessystem implementieren** + +**Tabelle:** `Friends` (komplett vorhanden!) + +```php +// friends.php - NEU ERSTELLEN +- Freundesliste anzeigen +- Freundschaftsanfragen senden/akzeptieren +- Online-Status der Freunde +- Freunde-Management +``` + +#### 5. **Gruppensystem aktivieren** + +**Tabellen:** `os_groups_*` (8 Tabellen - komplett!) + +```php +// groups.php - NEU ERSTELLEN +- Gruppensuche und -beitritt +- Gruppenmitgliedschaft verwalten +- Gruppennachrichten (Notices) +- Rollen und Berechtigungen +- Gruppeninvites +``` + +#### 6. **Economy-Dashboard implementieren** + +**Tabellen:** `transactions`, `balances`, `totalsales` + +```php +// economy.php - NEU ERSTELLEN +- Kontostand anzeigen +- Transaktionshistorie +- Verkaufsstatistiken +- Geld senden/empfangen +``` + +### **Phase 2: Erweiterte Features auf Datenbasis** + +#### 1. **Offline-Nachrichten System** + +**Tabelle:** `im_offline` (vorhanden!) + +```php +// messages.php - ERWEITERN +- Offline-Nachrichten anzeigen +- Nachrichten senden wenn User offline +- Nachrichten-Archiv +- Benachrichtigungen +``` + +#### 2. **Region-Management Dashboard** + +**Tabelle:** `regions` (vorhanden!) + +```php +// regions.php - NEU ERSTELLEN +- Alle Regionen anzeigen +- Region-Details und Status +- Owner-Verwaltung +- Performance-Statistiken +``` + +#### 3. **Asset-Management System** + +**Tabelle:** `assets` (vorhanden!) + +```php +// assets.php - NEU ERSTELLEN +- Asset-Browser +- Upload-Management +- Asset-Statistiken +- Inventory-Verwaltung +``` + +### **Phase 3: Admin & Analytics** + +#### 1. **User-Management Dashboard** + +**Tabellen:** `UserAccounts`, `auth`, `GridUser` + +```php +// admin/users.php - NEU ERSTELLEN +- Alle Benutzer verwalten +- Online-Status überwachen +- Account-Aktivierung +- Benutzerstatistiken +``` + +#### 2. **Advanced Analytics** + +**Alle verfügbaren Tabellen nutzen:** + +```php +// analytics.php - NEU ERSTELLEN +- Grid-Aktivitätsstatistiken +- Wirtschaftsanalysen +- Benutzer-Engagement +- Region-Performance +``` + +## 🎯 **Sofort umsetzbare Verbesserungen (diese Woche)** + +### **1. Klassifizierte Anzeigen (classifieds.php)** + +**ROI: Hoch** - Tabelle ist komplett da, nur Frontend fehlt! + +### **2. Benutzer-Picks (picks.php)** + +**ROI: Hoch** - Vollständig implementierbare Orte-Favoriten + +### **3. Vollständige Profile (erweiterte profile.php)** + +**ROI: Mittel** - Nutzt vorhandene umfangreiche Profildaten + +### **4. Freundessystem (friends.php)** + +**ROI: Hoch** - Soziale Features stark nachgefragt + +## 💡 **Der Schlüssel: Ihre Datenbank ist ein Goldschatz!** + +**Sie haben bereits 95% der Backend-Logik - es fehlen nur die Webinterfaces!** + +❌ **Aktuell ungenutzt:** + +- Klassifizierte Anzeigen (komplette Infrastruktur) +- Benutzer-Favoriten (Picks) +- Erweiterte Profile mit Partner-System +- Vollständiges Freundessystem +- Komplettes Gruppensystem (8 Tabellen!) +- Economy-Dashboard +- Offline-Nachrichten +- Asset-Management + +✅ **Mit minimalem Aufwand aktivierbar:** +Jede dieser Features benötigt nur PHP-Frontend-Code - die Datenstrukturen sind perfekt! + +## 🚀 **Empfohlene Implementierungs-Reihenfolge** + +### **Woche 1-2: Quick Wins** + +1. `classifieds.php` - Klassifizierte Anzeigen +2. `picks.php` - Benutzer-Favoriten +3. Profile erweitern + +### **Woche 3-4: Soziale Features** + +1. `friends.php` - Freundessystem +2. `groups.php` - Gruppenverwaltung +3. `messages.php` erweitern + +### **Monat 2: Economy & Management** + +1. `economy.php` - Wirtschafts-Dashboard +2. `regions.php` - Region-Management +3. `admin/users.php` - User-Verwaltung + +**Das wird Ihr Interface von "basic" zu "professional enterprise-level" upgraden!** + +- Advanced Rate-Limiting per Feature + +#### 3. **Backup & Recovery** + +- Automatische Datenbank-Backups +- Configuration-Backup System +- Disaster-Recovery Procedures + +### **Phase 3: Performance & Skalierung (Mittel)** + +#### 1. **Caching-System** + +```php +// include/cache.php +class OSWebCache { + public static function get($key); + public static function set($key, $value, $ttl = 3600); + public static function delete($key); + public static function flush(); +} +``` + +#### 2. **Database-Optimierung** + +- Query-Optimierung mit Indizes +- Connection-Pooling +- Read/Write-Splitting +- Database-Monitoring + +#### 3. **API-Integration** + +- REST-API für externe Anwendungen +- Webhook-System für Events +- Third-Party Integration (Discord, Slack) + +### **Phase 4: Benutzerfreundlichkeit (Mittel)** + +#### 1. **Enhanced UI/UX** + +- Real-time Notifications (WebSocket) +- Progressive Web App (PWA) Features +- Dark/Light Mode Toggle +- Accessibility (ARIA, Screen Reader) + +#### 2. **Multi-Language Support** + +```php +// include/i18n.php +class Internationalization { + public static function loadLanguage($lang); + public static function translate($key, $params = []); + public static function getAvailableLanguages(); +} +``` + +#### 3. **Advanced Analytics** + +- User-Behavior Tracking +- Performance Metrics +- Grid-Health Monitoring +- Custom Dashboards + +### **Phase 5: Integration & Erweiterungen (Niedrig)** + +#### 1. **External Services** + +- Payment-Gateway Integration +- Social Media Login (OAuth) +- Email-Newsletter System +- Help-Desk/Ticket-System + +#### 2. **Mobile App Support** + +- Mobile-API Endpoints +- Push-Notifications +- Offline-Funktionalität +- App-Integration + +## 🛠️ **Implementierungs-Reihenfolge** + +### **Sofort (Woche 1-2):** + +1. `gridsearch.php` erstellen (wird in Robust.ini referenziert) +2. Places-Suche in `searchservicemanni.php` vervollständigen +3. Basic Admin-Dashboard implementieren + +### **Kurzfristig (Monat 1):** + +1. 2FA-System implementieren +2. Erweiterte Benutzer-Profile +3. Audit-Logging System + +### **Mittelfristig (Monat 2-3):** + +1. Caching-System implementieren +2. Performance-Optimierungen +3. API-Entwicklung + +### **Langfristig (Monat 4-6):** + +1. Multi-Language Support +2. Advanced Analytics +3. External Service Integration + +## 📋 **Nächste Schritte** + +1. **Prioritäten festlegen** - Welche Features sind für Ihr Grid am wichtigsten? +2. **Entwicklungsplan erstellen** - Timeline und Ressourcen definieren +3. **Testing-Umgebung** einrichten +4. **Kontinuierliche Integration** für Updates + +## 💡 **Empfohlene Sofort-Maßnahmen** + +1. **Erstellen Sie die fehlende `gridsearch.php`** +2. **Implementieren Sie ein Admin-Dashboard** +3. **Erweitern Sie die Suchfunktionen** +4. **Fügen Sie Audit-Logging hinzu** + +Das Interface hat bereits eine sehr solide Basis - mit diesen Erweiterungen wird es zu einer professionellen, vollständigen OpenSim-Management-Lösung! diff --git a/data_info/robust.sql b/data_info/robust.sql new file mode 100644 index 0000000..41a46d6 --- /dev/null +++ b/data_info/robust.sql @@ -0,0 +1,840 @@ +-- phpMyAdmin SQL Dump +-- version 5.1.1deb5ubuntu1 +-- https://www.phpmyadmin.net/ +-- +-- Host: localhost:3306 +-- Erstellungszeit: 19. Okt 2025 um 11:02 +-- Server-Version: 10.6.22-MariaDB-0ubuntu0.22.04.1 +-- PHP-Version: 8.1.2-1ubuntu2.22 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Datenbank: `robust` +-- + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `AgentPrefs` +-- + +CREATE TABLE `AgentPrefs` ( + `PrincipalID` char(36) NOT NULL, + `AccessPrefs` char(2) NOT NULL DEFAULT 'M', + `HoverHeight` double(30,27) NOT NULL DEFAULT 0.000000000000000000000000000, + `Language` char(5) NOT NULL DEFAULT 'en-us', + `LanguageIsPublic` tinyint(1) NOT NULL DEFAULT 1, + `PermEveryone` int(6) NOT NULL DEFAULT 0, + `PermGroup` int(6) NOT NULL DEFAULT 0, + `PermNextOwner` int(6) NOT NULL DEFAULT 532480 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `assets` +-- + +CREATE TABLE `assets` ( + `name` varchar(64) NOT NULL, + `description` varchar(64) NOT NULL, + `assetType` tinyint(4) NOT NULL, + `local` tinyint(1) NOT NULL, + `temporary` tinyint(1) NOT NULL, + `data` longblob NOT NULL, + `id` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `create_time` int(11) DEFAULT 0, + `access_time` int(11) DEFAULT 0, + `asset_flags` int(11) NOT NULL DEFAULT 0, + `CreatorID` varchar(128) NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `auth` +-- + +CREATE TABLE `auth` ( + `UUID` char(36) NOT NULL, + `passwordHash` char(32) NOT NULL DEFAULT '', + `passwordSalt` char(32) NOT NULL DEFAULT '', + `webLoginKey` varchar(255) NOT NULL DEFAULT '', + `accountType` varchar(32) NOT NULL DEFAULT 'UserAccount' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `Avatars` +-- + +CREATE TABLE `Avatars` ( + `PrincipalID` char(36) NOT NULL, + `Name` varchar(32) NOT NULL, + `Value` text DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `balances` +-- + +CREATE TABLE `balances` ( + `user` varchar(36) NOT NULL, + `balance` int(10) NOT NULL, + `status` tinyint(2) DEFAULT NULL, + `type` tinyint(2) NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='Rev.4'; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `classifieds` +-- + +CREATE TABLE `classifieds` ( + `classifieduuid` char(36) NOT NULL, + `creatoruuid` char(36) NOT NULL, + `creationdate` int(20) NOT NULL, + `expirationdate` int(20) NOT NULL, + `category` varchar(20) NOT NULL, + `name` varchar(255) NOT NULL, + `description` text NOT NULL, + `parceluuid` char(36) NOT NULL, + `parentestate` int(11) NOT NULL, + `snapshotuuid` char(36) NOT NULL, + `simname` varchar(255) NOT NULL, + `posglobal` varchar(255) NOT NULL, + `parcelname` varchar(255) NOT NULL, + `classifiedflags` int(8) NOT NULL, + `priceforlisting` int(5) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `Friends` +-- + +CREATE TABLE `Friends` ( + `PrincipalID` varchar(255) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `Friend` varchar(255) NOT NULL, + `Flags` varchar(16) NOT NULL DEFAULT '0', + `Offered` varchar(32) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `GridUser` +-- + +CREATE TABLE `GridUser` ( + `UserID` varchar(255) NOT NULL, + `HomeRegionID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `HomePosition` char(64) NOT NULL DEFAULT '<0,0,0>', + `HomeLookAt` char(64) NOT NULL DEFAULT '<0,0,0>', + `LastRegionID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `LastPosition` char(64) NOT NULL DEFAULT '<0,0,0>', + `LastLookAt` char(64) NOT NULL DEFAULT '<0,0,0>', + `Online` char(5) NOT NULL DEFAULT 'false', + `Login` char(16) NOT NULL DEFAULT '0', + `Logout` char(16) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `hg_traveling_data` +-- + +CREATE TABLE `hg_traveling_data` ( + `SessionID` varchar(36) NOT NULL, + `UserID` varchar(36) NOT NULL, + `GridExternalName` varchar(255) NOT NULL DEFAULT '', + `ServiceToken` varchar(255) NOT NULL DEFAULT '', + `ClientIPAddress` varchar(16) NOT NULL DEFAULT '', + `MyIPAddress` varchar(16) NOT NULL DEFAULT '', + `TMStamp` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `im_offline` +-- + +CREATE TABLE `im_offline` ( + `ID` mediumint(9) NOT NULL, + `PrincipalID` char(36) NOT NULL DEFAULT '', + `FromID` char(36) NOT NULL DEFAULT '', + `Message` text NOT NULL, + `TMStamp` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `inventoryfolders` +-- + +CREATE TABLE `inventoryfolders` ( + `folderName` varchar(64) DEFAULT NULL, + `type` smallint(6) NOT NULL DEFAULT 0, + `version` int(11) NOT NULL DEFAULT 0, + `folderID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `agentID` char(36) DEFAULT NULL, + `parentFolderID` char(36) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `inventoryitems` +-- + +CREATE TABLE `inventoryitems` ( + `assetID` varchar(36) DEFAULT NULL, + `assetType` int(11) DEFAULT NULL, + `inventoryName` varchar(64) DEFAULT NULL, + `inventoryDescription` varchar(128) DEFAULT NULL, + `inventoryNextPermissions` int(10) UNSIGNED DEFAULT NULL, + `inventoryCurrentPermissions` int(10) UNSIGNED DEFAULT NULL, + `invType` int(11) DEFAULT NULL, + `creatorID` varchar(255) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `inventoryBasePermissions` int(10) UNSIGNED NOT NULL DEFAULT 0, + `inventoryEveryOnePermissions` int(10) UNSIGNED NOT NULL DEFAULT 0, + `salePrice` int(11) NOT NULL DEFAULT 0, + `saleType` tinyint(4) NOT NULL DEFAULT 0, + `creationDate` int(11) NOT NULL DEFAULT 0, + `groupID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `groupOwned` tinyint(4) NOT NULL DEFAULT 0, + `flags` int(11) UNSIGNED NOT NULL DEFAULT 0, + `inventoryID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `avatarID` char(36) DEFAULT NULL, + `parentFolderID` char(36) DEFAULT NULL, + `inventoryGroupPermissions` int(10) UNSIGNED NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `migrations` +-- + +CREATE TABLE `migrations` ( + `name` varchar(100) DEFAULT NULL, + `version` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `MuteList` +-- + +CREATE TABLE `MuteList` ( + `AgentID` char(36) NOT NULL, + `MuteID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `MuteName` varchar(64) NOT NULL DEFAULT '', + `MuteType` int(11) NOT NULL DEFAULT 1, + `MuteFlags` int(11) NOT NULL DEFAULT 0, + `Stamp` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `os_groups_groups` +-- + +CREATE TABLE `os_groups_groups` ( + `GroupID` char(36) NOT NULL DEFAULT '', + `Location` varchar(255) NOT NULL DEFAULT '', + `Name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `Charter` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `InsigniaID` char(36) NOT NULL DEFAULT '', + `FounderID` char(36) NOT NULL DEFAULT '', + `MembershipFee` int(11) NOT NULL DEFAULT 0, + `OpenEnrollment` varchar(255) NOT NULL DEFAULT '', + `ShowInList` int(4) NOT NULL DEFAULT 0, + `AllowPublish` int(4) NOT NULL DEFAULT 0, + `MaturePublish` int(4) NOT NULL DEFAULT 0, + `OwnerRoleID` char(36) NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `os_groups_invites` +-- + +CREATE TABLE `os_groups_invites` ( + `InviteID` char(36) NOT NULL DEFAULT '', + `GroupID` char(36) NOT NULL DEFAULT '', + `RoleID` char(36) NOT NULL DEFAULT '', + `PrincipalID` varchar(255) NOT NULL DEFAULT '', + `TMStamp` timestamp NOT NULL DEFAULT current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `os_groups_membership` +-- + +CREATE TABLE `os_groups_membership` ( + `GroupID` char(36) NOT NULL DEFAULT '', + `PrincipalID` varchar(255) NOT NULL DEFAULT '', + `SelectedRoleID` char(36) NOT NULL DEFAULT '', + `Contribution` int(11) NOT NULL DEFAULT 0, + `ListInProfile` int(4) NOT NULL DEFAULT 1, + `AcceptNotices` int(4) NOT NULL DEFAULT 1, + `AccessToken` char(36) NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `os_groups_notices` +-- + +CREATE TABLE `os_groups_notices` ( + `GroupID` char(36) NOT NULL DEFAULT '', + `NoticeID` char(36) NOT NULL DEFAULT '', + `TMStamp` int(10) UNSIGNED NOT NULL DEFAULT 0, + `FromName` varchar(255) NOT NULL DEFAULT '', + `Subject` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `Message` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `HasAttachment` int(4) NOT NULL DEFAULT 0, + `AttachmentType` int(4) NOT NULL DEFAULT 0, + `AttachmentName` varchar(128) NOT NULL DEFAULT '', + `AttachmentItemID` char(36) NOT NULL DEFAULT '', + `AttachmentOwnerID` varchar(255) NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `os_groups_principals` +-- + +CREATE TABLE `os_groups_principals` ( + `PrincipalID` varchar(255) NOT NULL DEFAULT '', + `ActiveGroupID` char(36) NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `os_groups_rolemembership` +-- + +CREATE TABLE `os_groups_rolemembership` ( + `GroupID` char(36) NOT NULL DEFAULT '', + `RoleID` char(36) NOT NULL DEFAULT '', + `PrincipalID` varchar(255) NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `os_groups_roles` +-- + +CREATE TABLE `os_groups_roles` ( + `GroupID` char(36) NOT NULL DEFAULT '', + `RoleID` char(36) NOT NULL DEFAULT '', + `Name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `Description` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `Title` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `Powers` bigint(20) UNSIGNED NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `Presence` +-- + +CREATE TABLE `Presence` ( + `UserID` varchar(255) NOT NULL, + `RegionID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `SessionID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `SecureSessionID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `LastSeen` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `regions` +-- + +CREATE TABLE `regions` ( + `uuid` varchar(36) NOT NULL, + `regionHandle` bigint(20) UNSIGNED NOT NULL, + `regionName` varchar(128) DEFAULT NULL, + `regionRecvKey` varchar(128) DEFAULT NULL, + `regionSendKey` varchar(128) DEFAULT NULL, + `regionSecret` varchar(128) DEFAULT NULL, + `regionDataURI` varchar(255) DEFAULT NULL, + `serverIP` varchar(64) DEFAULT NULL, + `serverPort` int(10) UNSIGNED DEFAULT NULL, + `serverURI` varchar(255) DEFAULT NULL, + `locX` int(10) UNSIGNED DEFAULT NULL, + `locY` int(10) UNSIGNED DEFAULT NULL, + `locZ` int(10) UNSIGNED DEFAULT NULL, + `eastOverrideHandle` bigint(20) UNSIGNED DEFAULT NULL, + `westOverrideHandle` bigint(20) UNSIGNED DEFAULT NULL, + `southOverrideHandle` bigint(20) UNSIGNED DEFAULT NULL, + `northOverrideHandle` bigint(20) UNSIGNED DEFAULT NULL, + `regionAssetURI` varchar(255) DEFAULT NULL, + `regionAssetRecvKey` varchar(128) DEFAULT NULL, + `regionAssetSendKey` varchar(128) DEFAULT NULL, + `regionUserURI` varchar(255) DEFAULT NULL, + `regionUserRecvKey` varchar(128) DEFAULT NULL, + `regionUserSendKey` varchar(128) DEFAULT NULL, + `regionMapTexture` varchar(36) DEFAULT NULL, + `serverHttpPort` int(10) DEFAULT NULL, + `serverRemotingPort` int(10) DEFAULT NULL, + `owner_uuid` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `originUUID` varchar(36) DEFAULT NULL, + `access` int(10) UNSIGNED DEFAULT 1, + `ScopeID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `sizeX` int(11) NOT NULL DEFAULT 0, + `sizeY` int(11) NOT NULL DEFAULT 0, + `flags` int(11) NOT NULL DEFAULT 0, + `last_seen` int(11) NOT NULL DEFAULT 0, + `PrincipalID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000', + `Token` varchar(255) NOT NULL, + `parcelMapTexture` varchar(36) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `tokens` +-- + +CREATE TABLE `tokens` ( + `UUID` char(36) NOT NULL, + `token` varchar(255) NOT NULL, + `validity` datetime NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `totalsales` +-- + +CREATE TABLE `totalsales` ( + `UUID` varchar(36) NOT NULL, + `user` varchar(36) NOT NULL, + `objectUUID` varchar(36) NOT NULL, + `type` int(10) NOT NULL, + `TotalCount` int(10) NOT NULL DEFAULT 0, + `TotalAmount` int(10) NOT NULL DEFAULT 0, + `time` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='Rev.3'; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `transactions` +-- + +CREATE TABLE `transactions` ( + `UUID` varchar(36) NOT NULL, + `sender` varchar(36) NOT NULL, + `receiver` varchar(36) NOT NULL, + `amount` int(10) NOT NULL, + `senderBalance` int(10) NOT NULL DEFAULT -1, + `receiverBalance` int(10) NOT NULL DEFAULT -1, + `objectUUID` varchar(36) DEFAULT NULL, + `objectName` varchar(255) DEFAULT NULL, + `regionHandle` varchar(36) NOT NULL, + `regionUUID` varchar(36) NOT NULL, + `type` int(10) NOT NULL, + `time` int(11) NOT NULL, + `secure` varchar(36) NOT NULL, + `status` tinyint(1) NOT NULL, + `commonName` varchar(128) NOT NULL, + `description` varchar(255) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='Rev.12'; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `UserAccounts` +-- + +CREATE TABLE `UserAccounts` ( + `PrincipalID` char(36) NOT NULL, + `ScopeID` char(36) NOT NULL, + `FirstName` varchar(64) NOT NULL, + `LastName` varchar(64) NOT NULL, + `Email` varchar(64) DEFAULT NULL, + `ServiceURLs` text DEFAULT NULL, + `Created` int(11) DEFAULT NULL, + `UserLevel` int(11) NOT NULL DEFAULT 0, + `UserFlags` int(11) NOT NULL DEFAULT 0, + `UserTitle` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '', + `active` int(11) NOT NULL DEFAULT 1 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `userdata` +-- + +CREATE TABLE `userdata` ( + `UserId` char(36) NOT NULL, + `TagId` varchar(64) NOT NULL, + `DataKey` varchar(255) DEFAULT NULL, + `DataVal` varchar(255) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `userinfo` +-- + +CREATE TABLE `userinfo` ( + `user` varchar(36) NOT NULL, + `simip` varchar(64) NOT NULL, + `avatar` varchar(50) NOT NULL, + `pass` varchar(36) NOT NULL DEFAULT '', + `type` tinyint(2) NOT NULL DEFAULT 0, + `class` tinyint(2) NOT NULL DEFAULT 0, + `serverurl` varchar(255) NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='Rev.3'; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `usernotes` +-- + +CREATE TABLE `usernotes` ( + `useruuid` varchar(36) NOT NULL, + `targetuuid` varchar(36) NOT NULL, + `notes` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `userpicks` +-- + +CREATE TABLE `userpicks` ( + `pickuuid` varchar(36) NOT NULL, + `creatoruuid` varchar(36) NOT NULL, + `toppick` enum('true','false') NOT NULL, + `parceluuid` varchar(36) NOT NULL, + `name` varchar(255) NOT NULL, + `description` text NOT NULL, + `snapshotuuid` varchar(36) NOT NULL, + `user` varchar(255) NOT NULL, + `originalname` varchar(255) NOT NULL, + `simname` varchar(255) NOT NULL, + `posglobal` varchar(255) NOT NULL, + `sortorder` int(2) NOT NULL, + `enabled` enum('true','false') NOT NULL, + `gatekeeper` varchar(255) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `userprofile` +-- + +CREATE TABLE `userprofile` ( + `useruuid` varchar(36) NOT NULL, + `profilePartner` varchar(36) NOT NULL, + `profileAllowPublish` binary(1) NOT NULL, + `profileMaturePublish` binary(1) NOT NULL, + `profileURL` varchar(255) NOT NULL, + `profileWantToMask` int(3) NOT NULL, + `profileWantToText` text NOT NULL, + `profileSkillsMask` int(3) NOT NULL, + `profileSkillsText` text NOT NULL, + `profileLanguages` text NOT NULL, + `profileImage` varchar(36) NOT NULL, + `profileAboutText` text NOT NULL, + `profileFirstImage` varchar(36) NOT NULL, + `profileFirstText` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- -------------------------------------------------------- + +-- +-- Tabellenstruktur für Tabelle `usersettings` +-- + +CREATE TABLE `usersettings` ( + `useruuid` varchar(36) NOT NULL, + `imviaemail` enum('true','false') NOT NULL, + `visible` enum('true','false') NOT NULL, + `email` varchar(254) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci; + +-- +-- Indizes der exportierten Tabellen +-- + +-- +-- Indizes für die Tabelle `AgentPrefs` +-- +ALTER TABLE `AgentPrefs` + ADD PRIMARY KEY (`PrincipalID`), + ADD UNIQUE KEY `PrincipalID` (`PrincipalID`); + +-- +-- Indizes für die Tabelle `assets` +-- +ALTER TABLE `assets` + ADD PRIMARY KEY (`id`); + +-- +-- Indizes für die Tabelle `auth` +-- +ALTER TABLE `auth` + ADD PRIMARY KEY (`UUID`); + +-- +-- Indizes für die Tabelle `Avatars` +-- +ALTER TABLE `Avatars` + ADD PRIMARY KEY (`PrincipalID`,`Name`), + ADD KEY `PrincipalID` (`PrincipalID`); + +-- +-- Indizes für die Tabelle `balances` +-- +ALTER TABLE `balances` + ADD PRIMARY KEY (`user`); + +-- +-- Indizes für die Tabelle `classifieds` +-- +ALTER TABLE `classifieds` + ADD PRIMARY KEY (`classifieduuid`); + +-- +-- Indizes für die Tabelle `Friends` +-- +ALTER TABLE `Friends` + ADD PRIMARY KEY (`PrincipalID`(36),`Friend`(36)), + ADD KEY `PrincipalID` (`PrincipalID`); + +-- +-- Indizes für die Tabelle `GridUser` +-- +ALTER TABLE `GridUser` + ADD PRIMARY KEY (`UserID`); + +-- +-- Indizes für die Tabelle `hg_traveling_data` +-- +ALTER TABLE `hg_traveling_data` + ADD PRIMARY KEY (`SessionID`), + ADD KEY `UserID` (`UserID`); + +-- +-- Indizes für die Tabelle `im_offline` +-- +ALTER TABLE `im_offline` + ADD PRIMARY KEY (`ID`), + ADD KEY `PrincipalID` (`PrincipalID`), + ADD KEY `FromID` (`FromID`); + +-- +-- Indizes für die Tabelle `inventoryfolders` +-- +ALTER TABLE `inventoryfolders` + ADD PRIMARY KEY (`folderID`), + ADD KEY `inventoryfolders_agentid` (`agentID`), + ADD KEY `inventoryfolders_parentFolderid` (`parentFolderID`); + +-- +-- Indizes für die Tabelle `inventoryitems` +-- +ALTER TABLE `inventoryitems` + ADD PRIMARY KEY (`inventoryID`), + ADD KEY `inventoryitems_avatarid` (`avatarID`), + ADD KEY `inventoryitems_parentFolderid` (`parentFolderID`); + +-- +-- Indizes für die Tabelle `MuteList` +-- +ALTER TABLE `MuteList` + ADD UNIQUE KEY `AgentID_2` (`AgentID`,`MuteID`,`MuteName`), + ADD KEY `AgentID` (`AgentID`); + +-- +-- Indizes für die Tabelle `os_groups_groups` +-- +ALTER TABLE `os_groups_groups` + ADD PRIMARY KEY (`GroupID`), + ADD UNIQUE KEY `Name` (`Name`); +ALTER TABLE `os_groups_groups` ADD FULLTEXT KEY `Name_2` (`Name`); + +-- +-- Indizes für die Tabelle `os_groups_invites` +-- +ALTER TABLE `os_groups_invites` + ADD PRIMARY KEY (`InviteID`), + ADD UNIQUE KEY `PrincipalGroup` (`GroupID`,`PrincipalID`); + +-- +-- Indizes für die Tabelle `os_groups_membership` +-- +ALTER TABLE `os_groups_membership` + ADD PRIMARY KEY (`GroupID`,`PrincipalID`), + ADD KEY `PrincipalID` (`PrincipalID`); + +-- +-- Indizes für die Tabelle `os_groups_notices` +-- +ALTER TABLE `os_groups_notices` + ADD PRIMARY KEY (`NoticeID`), + ADD KEY `GroupID` (`GroupID`), + ADD KEY `TMStamp` (`TMStamp`); + +-- +-- Indizes für die Tabelle `os_groups_principals` +-- +ALTER TABLE `os_groups_principals` + ADD PRIMARY KEY (`PrincipalID`); + +-- +-- Indizes für die Tabelle `os_groups_rolemembership` +-- +ALTER TABLE `os_groups_rolemembership` + ADD PRIMARY KEY (`GroupID`,`RoleID`,`PrincipalID`), + ADD KEY `PrincipalID` (`PrincipalID`); + +-- +-- Indizes für die Tabelle `os_groups_roles` +-- +ALTER TABLE `os_groups_roles` + ADD PRIMARY KEY (`GroupID`,`RoleID`), + ADD KEY `GroupID` (`GroupID`); + +-- +-- Indizes für die Tabelle `Presence` +-- +ALTER TABLE `Presence` + ADD UNIQUE KEY `SessionID` (`SessionID`), + ADD KEY `UserID` (`UserID`), + ADD KEY `RegionID` (`RegionID`); + +-- +-- Indizes für die Tabelle `regions` +-- +ALTER TABLE `regions` + ADD PRIMARY KEY (`uuid`), + ADD KEY `regionName` (`regionName`), + ADD KEY `regionHandle` (`regionHandle`), + ADD KEY `overrideHandles` (`eastOverrideHandle`,`westOverrideHandle`,`southOverrideHandle`,`northOverrideHandle`), + ADD KEY `ScopeID` (`ScopeID`), + ADD KEY `flags` (`flags`); + +-- +-- Indizes für die Tabelle `tokens` +-- +ALTER TABLE `tokens` + ADD UNIQUE KEY `uuid_token` (`UUID`,`token`), + ADD KEY `UUID` (`UUID`), + ADD KEY `token` (`token`), + ADD KEY `validity` (`validity`); + +-- +-- Indizes für die Tabelle `totalsales` +-- +ALTER TABLE `totalsales` + ADD PRIMARY KEY (`UUID`); + +-- +-- Indizes für die Tabelle `transactions` +-- +ALTER TABLE `transactions` + ADD PRIMARY KEY (`UUID`); + +-- +-- Indizes für die Tabelle `UserAccounts` +-- +ALTER TABLE `UserAccounts` + ADD UNIQUE KEY `PrincipalID` (`PrincipalID`), + ADD KEY `Email` (`Email`), + ADD KEY `FirstName` (`FirstName`), + ADD KEY `LastName` (`LastName`), + ADD KEY `Name` (`FirstName`,`LastName`); + +-- +-- Indizes für die Tabelle `userdata` +-- +ALTER TABLE `userdata` + ADD PRIMARY KEY (`UserId`,`TagId`); + +-- +-- Indizes für die Tabelle `userinfo` +-- +ALTER TABLE `userinfo` + ADD PRIMARY KEY (`user`); + +-- +-- Indizes für die Tabelle `usernotes` +-- +ALTER TABLE `usernotes` + ADD UNIQUE KEY `useruuid` (`useruuid`,`targetuuid`); + +-- +-- Indizes für die Tabelle `userpicks` +-- +ALTER TABLE `userpicks` + ADD PRIMARY KEY (`pickuuid`); + +-- +-- Indizes für die Tabelle `userprofile` +-- +ALTER TABLE `userprofile` + ADD PRIMARY KEY (`useruuid`); + +-- +-- Indizes für die Tabelle `usersettings` +-- +ALTER TABLE `usersettings` + ADD PRIMARY KEY (`useruuid`); + +-- +-- AUTO_INCREMENT für exportierte Tabellen +-- + +-- +-- AUTO_INCREMENT für Tabelle `im_offline` +-- +ALTER TABLE `im_offline` + MODIFY `ID` mediumint(9) NOT NULL AUTO_INCREMENT; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;