Claude
0605aee88d
feat: Add PhotoPro Tools - photography homepage with 6 languages
...
Complete photography toolkit with:
- 6 lens calculators (DOF, FOV, crop factor, hyperfocal, flash range, magnification)
- 8 interactive composition rules with canvas demos (thirds, golden ratio, leading lines, symmetry, framing, negative space, diagonals, color theory)
- Motif recognition guide for 8 genres (portrait, landscape, street, macro, night, sport, architecture, wildlife) with optimal camera settings
- Interactive exposure triangle visualization with real-time EV meter
- Quiz system with 50 questions across 5 categories with instant feedback
- Full i18n support: Deutsch, English, Français, Italiano, Srpski, Shqip
- Modern dark UI with glassmorphism, particles, animations
- Fully responsive design
https://claude.ai/code/session_016BnRMtz5yhf7n5ZPQCMfmN
2026-02-07 12:50:44 +00:00
admin
6fba9d938a
Remove OpenWeatherMap API key input and update settings
...
Removed API key input for OpenWeatherMap and updated weather widget settings.
2026-02-05 11:03:08 +01:00
admin
5d9ebbbc3e
Refactor weather settings and timelapse checks
...
Removed the weather API key retrieval method and updated the weekly timelapse check logic.
2026-02-05 11:02:36 +01:00
admin
282d8b70fc
Merge branch 'main' into claude/mail-finetuning-webapp-01BsRXQNeVFrCBky8aw35YHw
2026-02-05 11:01:33 +01:00
admin
814494f812
Add auto-screenshot and email sharing settings
2026-02-05 10:57:02 +01:00
admin
75e5566532
Update weather widget description and remove API key field
2026-02-05 10:56:21 +01:00
admin
5d382db42e
Merge pull request #46 from metacube2/codex/implement-phase-locked-phase-vocoder
...
Add phase-locked vocoder timestretcher
2026-01-31 12:24:13 +01:00
admin
054717fff1
Add phase-locked vocoder timestretcher
2026-01-31 12:24:02 +01:00
admin
5218c064cb
Merge pull request #45 from metacube2/claude/fix-aurora-api-key-VK588
...
Add 4 new features: timelapse toggle, auto-screenshot, video search, …
2026-01-30 19:42:09 +01:00
Claude
6a24b564a4
Add 4 new features: timelapse toggle, auto-screenshot, video search, email sharing
...
- Weekly timelapse button now toggleable via settings (zoom_timelapse.weekly_timelapse_enabled)
- Auto-screenshot API for cron-based gallery capture every 10 min
- Date/time video search with filter UI in archive section
- Email sharing with share links and PHPMailer integration
- New API endpoints: auto-screenshot.php, gallery.php, video-search.php, share.php
- New settings: auto_screenshot.*, sharing.* for feature configuration
2026-01-30 18:33:54 +00:00
admin
cc85523c9c
Merge pull request #44 from metacube2/claude/mail-finetuning-webapp-01BsRXQNeVFrCBky8aw35YHw
...
a
2026-01-23 21:24:58 +01:00
admin
bb27cb151e
Merge pull request #43 from metacube2/claude/fix-aurora-api-key-VK588
...
Claude/fix aurora api key vk588
2026-01-23 21:24:00 +01:00
Claude
16673b91d3
Add Billing/Stripe integration and Landing Page (Phase 4+5)
...
Phase 4 - Billing/Stripe:
- src/Billing/StripeService.php: Stripe API wrapper
- Checkout session creation
- Customer management
- Billing portal sessions
- Webhook signature verification
- src/Billing/SubscriptionManager.php: Subscription logic
- Plan management (CRUD)
- Trial handling
- Feature access checks
- Invoice storage
- src/Billing/WebhookHandler.php: Stripe webhook processing
- checkout.session.completed
- customer.subscription.* events
- invoice.paid / payment_failed
- api/stripe-webhook.php: Webhook endpoint
- dashboard/billing.php: Billing dashboard
- Current plan display with features
- Plan comparison grid
- Upgrade buttons with Stripe Checkout
- Invoice history
Phase 5 - Landing Page:
- landing/index.php: Marketing homepage
- Hero section with CTA
- Feature grid (6 features)
- How it works (3 steps)
- Final CTA section
- Responsive design
- landing/pricing.php: Pricing page
- Dynamic plan cards from DB
- Monthly/yearly toggle (2 months free)
- Feature comparison
- FAQ accordion
All features respect saas_features toggles in settings.
2026-01-23 19:16:18 +00:00
Claude
ac77e27089
Add automatic onboarding system (Phase 3)
...
Onboarding Wizard:
- register.php: User registration with validation
- verify.php: Email verification (with demo mode)
- stream.php: Stream URL configuration & validation
- branding.php: Quick branding setup with live preview
- complete.php: Success page with confetti animation
Backend Classes (src/Onboarding/):
- OnboardingManager.php: Orchestrates the onboarding flow
- Registration with automatic subdomain generation
- Email verification tokens
- Step tracking in tenant_onboarding table
- StreamValidator.php: Validates stream URLs
- HLS (.m3u8) validation with playlist check
- RTMP format validation
- iframe/embed URL detection (YouTube, Vimeo, Twitch)
- Generic HTTP reachability check
Features:
- 4-step wizard with progress indicator
- Stream type auto-detection
- Live branding preview
- Skip options for optional steps
- Trial period display
2026-01-23 18:41:53 +00:00
Claude
7bd62b3527
Add tenant dashboard (Phase 2)
...
Dashboard Features:
- Login page with session-based auth
- Overview page with live stats (viewers, stream status)
- Stream settings (URL, type configuration)
- Branding editor (colors, texts, custom CSS)
- Settings page (weather, content toggles, UI options)
New Files:
- dashboard/index.php: Main overview with stats
- dashboard/login.php: Authentication page
- dashboard/logout.php: Session cleanup
- dashboard/stream.php: Stream configuration
- dashboard/branding.php: Visual customization
- dashboard/settings.php: Feature toggles
- dashboard/templates/layout.php: Shared layout
- dashboard/api/stats.php: Stats API endpoint
- dashboard/assets/dashboard.css: Modern dashboard UI
- dashboard/assets/dashboard.js: Client-side functionality
- src/Auth/AuthManager.php: Secure auth with Argon2, remember-me
Auth Features:
- Secure password hashing (Argon2ID)
- Remember-me tokens
- Role-based access (super_admin, tenant_admin, tenant_user)
- Legacy fallback for existing admin credentials
2026-01-23 17:09:38 +00:00
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
admin
4acdf89588
Merge pull request #42 from metacube2/codex/fix-missing-api-key-in-index.php
...
Add optional OpenWeatherMap API key support for weather widget
2026-01-22 23:01:34 +01:00
admin
20c0569731
Add optional weather API key support
2026-01-22 23:00:41 +01:00
admin
144c813acf
Merge pull request #41 from metacube2/claude/fix-aurora-api-key-VK588
...
Prevent caching of API errors in WeatherManager
2026-01-22 22:40:57 +01:00
Claude
328b5b5b15
Fix cached weather error being returned
...
The weather cache was returning old errors (like "API Key fehlt"
from the previous OpenWeatherMap implementation) even after
switching to Open-Meteo which doesn't require an API key.
Changes:
- Delete cache file if it contains an error
- Prevent errors from being cached in the first place
2026-01-22 21:40:09 +00:00
admin
6472bbf162
Merge pull request #40 from metacube2/claude/mail-finetuning-webapp-01BsRXQNeVFrCBky8aw35YHw
...
asdf
2026-01-22 22:30:35 +01:00
admin
c66a5b9f64
Merge pull request #39 from metacube2/claude/fix-layout-centering-cdX7d
...
Add error handling to weather widget
2026-01-22 22:29:27 +01:00
Claude
7e468d51ca
Add error handling to weather widget
...
- Wrap getCurrentWeather() in try-catch block
- Prevents white screen if weather API fails
- Shows error message in widget instead
- Add test-weather.php for debugging
2026-01-22 21:06:50 +00:00
admin
7b3f99e837
Merge pull request #38 from metacube2/claude/fix-layout-centering-cdX7d
...
Switch weather API from OpenWeatherMap to Open-Meteo
2026-01-22 22:00:25 +01:00
Claude
20704b3cd8
Switch weather API from OpenWeatherMap to Open-Meteo
...
🎉 **100% KOSTENLOS - KEIN API KEY MEHR NÖTIG!**
**Warum Open-Meteo?**
- ✅ Komplett kostenlos ohne Limits
- ✅ KEIN API Key erforderlich
- ✅ Keine Kreditkarte, keine Anmeldung
- ✅ Open Source & Non-Profit
- ✅ Sehr präzise Daten für die Schweiz
- ✅ Schnell & zuverlässig
**Technische Änderungen:**
**WeatherManager.php:**
- API URL auf api.open-meteo.com gewechselt
- WMO Weather Codes (0-99) implementiert
- Deutsche Wetterbeschreibungen für alle Codes
- Temperatur, Wind, Luftdruck, Feuchtigkeit, Niederschlag
- Icon-Mapping von WMO Codes zu Emojis
- Timezone: Europe/Zurich
**index.php Admin-Panel:**
- API Key Feld entfernt (nicht mehr nötig!)
- Überschrift: "Open-Meteo - 100% kostenlos!"
- Event Listener für API Key entfernt
- Funktioniert sofort ohne Setup!
**API Endpoint:**
https://api.open-meteo.com/v1/forecast
- Keine Authentication nötig
- Parameter: lat, lon, current weather vars
- Response: JSON mit aktuellen Wetterdaten
**Unterstützte Wetter-Codes:**
- 0: Klar
- 1-3: Bewölkt (verschiedene Grade)
- 45-48: Nebel
- 51-65: Regen (Niesel bis stark)
- 71-77: Schnee
- 80-86: Schauer
- 95-99: Gewitter & Hagel
**Resultat:**
Widget funktioniert SOFORT ohne jegliches Setup!
Einfach aktivieren und fertig! 🌤️
2026-01-22 20:59:07 +00:00
admin
6fa64baa35
Merge pull request #37 from metacube2/claude/fix-layout-centering-cdX7d
...
Fix undefined siteConfig variable in admin panel
2026-01-22 21:52:18 +01:00
Claude
6bca898488
Fix undefined siteConfig variable in admin panel
...
- Add global $siteConfig declaration in displayAdminContent()
- Fixes warning in SEO settings placeholder
2026-01-22 20:50:53 +00:00
admin
8bd90629f9
Merge pull request #36 from metacube2/claude/fix-layout-centering-cdX7d
...
Claude/fix layout centering cd x7d
2026-01-22 21:39:19 +01:00
Claude
7eda2fbbe8
Add weather widget with OpenWeatherMap integration
...
Implementiert vollständiges Wetter-Widget oberhalb des Webcam-Videos:
**Features:**
🌤️ **Wetter-Anzeige:**
- Temperatur (°C)
- Windgeschwindigkeit & Richtung (km/h)
- Luftdruck (hPa)
- Luftfeuchtigkeit (%)
- Wetterbeschreibung mit Emoji-Icons
- Niederschlag (Regen/Schnee) wenn vorhanden
⚙️ **Technisch:**
- OpenWeatherMap API Integration
- 5 Minuten Cache (konfigurierbar)
- Auto-Update alle X Minuten (Frontend)
- WeatherManager Klasse für Backend
- Schönes Gradient-Design mit Hover-Effekten
- Responsive für Mobile
🎛️ **Admin-Settings:**
- Wetter-Widget ein/aus
- API Key Eingabefeld + Registrierungs-Link
- Standort konfigurierbar (Stadt,Land)
- GPS-Koordinaten (Lat/Lon)
- Update-Intervall (5-60 Minuten)
- Einheiten (Metrisch/Imperial)
**Dateien:**
- WeatherManager.php: Neue Klasse für API-Calls & Caching
- SettingsManager.php: Weather Settings Defaults & Helper
- index.php: Widget HTML, CSS, JavaScript Auto-Update
- settings.json: Weather Defaults initialisiert
**Koordinaten Oberdürnten:**
Lat: 47.2833, Lon: 8.7167
**Setup für User:**
1. Gratis Account auf openweathermap.org erstellen
2. API Key im Admin-Panel einfügen
3. Fertig! Widget zeigt Live-Wetter an
2026-01-22 18:50:16 +00:00
Claude
5b8200a4ff
Add cache clear utility script
...
- Add clear-cache.php for clearing PHP OPcache and realpath cache
- Useful for debugging and ensuring latest code changes are visible
2026-01-22 17:57:17 +00:00
Claude
ac6632e24f
Initialize settings.json with all new defaults
...
- Add all new settings groups (ui_display, zoom_timelapse, content, technical, theme, seo)
- Set default values for all new admin settings
- Enable all features by default for smooth transition
2026-01-22 17:54:57 +00:00
Claude
0ce527c69e
Add comprehensive admin settings control panel
...
Erweitere Admin-Bereich um umfangreiche Settings-Steuerung:
**Punkt 2 - UI Anzeige:**
- Empfehlungs-Banner ein/aus
- QR-Code Section ein/aus
- Social Media Links ein/aus
- Patrouille Suisse Section ein/aus
**Punkt 3 - Zoom & Timelapse:**
- Zoom-Controls anzeigen/verstecken
- Max Zoom-Level konfigurierbar (1.5x - 4.0x)
- Timelapse Rückwärts-Modus ein/aus
**Punkt 5 - Content Management:**
- Gästebuch aktivieren/deaktivieren
- Galerie aktivieren/deaktivieren
- KI-Events anzeigen/verstecken
- Max Gästebuch-Einträge limit
**Punkt 6 - Technische Settings:**
- Viewer Update-Intervall konfigurierbar
- Session Timeout einstellbar
**Punkt 7 - Theme & Design:**
- Standard-Theme auswählbar (Legacy/Alpine/Modern)
- Theme-Switcher anzeigen/verstecken (war auskommentiert)
**Punkt 8 - SEO & Meta:**
- Custom Title konfigurierbar
- Meta Description editierbar
- Meta Keywords verwaltbar
**Technische Änderungen:**
- SettingsManager.php: Neue Defaults und Helper-Methoden
- Admin-Panel: Neue Settings-Gruppen mit Toggle-Switches
- JavaScript: Live-Apply ohne Reload für alle Settings
- HTML: Sections mit PHP-Settings verbunden
- CSS: Admin-Panel Styling hinzugefügt
- TimelapseController: reverseEnabled Setting integriert
2026-01-22 17:47:56 +00:00
admin
8f46ffb695
Merge pull request #35 from metacube2/claude/fix-layout-centering-cdX7d
...
Center header layout and adjust navigation alignment
2026-01-22 18:26:26 +01:00
Claude
36558e97cb
Fix layout centering in aurora-livecam
...
- Center header container and navigation
- Add padding-right to header to prevent overlap with language selector buttons
- Change nav ul justify-content from space-around to center for better alignment
2026-01-22 17:25:58 +00:00
admin
1cf30a0c8b
Update fmt.Println message from 'Hello' to 'Goodbye'
2026-01-22 18:17:50 +01:00
admin
ff4bda1e53
Merge pull request #34 from metacube2/codex/create-power-bi-training-manual-for-hr
...
Add HR Power BI consumer and trainer manuals
2026-01-20 13:11:19 +01:00
admin
af87ef329b
Merge branch 'main' into codex/create-power-bi-training-manual-for-hr
2026-01-20 13:11:10 +01:00
admin
9c1d820876
Add HR Power BI consumer and trainer manuals
2026-01-20 13:08:29 +01:00
admin
cbe215cfc2
Merge pull request #33 from metacube2/codex/create-power-bi-training-manual-for-hr
...
Add HTML Power BI HR manual with embedded SVG diagram
2026-01-20 09:52:43 +01:00
admin
12d64bf009
Expand HTML Power BI HR manual
2026-01-20 09:02:03 +01:00
admin
0871068ff8
Add HTML Power BI HR manual
2026-01-20 08:08:49 +01:00
admin
3d7cee81da
Merge pull request #32 from metacube2/codex/create-power-bi-training-manual-for-hr
...
Provide Power BI HR training manual (Markdown; omit Word binary)
2026-01-20 07:49:14 +01:00
admin
0aa5a62754
Provide Power BI HR training manual
2026-01-20 07:48:59 +01:00
admin
f487713a92
Add Power BI training manual for HR
...
Created a comprehensive training manual for Power BI tailored for HR staff, including step-by-step instructions, target audience details, data sources, KPIs, and troubleshooting tips.
2026-01-20 07:41:01 +01:00
admin
5eb27d1c28
Merge pull request #31 from metacube2/codex/check-translations-in-index2.php
...
Complete missing translations for language switcher and page content (IT/FR/ZH)
2026-01-19 22:25:50 +01:00
admin
4060115749
Complete missing translations in index2
2026-01-19 22:25:15 +01:00
admin
b98a6761c2
Merge pull request #30 from metacube2/claude/seecam-domain-config-njiwU
...
Add missing translations for Patrouille Suisse and Blog sections
2026-01-18 17:14:56 +01:00
Claude
6a8e879898
Add missing translations for Patrouille Suisse and Blog sections
...
- About section: additional paragraph translated
- Admin section: headings translated
- Patrouille Suisse: complete section with all texts, headings and lists
- Blog section: subtitle, all 3 articles with titles, dates and content
- Footer blog text translated
All elements now have data-en and data-de attributes for language switching
2026-01-18 13:23:33 +00:00
admin
b9407a9f13
Merge pull request #28 from metacube2/claude/seecam-domain-config-njiwU
...
Add domain-based site configuration for seecam.ch
2026-01-18 10:08:40 +01:00
Claude
53ae1ba76f
Add domain-based site configuration for seecam.ch
...
- Detect domain (seecam.ch vs aurora-weather-livecam.com) via PHP
- Load different logo (seecam.jpg vs logo.png) based on domain
- Dynamic meta tags (title, og:*, twitter:*, canonical URL)
- Dynamic Schema.org JSON-LD (WebSite, LocalBusiness, VideoObject)
- Dynamic site texts (welcome, about, blog title, footer, copyright)
- QR-code URL adapts to current domain
- Email sender name remains unchanged (Aurora Livecam)
2026-01-18 09:06:02 +00:00