Fix multiple user panel 500 errors

- domains: VhostManager::create() called with array instead of 4 params
- PHPManager: VhostManager not required; pool writes use sudo tee (permission);
  updateConfig creates pool if missing instead of throwing
- DatabaseManager: MySQL ops used SQLite panel PDO; add dedicated mysqlPdo()
  using MariaDB socket auth
- BackupManager: column name is size_mb not size; diskUsage returns float
- DB.php: add LAST_INSERT_ID() → last_insert_rowid() translation
- user.js: SSL issue/submit used Nova.api (JSON) but endpoint streams SSE;
  add _sslStream() helper matching admin panel behavior
- schema/migration: add enc_password column to email_accounts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-09 18:32:00 +00:00
parent 563386b8b8
commit c22e1fd067
8 changed files with 107 additions and 56 deletions
+1
View File
@@ -0,0 +1 @@
ALTER TABLE email_accounts ADD COLUMN enc_password TEXT;
+4 -3
View File
@@ -183,9 +183,10 @@ CREATE INDEX IF NOT EXISTS idx_dns_records_type ON dns_records (type);
CREATE TABLE IF NOT EXISTS email_accounts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
account_id INTEGER NOT NULL,
email TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
quota_mb INTEGER DEFAULT 500,
email TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
enc_password TEXT,
quota_mb INTEGER DEFAULT 500,
used_mb INTEGER DEFAULT 0,
status TEXT DEFAULT 'active' CHECK(status IN ('active','suspended')),
created_at TEXT DEFAULT (datetime('now')),