#!/bin/bash
#rcrsn51 2011-09-15
#v1.3 2012-06-24
#gettexted by esmourguit february 2013

export TEXTDOMAIN=yassm
export OUTPUT_CHARSET=UTF-8

WAIT=20
while [ "$WAIT" -gt 0 ]; do
  NETWORK=$(route -n | awk '/^[0-9]/ && ($1 !~ /^0.0/) && ($1 !~ /^127.0/) && ($1 !~ /^169.254/) {print $1}')
  [ "$NETWORK" ] && break
  sleep 1
  ((WAIT--))
done

if [ -z "$NETWORK" ]; then
  Xdialog --title "YASSM" --msgbox "$(gettext 'No network detected!')" 0 0
  exit 1
fi

PROCESS () {

LINE=$1
USER=`echo $LINE | cut -d "," -f 2 | tr -d " "`
PASSWORD=`echo $LINE | cut -d "," -f 3 | tr -d " "`
[ "$PASSWORD" = "***" ] && PASSWORD=$(Xdialog --stdout --title "YASSM" --password --inputbox "Password for $USER" 0 0)
SHARE=`echo $LINE | cut -d "," -f 4 | tr -d " "`
SERVER=`echo $LINE | cut -d "," -f 5 | tr -d " "`
OPTIONS=`echo $LINE | cut -d "," -f 6 | tr -d " " | tr ";" ","`

if [ -z "$SHARE" ]; then
  SHARE=$USER
fi

[ -z "$USER" ] && USER="guest"
AUTH="-o username="$USER
if [ -n "$PASSWORD" ]; then
  AUTH=$AUTH",password="$PASSWORD
else
  AUTH=$AUTH",guest"
fi

if [ -n "$OPTIONS" ]; then
  AUTH=$AUTH","$OPTIONS
fi

MYSHARE=$HOME/YASSM/$SHARE@$SERVER
MYSHARE="${MYSHARE// /.}"
mkdir -p $MYSHARE
umount $MYSHARE 2> /dev/null   #in case it's already mounted

echo -n $SERVER | grep -q "^[0-9][0-9]*\."	#is this an IP address?
if [ $? -gt 0 ]; then
  IP=$(nmblookup $SERVER | tail -n 1 | cut -f 1 -d " ")
else
  IP=$SERVER
fi

SHARE="${SHARE//./ }"
mount.cifs //$IP/"$SHARE" $MYSHARE $AUTH

}

DATA=$HOME/.yassm/yassm-select.dat
[ -f $DATA ] || exit 1
tail -n+10 $DATA | sed 's/none//g' > /tmp/shares.dat     # strip off the instructions

while read L; do
  [ "$L" = "EOF" ] && break
  PROCESS "$L"
done </tmp/shares.dat

ls $HOME/YASSM > /dev/null
Xdialog --title "YASSM" --infobox "$(gettext 'Share mounting completed')" 0 0 2000
