Add Pushover notification channel and improve status detection

Introduces Pushover as a new notification channel with priority-based alerts, device targeting, and custom sounds. Enhances domain status detection for .nl and .eu domains, ensuring accurate handling when expiration dates or explicit status flags are missing. Fixes PHP 8.x compatibility issues with null parameters in date functions and improves error handling and logging by replacing error_log() with a centralized Logger service. Updates documentation and migrations for version 1.1.1.
This commit is contained in:
Hosteroid
2025-11-18 13:22:49 +02:00
parent 5b932aa565
commit 2b4035dd29
31 changed files with 684 additions and 97 deletions

View File

@@ -225,7 +225,7 @@ ON DUPLICATE KEY UPDATE color = VALUES(color), description = VALUES(description)
CREATE TABLE IF NOT EXISTS notification_channels (
id INT AUTO_INCREMENT PRIMARY KEY,
notification_group_id INT NOT NULL,
channel_type ENUM('email', 'telegram', 'discord', 'slack', 'mattermost', 'webhook') NOT NULL,
channel_type ENUM('email', 'telegram', 'discord', 'slack', 'mattermost', 'webhook', 'pushover') NOT NULL,
channel_config JSON NOT NULL,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
@@ -362,7 +362,7 @@ INSERT INTO settings (setting_key, setting_value, `type`, `description`) VALUES
('app_name', 'Domain Monitor', 'string', 'Application name'),
('app_url', 'http://localhost:8000', 'string', 'Application URL'),
('app_timezone', 'UTC', 'string', 'Application timezone'),
('app_version', '1.1.0', 'string', 'Application version number'),
('app_version', '1.1.1', 'string', 'Application version number'),
-- Email settings
('mail_host', 'smtp.mailtrap.io', 'string', 'SMTP server host'),

View File

@@ -0,0 +1,6 @@
-- Add 'pushover' to the channel_type ENUM in notification_channels table
-- This enables Pushover push notification support for domain expiration alerts
ALTER TABLE notification_channels
MODIFY COLUMN channel_type ENUM('email', 'telegram', 'discord', 'slack', 'mattermost', 'webhook', 'pushover') NOT NULL;

View File

@@ -0,0 +1,7 @@
-- Update application version to 1.1.1
-- This version includes Pushover notifications, security fixes, and improved domain status detection
UPDATE settings
SET setting_value = '1.1.1'
WHERE setting_key = 'app_version';

View File

@@ -28,6 +28,13 @@ If upgrading from v1.0.0, these incremental migrations will be applied:
- `014_add_captcha_settings.sql` - CAPTCHA settings (v2, v3, Turnstile)
- `015_create_error_logs_table.sql` - Error logging and debugging system
- `016_add_tags_to_domains.sql` - Domain tags for organization
- `017_add_two_factor_authentication.sql` - Two-factor authentication (TOTP)
- `018_add_user_isolation.sql` - User isolation mode settings
- `019_add_webhook_channel_type.sql` - Webhook and Mattermost channel support
- `020_create_tags_system.sql` - Advanced tagging system for domains
- `021_add_avatar_field.sql` - User avatar field
- `022_add_pushover_channel_type.sql` - Pushover notification channel support
- `023_update_app_version_to_1.1.1.sql` - Update version to 1.1.1
**Upgrade via:** Web updater at `/install/update`