|
@@ -403,24 +403,29 @@ function show_about {
|
403
|
403
|
|
404
|
404
|
function select_user {
|
405
|
405
|
SELECTED_USERNAME=
|
406
|
|
- data=$(tempfile 2>/dev/null)
|
407
|
|
- trap "rm -f $data" 0 1 2 5 15
|
408
|
|
- dialog --title "Select a user" \
|
409
|
|
- --backtitle $"Freedombone Control Panel" \
|
410
|
|
- --dselect "/home/" 14 40 2> $data
|
411
|
|
- sel=$?
|
412
|
|
- case $sel in
|
413
|
|
- 0) SELECTED_USERNAME=$(cat $data | awk -F '/' '{print $3}');;
|
414
|
|
- 1) return;;
|
415
|
|
- 255) return;;
|
416
|
|
- esac
|
417
|
|
- if [ ${#SELECTED_USERNAME} -lt 2 ]; then
|
418
|
|
- SELECTED_USERNAME=
|
419
|
|
- fi
|
420
|
|
- if [ ! -d /home/$SELECTED_USERNAME ]; then
|
421
|
|
- dialog --title $"User directory check" \
|
422
|
|
- --msgbox $"This does not look like a user directory" 6 40
|
423
|
|
- SELECTED_USERNAME=
|
|
406
|
+
|
|
407
|
+ users_array=($(ls /home))
|
|
408
|
+
|
|
409
|
+ delete=(mirrors git)
|
|
410
|
+ for del in ${delete[@]}
|
|
411
|
+ do
|
|
412
|
+ users_array=(${users_array[@]/$del})
|
|
413
|
+ done
|
|
414
|
+
|
|
415
|
+ i=0
|
|
416
|
+ W=()
|
|
417
|
+ name=()
|
|
418
|
+ for u in ${users_array[@]}
|
|
419
|
+ do
|
|
420
|
+ i=$((i+1))
|
|
421
|
+ W+=($i "$u")
|
|
422
|
+ name+=("$u")
|
|
423
|
+ done
|
|
424
|
+
|
|
425
|
+ user_index=$(dialog --backtitle $"Freedombone Control Panel" --title $"Select User" --menu $"Select one of the following:" 24 40 17 "${W[@]}" 3>&2 2>&1 1>&3)
|
|
426
|
+
|
|
427
|
+ if [ $? -eq 0 ]; then
|
|
428
|
+ SELECTED_USERNAME="${name[$((user_index-1))]}"
|
424
|
429
|
fi
|
425
|
430
|
}
|
426
|
431
|
|