FTP: path normalization, post-create directory edit, enable/disable

- Resolve FTP home paths without duplicating /home/domain; support absolute paths under site home
- Add changeFTPDirectory API and list UI; improve create form path help
- Add setFTPAccountStatus (Status 0/1) with Enable/Disable on list page
- Pure-FTPd MySQL: require Status='1' for authentication in install templates
- Plugin signals for change directory and account status
This commit is contained in:
master3395
2026-03-24 20:22:56 +01:00
parent 836db0f378
commit 90fcc7b621
13 changed files with 649 additions and 86 deletions

View File

@@ -3,12 +3,12 @@ MYSQLPort 3306
MYSQLSocket /var/lib/mysql/mysql.sock
MYSQLDatabase cyberpanel
MYSQLCrypt md5
MYSQLGetDir SELECT Dir FROM users WHERE User='\L'
MYSQLGetGID SELECT Gid FROM users WHERE User='\L'
MYSQLGetPW SELECT Password FROM users WHERE User='\L'
MYSQLGetUID SELECT Uid FROM users WHERE User='\L'
# Quota enforcement queries
MYSQLGetQTAFS SELECT QuotaSize FROM users WHERE User='\L'
MYSQLGetQTAUS SELECT 0 FROM users WHERE User='\L'
# Only accounts with Status='1' can authenticate (disabled = Status '0')
MYSQLGetDir SELECT Dir FROM users WHERE User='\L' AND Status='1'
MYSQLGetGID SELECT Gid FROM users WHERE User='\L' AND Status='1'
MYSQLGetPW SELECT Password FROM users WHERE User='\L' AND Status='1'
MYSQLGetUID SELECT Uid FROM users WHERE User='\L' AND Status='1'
MYSQLGetQTAFS SELECT QuotaSize FROM users WHERE User='\L' AND Status='1'
MYSQLGetQTAUS SELECT 0 FROM users WHERE User='\L' AND Status='1'
MYSQLPassword 1qaz@9xvps
MYSQLUser cyberpanel

View File

@@ -3,12 +3,13 @@ MYSQLPort 3307
MYSQLSocket /var/lib/mysql1/mysql.sock
MYSQLDatabase cyberpanel
MYSQLCrypt md5
MYSQLGetDir SELECT Dir FROM users WHERE User='\L'
MYSQLGetGID SELECT Gid FROM users WHERE User='\L'
MYSQLGetPW SELECT Password FROM users WHERE User='\L'
MYSQLGetUID SELECT Uid FROM users WHERE User='\L'
# Only accounts with Status='1' can authenticate (disabled = Status '0')
MYSQLGetDir SELECT Dir FROM users WHERE User='\L' AND Status='1'
MYSQLGetGID SELECT Gid FROM users WHERE User='\L' AND Status='1'
MYSQLGetPW SELECT Password FROM users WHERE User='\L' AND Status='1'
MYSQLGetUID SELECT Uid FROM users WHERE User='\L' AND Status='1'
# Quota enforcement queries
MYSQLGetQTAFS SELECT QuotaSize FROM users WHERE User='\L'
MYSQLGetQTAUS SELECT 0 FROM users WHERE User='\L'
MYSQLGetQTAFS SELECT QuotaSize FROM users WHERE User='\L' AND Status='1'
MYSQLGetQTAUS SELECT 0 FROM users WHERE User='\L' AND Status='1'
MYSQLPassword 1qaz@9xvps
MYSQLUser cyberpanel