diff --git a/lib/domain-discovery.sh b/lib/domain-discovery.sh index 6541408..9b47b7f 100644 --- a/lib/domain-discovery.sh +++ b/lib/domain-discovery.sh @@ -13,7 +13,14 @@ if [ -z "$TOOLKIT_BASE_DIR" ]; then fi # Source control panel helpers if available -[ "$SYS_CONTROL_PANEL" = "plesk" ] && [ -f "$LIB_DIR/plesk-helpers.sh" ] && source "$LIB_DIR/plesk-helpers.sh" +if [ "$SYS_CONTROL_PANEL" = "plesk" ]; then + # Try LIB_DIR first, then SCRIPT_DIR + if [ -n "$LIB_DIR" ] && [ -f "$LIB_DIR/plesk-helpers.sh" ]; then + source "$LIB_DIR/plesk-helpers.sh" + elif [ -n "$SCRIPT_DIR" ] && [ -f "$SCRIPT_DIR/plesk-helpers.sh" ]; then + source "$SCRIPT_DIR/plesk-helpers.sh" + fi +fi ############################################################################# # DOMAIN DISCOVERY (Control Panel Agnostic) @@ -36,7 +43,15 @@ list_all_domains() { ;; plesk) - plesk_list_domains + # Use plesk_list_domains if available, otherwise fallback + if type plesk_list_domains >/dev/null 2>&1; then + plesk_list_domains + else + # Fallback: scan vhosts directory + ls -1 /var/www/vhosts/ 2>/dev/null | \ + grep -v "^system$\|^chroot$\|^\.skel$\|^default$\|^fs$" | \ + grep -v "^\." || true + fi ;; interworx)