#!/bin/sh
NAME="Samba"
DESC="File Sharing"
CONF=/usr/local/etc/samba/smb.conf

startsmb(){
    [ -d /usr/local/var/cache/samba ] || mkdir -p /usr/local/var/cache/samba
    [ -d /usr/local/var/run/samba ] || mkdir -p /usr/local/var/run/samba
    [ -d /usr/local/var/lock/samba ] || mkdir -p /usr/local/var/lock/samba
    [ -d /usr/local/var/lib/samba/private ] || mkdir -p /usr/local/var/lib/samba/private
    [ -d /usr/local/var/lib/samba/bind-dns ] || mkdir -p /usr/local/var/lib/samba/bind-dns

    grep -q "path" $CONF
    if [ $? -eq 0 ]; then
        echo "Starting SAMBA..."
        /usr/local/sbin/smbd
        /usr/local/sbin/nmbd
    else
        echo "Samba not Configured......exiting"
    fi
}

stopsmb(){
    echo -n "Stopping SAMBA"
    pkill nmbd
    pkill smbd
    CNT=0
    while [ $CNT -lt 50 ]; do
        [ $((CNT++)) ]
        PID=$(pidof nmbd)
        [ -z "$PID" ] && PID=$(pidof smbd)
        [ -z "$PID" ] && break
        sleep .1
        echo -n "."
    done
    echo "Stopped."
}
#Must Run as Root for ownership
if [ $(/usr/bin/id -u) -ne 0 ]; then
    echo "Need to run as root." >&2
    exit 1
fi

case "$1" in
    start)
        startsmb
    ;;
    stop)
        stopsmb
    ;;
    restart)
        echo "Restarting SAMBA..."
        stopsmb
        sleep 3
        startsmb
    ;;
    status)
        PID=$(pidof smbd)
        if [ -n "$PID" ]; then
            echo "Samba Running"
            exit 0
        else
            echo "Samba Not Running"
            exit 1
        fi
    ;;
    *)
        echo ""
        echo -e "Usage: /usr/local/etc/init.d/$(basename $0) [start|stop|restart|status]"
        echo ""
        exit 1
    ;;
esac
exit 0
