#!/bin/sh

SERVER_URL=$1
MOUNT_POINT=$2

FS_TYPE="davfs"

BSD_SED_IN_PLACE="sed -i ''"
GNU_SED_IN_PLACE="sed -i "

OS=`uname -o`
if [ $OS = 'GNU/Linux' ]
then
  SED_IN_PLACE=${GNU_SED_IN_PLACE}
else
  SED_IN_PLACE=${BSD_SED_IN_PLACE}
fi

get_mount_user(){

  ## get mount point owner
  MOUNT_USER=`ls -ld ${MOUNT_POINT} | awk '{print $3}'`
  MOUNT_USER_GROUP=`ls -ld ${MOUNT_POINT} | awk '{print $4}'`
  MOUNT_USER_FOLDER=`su - ${MOUNT_USER} -c 'eval "echo $HOME"'`

}

remove_connection(){

  ## test if connection exists
  cat /etc/fstab | grep " ${FS_TYPE} " | grep "${SERVER_URL}" | grep "${MOUNT_POINT}" > /dev/null
  if [ $? != 0 ]
  then
    echo ""
    echo "ERROR (2): That connection is not setup"
    echo ""
    exit 2
  fi

  ## remove entry from fstab
  ${SED_IN_PLACE} "\|^${SERVER_URL} ${MOUNT_POINT} ${FS_TYPE} .*|d" /etc/fstab

}

remove_credentials(){

  ## remove credentials from davfs2 secrets file
  ${SED_IN_PLACE} "\|${SERVER_URL} .*|d" ${MOUNT_USER_FOLDER}/.davfs2/secrets

}

if [ $# = 2 ]
then
  get_mount_user
  remove_credentials
  remove_connection
else
  echo ""
  echo "Usage (1): $0 server_url mount_point"
  echo "Example  : $0 http://webdav.example.com:80/shares /home/bill/Shares"
  echo ""
fi
