#!/bin/sh

SERVICETOOL="/usr/syno/bin/servicetool"
PACKAGE_DIR="/var/packages/VideoStation"

install_synosdk_userhook_plugin()
{
	local scriptsPach="${PACKAGE_DIR}/target/bin"
	local destusercommon="/usr/local/libexec"
	local destuserdelete="/usr/local/libexec/user_delete"

        if [ ! -d ${destusercommon} ]; then
                mkdir -p ${destusercommon}
        fi
        if [ ! -d ${destuserdelete} ]; then
                mkdir -p ${destuserdelete}
        fi
        ln -sf "${scriptsPach}/synovideostation_user_del" "${destuserdelete}/"
}

install_synosdk_sharehook_plugin()
{
	local scriptsPath="${PACKAGE_DIR}/target/scripts"
	local destsharedelete="/usr/local/libexec/share_delete"
	local destshareset="/usr/local/libexec/share_set"

	if [ ! -d ${destsharedelete} ]; then
		mkdir -p ${destsharedelete}
	fi
	if [ ! -d ${destshareset} ]; then
		mkdir -p ${destshareset}
	fi
	ln -sf "${scriptsPath}/VideoindexShareDelete.sh" "${destsharedelete}/"
	ln -sf "${scriptsPath}/VideoindexShareSet.sh" "${destshareset}/"
}

# add port-forwarding config file
${SERVICETOOL} --install-configure-file --package $SYNOPKG_PKGDEST/etc/videostation_port

#check_and_update_db_recover
${PACKAGE_DIR}/target/scripts/sql.sh

INDEX_PACKAGE_PATH=/usr/syno/etc/synoindex/packages/${SYNOPKG_PKGNAME}/

if [ ! -d ${INDEX_PACKAGE_PATH} ]; then
	mkdir -p ${INDEX_PACKAGE_PATH}
fi
#Stop related daemons
/usr/syno/etc.defaults/rc.d/S66synoindexd.sh stop
/usr/syno/etc.defaults/rc.d/S77synomkthumbd.sh stop
/usr/syno/etc.defaults/rc.d/S88synomkflvd.sh stop

#Install INFO and shared libraries
ln -sf ${SYNOPKG_PKGDEST}/etc/index/libvideoindex.so* ${INDEX_PACKAGE_PATH}/
cp -rf ${SYNOPKG_PKGDEST}/etc/index/INFO ${INDEX_PACKAGE_PATH}/

#Install default plugin.conf to etc folder
cp -f ${PACKAGE_DIR}/target/etc/plugin.conf ${PACKAGE_DIR}/etc

if [ ! -d "${PACKAGE_DIR}/etc/channels" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/channels"
	if [ -f "${PACKAGE_DIR}/etc/channels.conf" ]; then
		mv "${PACKAGE_DIR}/etc/channels.conf" "${PACKAGE_DIR}/etc/channels/0channels.conf"
	fi
	if [ ! -f "${PACKAGE_DIR}/etc/channels/0channels.conf" ]; then
		touch "${PACKAGE_DIR}/etc/channels/0channels.conf"
	fi
fi
if [ ! -d "${PACKAGE_DIR}/etc/scans" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/scans"
	if [ -f "${PACKAGE_DIR}/etc/scan.conf" ]; then
		mv "${PACKAGE_DIR}/etc/scan.conf" "${PACKAGE_DIR}/etc/scans/0scan.conf"
	fi	
fi
if [ ! -d "${PACKAGE_DIR}/etc/dtvschedules" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/dtvschedules"
	if [ -f "${PACKAGE_DIR}/etc/dtv_schedule.json" ]; then
		mv "${PACKAGE_DIR}/etc/dtv_schedule.json" "${PACKAGE_DIR}/etc/dtvschedules/0dtv_schedule.json"
	fi
fi
if [ ! -d "${PACKAGE_DIR}/etc/dtvrepeatschedules" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/dtvrepeatschedules"
	if [ -f "${PACKAGE_DIR}/etc/dtv_repeat_schedule.json" ]; then
		mv "${PACKAGE_DIR}/etc/dtv_repeat_schedule.json" "${PACKAGE_DIR}/etc/dtvrepeatschedules/0dtv_repeat_schedule.json"
	fi
fi
if [ ! -d "${PACKAGE_DIR}/etc/EPGs" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/EPGs"
	if [ -d "${PACKAGE_DIR}/etc/EPG" ]; then
		mv "${PACKAGE_DIR}/etc/EPG" "${PACKAGE_DIR}/etc/EPGs/0EPG"
	fi
fi
if [ ! -d "${PACKAGE_DIR}/etc/streams" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/streams"
fi
if [ ! -d "${PACKAGE_DIR}/etc/tunes" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/tunes"
fi
if [ ! -d "${PACKAGE_DIR}/etc/records" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/records"
fi
if [ ! -d "${PACKAGE_DIR}/etc/satellite" ]; then
	mkdir -p "${PACKAGE_DIR}/etc/satellite"
fi
if [ ! -d "${PACKAGE_DIR}/target/etc/synodvb_s" ]; then
	mkdir -p "${PACKAGE_DIR}/target/etc/synodvb_s"
fi
${PACKAGE_DIR}/target/bin/w_scan -s load_default

#Start related daemons
/usr/syno/etc.defaults/rc.d/S66synoindexd.sh start
/usr/syno/etc.defaults/rc.d/S77synomkthumbd.sh start
/usr/syno/etc.defaults/rc.d/S88synomkflvd.sh start

install_synosdk_userhook_plugin
install_synosdk_sharehook_plugin

exit 0
