Claude
|
402604b4cc
|
Add Multi-Tenant SaaS foundation for customer management
Phase 1 implementation includes:
Database:
- schema.sql with tables for tenants, domains, settings, branding,
streams, users, subscriptions, plans, invoices, viewer_stats
Core Classes (src/Core/):
- Database.php: PDO wrapper with singleton pattern
- TenantResolver.php: Domain-to-tenant resolution with fallback
Tenant Classes (src/Tenant/):
- TenantManager.php: CRUD operations for tenants
- TenantSettingsManager.php: DB-based settings per tenant
Configuration:
- config.example.php: Template for database/stripe/mail config
- bootstrap.php: Initializes multi-tenant environment
- .gitignore: Excludes config.php and cache files
Integration:
- SettingsManager.php: Added saas_features toggles (all off by default)
- index.php: Uses getSiteConfig() from bootstrap when multi-tenant enabled,
falls back to legacy hardcoded domains when disabled
All SaaS features are disabled by default (saas_features.multi_tenant_enabled = false),
ensuring zero breaking changes to existing installations.
|
2026-01-23 16:40:42 +00:00 |
|