80 Commits

Author SHA1 Message Date
Purple
336121d758 Add missing showNotification function to settings.php
- 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>
2026-01-18 16:03:40 +00:00
Purple
6cb7f70546 Fix fatal error: logAudit function doesn't exist
- 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>
2026-01-18 14:09:15 +00:00
Purple
59c26d8b54 Fix WebDAV backup to match curl -T behavior for Nextcloud
- 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>
2026-01-18 14:03:09 +00:00
Purple
3ae39830e2 Fix WebDAV backup error handling and license_info table queries
- 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>
2026-01-18 13:48:56 +00:00
Purple
1421e8fdaa Add better error handling for WebDAV backup response
Parse response as text first, then JSON to capture server errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 13:44:44 +00:00
Purple
c67d7ff139 Add database backup/restore and WebDAV backup features
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>
2026-01-18 13:42:13 +00:00
Purple
38d1cf8c7a Improve schema_apply error handling and add credentials
- 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>
2026-01-18 13:36:46 +00:00
Purple
8a471edbe0 Fix CSRF token in schema_apply request
Include csrf_token in POST body for schema_apply API call.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 13:35:44 +00:00
Purple
b040337d15 Fix schema check URL and improve response format
- 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>
2026-01-18 13:34:47 +00:00
Purple
d113654986 Restore database schema migration UI in Developer tab
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>
2026-01-18 13:31:12 +00:00
Purple
753661a34c Add licensing system for ISP customers
- 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>
2026-01-18 13:21:44 +00:00
Purple
a8e3be2e66 Fix webhook queue processing with automatic polling
- 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>
2026-01-18 12:31:29 +00:00
Purple
d1b28cf0d4 Update README and add proprietary license
- Rename to ISP IP Manager
- Add copyright notice and closed-source declaration
- Document webhook improvements (immediate mode, queue management)
- Document user authentication and RBAC features
- Document cache busting for JavaScript files
- Add BunnyCDN setup instructions with regional endpoints
- Add troubleshooting for common webhook issues
- Add proprietary LICENSE file

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 12:14:59 +00:00
Purple
5ead456620 Add cache-busting version parameter to app.js
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 12:08:41 +00:00
Purple
d0f4e25239 fixed n8n webhooks 2026-01-18 11:42:57 +00:00
Purple
72d6f9ae3e fixed n8n webhooks 2026-01-18 11:40:06 +00:00
Purple
012e139af6 fix cf access login 2026-01-18 02:40:16 +00:00
Purple
a84c699e5e fix cf access login 2026-01-18 02:36:41 +00:00
Purple
aa486d9752 fix cf access login 2026-01-18 02:30:12 +00:00
Purple
2af56be0ec fix cf access login 2026-01-18 02:29:30 +00:00
Purple
4ba3d49ce3 fix cf access login 2026-01-18 02:27:04 +00:00
Purple
e0d3973184 fix cf access login 2026-01-18 02:21:09 +00:00
Purple
4ae5602646 fix cf access login 2026-01-18 02:19:20 +00:00
Purple
9640c6df31 fix cf access login 2026-01-18 02:17:26 +00:00
Purple
45f6ccc8a7 fix cf access login 2026-01-18 02:14:48 +00:00
Purple
c0f0fa4d7b fix cf access login 2026-01-18 02:01:34 +00:00
Purple
73f744fe89 fix cf access login 2026-01-18 01:59:08 +00:00
Purple
379ea417b1 fix aws 2026-01-18 01:56:14 +00:00
Purple
26aa199160 fix aws 2026-01-18 01:54:20 +00:00
Purple
a413354655 fix aws 2026-01-18 01:53:16 +00:00
Purple
35bcbb2d34 fix aws 2026-01-18 01:51:39 +00:00
Purple
952bdc9832 fix aws 2026-01-18 01:43:27 +00:00
Purple
93465b3bb1 fix aws 2026-01-18 01:41:35 +00:00
Purple
ede48b8501 fix aws 2026-01-18 01:38:59 +00:00
Purple
a74d699462 fix aws 2026-01-18 01:32:20 +00:00
Purple
7c3f69633b fix aws 2026-01-18 01:29:39 +00:00
Purple
2c14e4eb2a fix aws 2026-01-18 01:10:19 +00:00
Purple
05c4753a52 fix aws 2026-01-18 00:55:55 +00:00
Purple
9326d78c3b fix aws 2026-01-18 00:53:17 +00:00
Purple
d5f3e4ebed fix aws 2026-01-18 00:24:37 +00:00
Purple
65ece6b121 fix aws 2026-01-18 00:14:03 +00:00
Purple
f808f9c316 fix aws 2026-01-18 00:10:02 +00:00
Purple
c24826669b fix aws 2026-01-18 00:05:26 +00:00
Purple
9e272cbbd2 fix aws 2026-01-17 23:59:48 +00:00
Purple
c16442718e fix aws 2026-01-17 23:57:35 +00:00
Purple
38f6d594f9 fix aws 2026-01-17 23:51:09 +00:00
Purple
9bb80eb7d9 fix aws 2026-01-17 23:37:18 +00:00
Purple
17fd69c4f7 fix width 2026-01-17 23:34:40 +00:00
Purple
a2d25266fb fix width 2026-01-17 23:30:03 +00:00
Purple
511af31f10 fix width 2026-01-17 23:28:23 +00:00