Skip to content

Commit 085e2df

Browse files
committed
Improve web template updating when multiphp is enabled and preserve custom templates
1 parent 95dcc6b commit 085e2df

File tree

1 file changed

+29
-12
lines changed

1 file changed

+29
-12
lines changed

bin/v-update-web-templates

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,36 +32,53 @@ else
3232
exit $E_NOTEXIST
3333
fi
3434

35+
if [ -z "$WEB_SYSTEM" ]; then
36+
echo "Error: Missing Web System"
37+
log_event "$E_ARGS"
38+
exit $E_ARGS
39+
fi
40+
41+
HST_WEBTEMPLATES="$HESTIA/data/templates/web"
3542

3643
#----------------------------------------------------------#
3744
# Action #
3845
#----------------------------------------------------------#
3946

4047
# Update templates
41-
if [ -d $HESTIA/data/templates/web ]; then
42-
rm -rf $HESTIA/data/templates/web/skel 2>/dev/null
43-
rm -rf $HESTIA/data/templates/web/suspend 2>/dev/null
44-
rm -rf $HESTIA/data/templates/web/unassigned 2>/dev/null
48+
if [ -d "${HST_WEBTEMPLATES}" ]; then
49+
rm -rf "${HST_WEBTEMPLATES}/skel" 2>/dev/null
50+
rm -rf "${HST_WEBTEMPLATES}/suspend" 2>/dev/null
51+
rm -rf "${HST_WEBTEMPLATES}/unassigned" 2>/dev/null
4552
fi
4653

47-
cp -rf $HESTIA/install/$type/templates/web $HESTIA/data/templates/
54+
for webtpl_folder in $(ls $HESTIA/install/$type/templates/web/* -d 2>/dev/null | egrep -v '/(nginx)$' ); do
55+
cp -rf "${webtpl_folder}" "${HST_WEBTEMPLATES}/"
56+
done
57+
58+
[ -d "${HST_WEBTEMPLATES}/nginx" ] || mkdir -p "${HST_WEBTEMPLATES}/nginx"
4859

4960
# Update Multi-PHP templates
5061
php_versions=$(ls /etc/php/*/fpm -d 2>/dev/null | wc -l)
5162
if [ "$php_versions" -gt 1 ]; then
52-
if [ "$WEB_SYSTEM" = "nginx" ]; then
53-
for tplname in $(ls $HESTIA/data/templates/web/$WEB_SYSTEM/ | grep -E 'PHP-[0-9][0-9]' ); do
54-
rm -fr $HESTIA/data/templates/web/$WEB_SYSTEM/$tplname
55-
done
56-
fi
5763
for v in $(ls /etc/php/); do
5864
if [ ! -d "/etc/php/$v/fpm/pool.d/" ]; then
5965
continue
6066
fi
6167
v_tpl=$(echo "$v" | sed -e 's/[.]//')
62-
cp -f $HESTIA/install/$type/multiphp/$WEB_SYSTEM/PHP-$v_tpl.* $HESTIA/data/templates/web/$WEB_SYSTEM/
68+
cp -f "$HESTIA/install/$type/multiphp/${WEB_SYSTEM}/PHP-${v_tpl}".* "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/"
6369
done
64-
chmod a+x $HESTIA/data/templates/web/$WEB_SYSTEM/*.sh
70+
chmod a+x "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/"*.sh 2> /dev/null
71+
72+
# Create default TPL symlink when missing and point to the last php version found
73+
if [ ! -z $v_tpl ] && [ "$WEB_SYSTEM" = "nginx" ]; then
74+
[ -e "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.sh" ] || ln -s "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/PHP-${v_tpl}.sh" "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.sh"
75+
[ -e "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.tpl" ] || ln -s "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/PHP-${v_tpl}.tpl" "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.tpl"
76+
[ -e "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.stpl" ] || ln -s "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/PHP-${v_tpl}.stpl" "${HST_WEBTEMPLATES}/${WEB_SYSTEM}/default.stpl"
77+
fi
78+
fi
79+
80+
if [ "$PROXY_SYSTEM" = 'nginx' ] || [ "$php_versions" -le 1 ]; then
81+
cp -rf "${HESTIA}/install/${type}/templates/web/nginx" "${HST_WEBTEMPLATES}/"
6582
fi
6683

6784
# Rebuilding web domains

0 commit comments

Comments
 (0)