HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: /volume1/@appstore/MailPlus-Server/scripts/DsmVersionUtil.sh
#!/bin/bash

YES=0
NO=1

isDSM7OrAbove()
{
	local dsm_mayor_version="$(get_key_value /etc.defaults/VERSION majorversion)"
	if [[ "${dsm_mayor_version}" -gt 6 ]]; then
		return ${YES}
	else
		return ${NO}
	fi
}

isDSM62OrAbove()
{
	local dsm_mayor_version="$(get_key_value /etc.defaults/VERSION majorversion)"
	local dsm_minor_version="$(get_key_value /etc.defaults/VERSION minorversion)"
	if [[ "${dsm_mayor_version}" -gt 6 ]]; then
		return ${YES}
	elif [[ "${dsm_mayor_version}" -eq 6 && "${dsm_minor_version}" -ge 2 ]]; then
		return ${YES}
	else
		return ${NO}
	fi
}


isDsm6PkgStarted()
{
	local serverStatus="$(synopkg status MailPlus-Server | sed -n 1p)"
	if [[ "${serverStatus}" == *"started" ]]; then
		return ${YES}
	fi
	return ${NO}
}

isDsm6PkgEnable()
{
	local package="${1:-MailPlus-Server}"
	local enabled_flag="/var/packages/${package}/enabled"
	if [ -f "${enabled_flag}" ]; then
		return ${YES}
	fi
	return ${NO}
}

isDsm7PkgEnable()
{
	local package="${1:-MailPlus-Server}"
	local package_ctl="pkgctl-${package}"
	local status="$(systemctl is-active ${package_ctl})"
	if [ "${status}" == "activating" ] || [ "${status}" == "active" ]; then
		return ${YES}
	fi
	return ${NO}
}

isPackageEnable()
{
	local enabled_package_check="$1"
	if isDSM7OrAbove; then
		isDsm7PkgEnable "${enabled_package_check}"
	else
		isDsm6PkgEnable "${enabled_package_check}"
	fi
}

isPackageStarted()
{
	if isDSM7OrAbove; then
		isDsm7PkgEnable
	else
		isDsm6PkgStarted
	fi
}