diff --git a/scripts/global/share-common.func b/scripts/global/share-common.func index 89f262e..50d23c2 100644 --- a/scripts/global/share-common.func +++ b/scripts/global/share-common.func @@ -286,7 +286,7 @@ pmx_select_host_mount_point() { select_host_directory() { local method choice result - method=$(dialog --title "$(translate "Select Host Directory")" --menu "$(translate "How do you want to select the HOST folder to mount?")" 15 70 4 \ + method=$(dialog --title "$(translate "Select Host Directory")" --menu "\n$(translate "How do you want to select the HOST folder to mount?")" 15 70 4 \ "mnt" "$(translate "Select from /mnt directories")" \ "manual" "$(translate "Enter path manually")" 3>&1 1>&2 2>&3) || return 1 @@ -311,7 +311,7 @@ select_host_directory() { fi result=$(dialog --title "$(translate "Select Host Folder")" \ - --menu "$(translate "Select the folder to mount:")" 20 80 10 "${options[@]}" 3>&1 1>&2 2>&3) + --menu "\n$(translate "Select the folder to mount:")" 20 80 10 "${options[@]}" 3>&1 1>&2 2>&3) ;; manual) result=$(dialog --title "$(translate "Enter Path")" \ @@ -378,8 +378,8 @@ select_container_mount_point() { local choice mount_point existing_dirs options while true; do - choice=$(dialog --title "$(translate "Configure Mount Point inside LXC")" \ - --menu "$(translate "Where to mount inside container?")" 18 70 5 \ + choice=$(whiptail --title "$(translate "Configure Mount Point inside LXC")" \ + --menu "\n$(translate "Where to mount inside container?")" 18 70 5 \ "1" "$(translate "Create new directory in /mnt")" \ "2" "$(translate "Use existing directory in /mnt")" \ "3" "$(translate "Enter path manually")" \ @@ -392,27 +392,25 @@ select_container_mount_point() { mount_point="/mnt/$mount_point" pct exec "$ctid" -- mkdir -p "$mount_point" 2>/dev/null ;; - 2) - #existing_dirs=$(pct exec "$ctid" -- ls -1 /mnt 2>/dev/null | awk '{print "/mnt/"$1" "$1}') existing_dirs=$(pct exec "$ctid" -- find /mnt -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sort) - if [[ -z "$existing_dirs" ]]; then whiptail --msgbox "$(translate "No existing directories found in /mnt")" 8 60 continue fi + options=() + while IFS= read -r dir; do + name=$(basename "$dir") + options+=("$dir" "$name") + done <<< "$existing_dirs" mount_point=$(whiptail --title "$(translate "Select Existing Folder")" \ - --menu "$(translate "Choose a folder from /mnt:")" 20 70 10 \ - $existing_dirs 3>&1 1>&2 2>&3) || continue + --menu "$(translate "Choose a folder from /mnt:")" 20 70 10 "${options[@]}" 3>&1 1>&2 2>&3) || continue ;; - 3) mount_point=$(whiptail --inputbox "$(translate "Enter full path:")" 10 70 "/mnt/shared" 3>&1 1>&2 2>&3) || continue [[ -z "$mount_point" ]] && continue - mount_point="/mnt/$mount_point" pct exec "$ctid" -- mkdir -p "$mount_point" 2>/dev/null ;; - 4) return 1 ;; @@ -430,6 +428,7 @@ select_container_mount_point() { + # ========================================================== # CLIENT MOUNT FUNCTIONS (NFS/SAMBA COMMON) # ==========================================================