#!/usr/bin/env bash

ENABLED=yes
[[ ${ENABLED} != "yes" ]] && exit 0
DEBUGMODE=no

SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"

SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/server; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

## Включить SAMBA usershares лёгкая публикация каталога пользователя в сети
## SAMBA_USERSHARE=enable|yes|disable|no
##   enable|yes		# Включить настройку usershares
##   disable|no		# Выключить настройку usershares
##
## SAMBA_USERSHARE[<param>]=<value>
##   usershare max shares       # Разрешённое максимальное кол-во сетевых каталогов. Возмжные значения от 0 до 65535. По умолчанию: 100
##   usershare allow guests     # Разрешить гость вход. Возможные значения 'yes' | 'no'. По умолчанию: yes
##   usershare owner only       # Разрешить только владельцу. Возможные значения 'yes' | 'no'. По умолчанию: yes

PATH_SAMBA="/etc/samba"
FILE_SAMBA_CONF="${PATH_SAMBA}/smb.conf"
FILE_USERSSHARES_CONF="${PATH_SAMBA}/usershares.conf"
USERSHARES_CONF=$(cat <<EOF
[global]
        usershare path = /var/lib/samba/usershares
        usershare max shares = 100
        usershare allow guests = yes
        usershare owner only = yes
        usershare prefix deny list = /etc /dev /sys /proc
        usershare prefix allow list = /home /srv /mnt /media /var
EOF
)

    USERSHARES="/var/lib/samba/usershares"
    [[ -d ${USERSHARES} ]] && chmod 1770 ${USERSHARES} && chgrp -R sambashare ${USERSHARES} || install -dm1770 -o root -g sambashare ${USERSHARES}

    USERSHARESPUB="/home/usershares"
    [[ -d ${USERSHARESPUB} ]] && chmod 3770 ${USERSHARESPUB} && chgrp -R sambashare ${USERSHARESPUB} || install -dm3770 -o root -g sambashare ${USERSHARESPUB}

    usermod -a -G sambashare nobody

    if [[ ${SAMBA_USERSHARE} == @(enable|yes) ]]; then
	[[ -f "${FILE_USERSSHARES_CONF}" ]] || echo -ne "${USERSHARES_CONF}" > "${FILE_USERSSHARES_CONF}"
	[[ $(cat "${FILE_SAMBA_CONF}" 2>/dev/null) =~ "include = ${FILE_USERSSHARES_CONF}" ]] || sed "/^\s*\[global\]/a\ \ include = ${FILE_USERSSHARES_CONF}" -i ${FILE_SAMBA_CONF}
    elif [[ ${SAMBA_USERSHARE} == @(disable|no) ]]; then
	rm -f "${FILE_USERSSHARES_CONF}"
	sed "\|include = ${FILE_USERSSHARES_CONF}|d" -i "${FILE_SAMBA_CONF}"
    fi
    
    ## TODO
    ## Изменение параметров и вставка новых в файле конфигурации ${FILE_USERSSHARES_CONF}
    
    
    