diff --git a/lib/reference-db.sh b/lib/reference-db.sh index a031350..e36eff5 100755 --- a/lib/reference-db.sh +++ b/lib/reference-db.sh @@ -182,7 +182,7 @@ build_users_section() { local home_dir=$(get_user_info "$user" | grep "^HOME_DIR=" | cut -d= -f2 || echo "") local disk_mb=0 if [ -n "$home_dir" ] && [ -d "$home_dir" ]; then - disk_mb=$(du -sm "$home_dir" 2>/dev/null | awk '{print $1}') + disk_mb=$(du -sm "$home_dir" 2>/dev/null | awk '{print $1}' || echo 0) fi echo "USER|$user|$primary_domain|$db_count|$domain_count|$disk_mb|$home_dir" >> "$SYSREF_DB" @@ -382,7 +382,7 @@ build_domains_section() { domain_type="primary" elif [[ "$domain" =~ \. ]] && [[ "$domain" =~ ^[^.]+\. ]]; then # Check if it's a subdomain of the primary - local base_domain=$(echo "$domain" | rev | cut -d. -f1-2 | rev) + local base_domain=$(echo "$domain" | rev | cut -d. -f1-2 | rev || echo "$domain") if [ "$base_domain" = "$primary_domain" ]; then domain_type="subdomain" fi @@ -502,7 +502,7 @@ build_wordpress_section() { local username=$(echo "$wp_dir" | cut -d'/' -f3) # Try to get domain from path - check if it's in a subdomain or addon domain folder - local path_after_home=$(echo "$wp_dir" | sed "s|^/home/$username/||") + local path_after_home=$(echo "$wp_dir" | sed "s|^/home/$username/||" || echo "$wp_dir") local domain="" # Check for common domain folder patterns @@ -815,7 +815,7 @@ get_domain_status() { fi # Get domain record (DOMAIN|domain|owner|doc_root|log_path|php|primary|type|alias|http|https|status) - local record=$(grep "^DOMAIN|${domain}|" "$SYSREF_DB" 2>/dev/null | head -1) + local record=$(grep "^DOMAIN|${domain}|" "$SYSREF_DB" 2>/dev/null | head -1 || true) if [ -z "$record" ]; then return 1 diff --git a/lib/user-manager.sh b/lib/user-manager.sh index 82925eb..282b056 100755 --- a/lib/user-manager.sh +++ b/lib/user-manager.sh @@ -134,7 +134,7 @@ get_cpanel_user_info() { local all_domains=$(grep "^DNS" -- "$user_file" | cut -d= -f2 | tr '\n' ' ') # Get disk usage - local disk_used=$(du -sh "$home_dir" 2>/dev/null | awk '{print $1}') + local disk_used=$(du -sh "$home_dir" 2>/dev/null | awk '{print $1}' || echo "0B") echo "USER_EXISTS=yes" echo "USERNAME=$username" @@ -193,7 +193,7 @@ get_interworx_user_info() { sed 's|.*/vhost_||; s|\.conf$||' | tr '\n' ' ' | sed 's/[[:space:]]*$//') # Get disk usage - local disk_used=$(du -sh "$home_dir" 2>/dev/null | awk '{print $1}') + local disk_used=$(du -sh "$home_dir" 2>/dev/null | awk '{print $1}' || echo "0B") # Try to get email from NodeWorx API (if available) # Note: This requires nodeworx CLI which may need authentication @@ -739,14 +739,14 @@ show_user_summary() { # Domains local domains=$(get_user_domains "$username") - local domain_count=$(echo "$domains" | grep -v "^$" | wc -l) + local domain_count=$(echo "$domains" | grep -v "^$" | wc -l || echo 0) echo " Domains ($domain_count):" echo "$domains" | sed 's/^/ - /' echo "" # Databases local databases=$(get_user_databases "$username") - local db_count=$(echo "$databases" | grep -v "^$" | wc -l) + local db_count=$(echo "$databases" | grep -v "^$" | wc -l || echo 0) echo " Databases ($db_count):" echo "$databases" | sed 's/^/ - /' echo "" @@ -766,8 +766,8 @@ show_all_users_summary() { for user in "${users[@]}"; do local primary=$(get_user_domains "$user" | head -1) - local domain_count=$(get_user_domains "$user" | grep -v "^$" | wc -l) - local db_count=$(get_user_databases "$user" | grep -v "^$" | wc -l) + local domain_count=$(get_user_domains "$user" | grep -v "^$" | wc -l || echo 0) + local db_count=$(get_user_databases "$user" | grep -v "^$" | wc -l || echo 0) printf " %-20s %-30s %10s %10s\n" "$user" "$primary" "$domain_count" "$db_count" done