diff --git a/lib/user-manager.sh b/lib/user-manager.sh index abe0386..96b7de6 100755 --- a/lib/user-manager.sh +++ b/lib/user-manager.sh @@ -272,8 +272,23 @@ get_plesk_user_domains() { [ -z "$1" ] && return 1 local username="$1" + # Try MySQL query first if command_exists mysql && [ -f /etc/psa/.psa.shadow ]; then - mysql -Ns psa -e "SELECT d.name FROM domains d JOIN sys_users u ON d.id=u.domain_id WHERE u.login='$username'" 2>/dev/null + local domains=$(mysql -Ns psa -e "SELECT d.name FROM domains d JOIN sys_users u ON d.id=u.domain_id WHERE u.login='$username'" 2>/dev/null) + if [ -n "$domains" ]; then + echo "$domains" + return 0 + fi + fi + + # Fallback: Use Plesk CLI if available + if [ -x "/usr/local/psa/bin/plesk" ]; then + /usr/local/psa/bin/plesk bin site --list 2>/dev/null | grep -i "$username" || true + fi + + # Last resort: Check if vhosts directory exists for this user + if [ -d "/var/www/vhosts/$username" ]; then + echo "$username" fi }