#!/bin/sh

os=$(cat "${__global:?}/explorer/os")
name=${__object_id:?}

PHPVER=$(cat "${__object:?}/parameter/php-version")
export PHPVER

case "$os" in
	'alpine')
		PHPVER=$(echo "$PHP_VERSION" | tr -d '.')
		service="php-fpm${PHPVER}"
		php_confdir="/etc/php${PHPVER}"
		php_pooldir="${php_confdir:?}/php-fpm.d"
	;;
	'debian'|'ubuntu')
		service="php${PHPVER}-fpm"
		php_confdir="/etc/php/${PHPVER}"
		php_pooldir="${php_confdir:?}/fpm/pool.d"
	;;
	*)
		printf "Your operating system is currently not supported by this type\n" >&2
		printf "Please contribute an implementation for it if you can.\n" >&2
		exit 1
		;;
esac

POOL_NAME="$name"
POOL_USER=$(cat "${__object:?}/parameter/pool-user")
POOL_GROUP=$(cat "${__object:?}/parameter/pool-group")
POOL_LISTEN_ADDR=$(cat "${__object:?}/parameter/pool-listen-addr")
POOL_LISTEN_OWNER=$(cat "${__object:?}/parameter/pool-listen-owner")
export POOL_USER POOL_GROUP POOL_LISTEN_ADDR POOL_LISTEN_OWNER POOL_NAME

mkdir -p "${__object:?}/files"
"${__type:?}/files/www.conf.sh" >"${__object:?}/files/www.conf"

__file "${php_pooldir:?}/${name}.conf" \
	--mode 644 --source "${__object:?}/files/www.conf" \
	--onchange "service $service reload"
