- Function was being called but never defined
- Added showNotification that uses showToast from app.js when available
- Includes fallback toast implementation for robustness
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Renamed logAudit calls to logAction (the actual function name)
- Removed system event logging calls that used invalid action types
(audit_log ENUM only accepts INSERT/UPDATE/DELETE)
- Fixes WebDAV backup success response not being returned
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use CURLOPT_PUT with CURLOPT_INFILE instead of CURLOPT_POSTFIELDS
- This mimics curl -T (PUT with file upload) behavior
- Changed URL format: user enters full WebDAV path, filename appended
- Add output buffering to capture PHP warnings
- Include debug info in error responses
- Update UI labels and placeholders with Nextcloud example
- Changed password field to text type to allow entering "0"
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Wrap license_info queries in try-catch for backup export functions
- Add detailed error messages to WebDAV backup responses (URL, HTTP code)
- Include WebDAV response body in error messages for debugging
- Update JS to display detailed error info in the UI
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Developer tab now includes:
- Database Backup & Restore section with download/upload JSON backup
- WebDAV Backup section to upload backups to Nextcloud/WebDAV servers
with configurable server URL, username, and password
Features:
- Full JSON export of entries, settings, logos, users, license
- Import with data replacement and transaction safety
- WebDAV upload via cURL with PUT request
- Automatic timestamped filenames (ipmanager-YYYY-MM-DD_HH-mm-ss.json)
- Settings persistence for WebDAV credentials
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add better JSON parsing with error logging
- Add credentials: same-origin to ensure session cookies are sent
- Show helpful error message when server returns invalid response
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Changed schema URL from geofeed-manager to ip-manager repo
- Added 'changes' array to schema_check response for frontend UI
- Added 'results' array to schema_apply response for frontend UI
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added back the Database Schema Updates section that allows users
to check for and apply missing database columns/tables from the
repository schema. Includes Check for Updates and Apply Schema
Changes buttons with visual feedback for pending changes.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add license.php with tiered licensing (Trial, Basic, Professional, Enterprise)
- Add license_info table to database schema
- Add license management UI to settings (License tab)
- Add license status, activation, and usage API endpoints
- Add entry and user limit enforcement based on license tier
- Add feature flags for webhooks, IP enrichment, whitelabel, PTR records
- Update README with licensing documentation and customer deployment guide
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Call webhook_process endpoint when loading queue status
- Add automatic polling every 10 seconds when webhooks are pending
- Stop polling automatically when queue is empty
- Ensures debounced webhooks actually fire when due
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>