mirror of
https://github.com/myronblair/novacpx
synced 2026-06-30 17:50:41 -05:00
#18: reseller_branding table (migration 008). branding.php endpoint: get/save/ upload-logo/delete-logo/resellers. _branding.php server-side helper injects CSS vars (--primary, --accent), custom CSS, favicon, and panel name into <head> of reseller + user portals at page-load time (no flash of unbranded content). NOVACPX_BRANDING JS global carries panel_name/support_email/ support_url/hide_powered_by for runtime use. Reseller panel gets a new "White Label" sidebar page with logo upload, color pickers with live preview, support contact fields, powered-by toggle, and custom CSS textarea. #24: audit-log backend now accepts user/action/date_from/date_to filter params. auditLog() JS rebuilt: filter bar at top, paginated table, expandable detail rows (click row to show JSON detail), total entry count, page buttons. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
-- Migration 008: Reseller branding table
|
||||
|
||||
CREATE TABLE IF NOT EXISTS reseller_branding (
|
||||
user_id INT UNSIGNED PRIMARY KEY,
|
||||
panel_name VARCHAR(100) NOT NULL DEFAULT 'NovaCPX',
|
||||
logo_url VARCHAR(500) DEFAULT NULL,
|
||||
favicon_url VARCHAR(500) DEFAULT NULL,
|
||||
primary_color VARCHAR(20) NOT NULL DEFAULT '#6366f1',
|
||||
accent_color VARCHAR(20) NOT NULL DEFAULT '#0ea5e9',
|
||||
support_email VARCHAR(255) DEFAULT NULL,
|
||||
support_url VARCHAR(500) DEFAULT NULL,
|
||||
hide_powered_by TINYINT(1) NOT NULL DEFAULT 0,
|
||||
custom_css TEXT DEFAULT NULL,
|
||||
updated_at DATETIME ON UPDATE CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_branding_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
Reference in New Issue
Block a user