HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: //var/packages/StorageAnalyzer/scripts/pkg_utils
PACKAGE_DIR="/var/packages/${SYNOPKG_PKGNAME}"
DSM_INDEX_ADD="/usr/syno/bin/pkgindexer_add"
DSM_INDEX_DEL="/usr/syno/bin/pkgindexer_del"
PKG_INDEXDB_PATH="${PACKAGE_DIR}/target/indexdb"
PKG_APP_PATH="${PACKAGE_DIR}/target/ui"

MISC_DIR="/usr/syno"
UDC_DIR="/usr/syno/etc/user.data.conf"
OLD_UDC_CONFIG="${UDC_DIR}/report.config"

OLD_LOG_DIR="/var/log"
NEW_LOG_DIR="${PACKAGE_DIR}/var/log"
MIGRATED_LOG_DIR="${NEW_LOG_DIR}.migrated"
LOG_FILE_NAME="synoreport.log"
OLD_LOG_FILE="${OLD_LOG_DIR}/${LOG_FILE_NAME}"
NEW_LOG_FILE="${NEW_LOG_DIR}/${LOG_FILE_NAME}"

LN_BIN="/bin/ln"
RM_BIN="/bin/rm"
CP_BIN="/bin/cp"
MV_BIN="/bin/mv"
MKDIR_BIN="/bin/mkdir"
KILLALL_BIN="/bin/killall"
REPORT_BIN="/usr/syno/synoreport/synoreport"
SYNO_SYSCTL_BIN="/usr/syno/bin/synosystemctl"

SERVICE_GENERATE_GLOBAL_DATA="pkg-StorageAnalyzer-GenerateGlobalData.service"

CreateHelpAndString()
{
    if [ -n "$SYNOPKG_PKG_STATUS" ]; then
        ${DSM_INDEX_ADD} ${PKG_APP_PATH}/index.conf ${PKG_INDEXDB_PATH}/appindexdb
        ${DSM_INDEX_ADD} ${PKG_APP_PATH}/helptoc.conf ${PKG_INDEXDB_PATH}/helpindexdb
    fi
}
RemoveHelpAndString()
{
	if [ -n "$SYNOPKG_PKG_STATUS" ]; then
        ${DSM_INDEX_DEL} ${PKG_APP_PATH}/index.conf ${PKG_INDEXDB_PATH}/appindexdb
        ${DSM_INDEX_DEL} ${PKG_APP_PATH}/helptoc.conf ${PKG_INDEXDB_PATH}/helpindexdb
    fi
}

CopyFile()
{
	${CP_BIN} -f ${PACKAGE_DIR}/target${1}/${2} ${1}
}

CreateLink()
{
	${LN_BIN} -sf ${PACKAGE_DIR}/target${1}/${2} ${1}/${2}
}
RemoveLink()
{
	${RM_BIN} -f ${1}/${2}
}

RemoveTemplateAndBinaryLink()
{
	RemoveLink ${MISC_DIR} synoreport
}
CopyTemplateAndBinaryLink()
{
	${RM_BIN} -rf ${MISC_DIR}/synoreport
	CreateLink ${MISC_DIR} synoreport
}

RemoveOldUDCConfig()
{
	if [ -f "${OLD_UDC_CONFIG}" ]; then
        ${RM_BIN} -f ${OLD_UDC_CONFIG}
    fi
}

HideSchedule()
{
	[ -e "$REPORT_BIN" ] && "$REPORT_BIN" --hide-schedule
}

ShowSchedule()
{
	[ -e "$REPORT_BIN" ] && "$REPORT_BIN" --show-schedule
}

FixSchedule()
{
	[ -e "$REPORT_BIN" ] && "$REPORT_BIN" --fix-schedule
}

StopSynoreport()
{
	${KILLALL_BIN} -15 synoreport
}

StartServices()
{
	${SYNO_SYSCTL_BIN} start --no-block ${SERVICE_GENERATE_GLOBAL_DATA}
}

Log()
{
	local type="$1"; shift
	local msg="$1"; shift
	local dest="$1"; shift
	local d
	d=$(/bin/date '+%Y/%m/%d %T')
	echo -e "${type}\t${d}\t${msg}" >> "${dest}"
}

LogToOldLogFile()
{
	Log "$1" "$2" "${OLD_LOG_FILE}"
}

LogToNewLogFile()
{
	Log "$1" "$2" "${NEW_LOG_FILE}"
}