v2.5.5-dev: FTP Create Account fix, ftp_quotas table, CP_VERSION, mailUtilities indent, deploy scripts and docs

- baseTemplate: CP_VERSION from CYBERPANEL_FULL_VERSION (2.5.5.dev) for cache busting
- FTP Create Account: inline script + polling + scope sync so details form shows after website select
- ftp.js: showFTPDetails, select2/change handlers (ftp/static, static, public/static)
- sql/create_ftp_quotas.sql + deploy-ftp-quotas-table.sh for /ftp/quotaManagement
- plogical/mailUtilities.py: indentation fix in DNS query try/except block
- deploy-ftp-create-account-fix.sh, to-do docs (FTP-QUOTAS-TABLE-FIX, V2.5.5-DEV-FIXES-AND-DEPLOY, RUNTIME-VS-REPO)
This commit is contained in:
master3395
2026-02-04 02:33:32 +01:00
parent 27b664c3a9
commit ac6f4f6992
12 changed files with 508 additions and 83 deletions

21
sql/create_ftp_quotas.sql Normal file
View File

@@ -0,0 +1,21 @@
-- Create ftp_quotas table for FTP Quota Management (websiteFunctions.models.FTPQuota)
-- Run once per CyberPanel database. Safe to run: uses IF NOT EXISTS.
CREATE TABLE IF NOT EXISTS `ftp_quotas` (
`id` INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
`user_id` INT NOT NULL,
`ftp_user` VARCHAR(255) NOT NULL,
`domain_id` INT NULL,
`quota_size_mb` INT NOT NULL DEFAULT 0,
`quota_used_mb` INT NOT NULL DEFAULT 0,
`quota_files` INT NOT NULL DEFAULT 0,
`quota_files_used` INT NOT NULL DEFAULT 0,
`is_active` TINYINT(1) NOT NULL DEFAULT 1,
`created_at` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`updated_at` DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
UNIQUE KEY `ftp_quotas_ftp_user_unique` (`ftp_user`),
KEY `ftp_quotas_user_id` (`user_id`),
KEY `ftp_quotas_domain_id` (`domain_id`),
CONSTRAINT `ftp_quotas_user_id_fk` FOREIGN KEY (`user_id`) REFERENCES `loginSystem_administrator` (`id`) ON DELETE CASCADE,
CONSTRAINT `ftp_quotas_domain_id_fk` FOREIGN KEY (`domain_id`) REFERENCES `websiteFunctions_websites` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;