docker-flarum/rootfs/usr/local/bin/extension

60 lines
1.5 KiB
Plaintext
Raw Normal View History

2019-11-26 21:42:51 -05:00
#!/usr/bin/env sh
# COMPOSER WRAPUP SCRIPT
# This script allow to add new extensions to flarum
CSI="\033["
CEND="${CSI}0m"
CRED="${CSI}1;31m"
CGREEN="${CSI}1;32m"
2018-11-29 23:24:19 -05:00
cd /flarum/app
# Composer cache dir and packages list paths
2018-11-29 22:00:50 -05:00
CACHE_DIR=/flarum/app/extensions/.cache
LIST_FILE=/flarum/app/extensions/list
# Cmd ARGS
2018-12-26 15:23:52 -05:00
action="${1}"
package="${2}"
# Create custom extensions cache folder and list file
2019-12-28 16:24:02 -05:00
su-exec "${UID}:${GID}" mkdir -p "${CACHE_DIR}"
su-exec "${UID}:${GID}" touch "${LIST_FILE}"
2018-12-26 15:23:52 -05:00
case "${action}" in
# Install a flarum extension
"require")
2020-11-19 12:13:36 -05:00
COMPOSER_CACHE_DIR="${CACHE_DIR}" su-exec "${UID}:${GID}" composer require "${package}"
if [ $? -eq 0 ]; then
2018-12-26 15:23:52 -05:00
echo "${package}" >> "${LIST_FILE}"
echo -e "\n${CGREEN}${package} added to flarum.${CEND}"
# Remove duplicate packages
2018-12-26 15:23:52 -05:00
sort -u -o "${LIST_FILE}" "${LIST_FILE}"
else
echo -e "\n${CRED}/!\ An error has occurred...${CEND}"
fi
;;
# Remove a flarum extension
"remove")
2020-11-19 12:13:36 -05:00
COMPOSER_CACHE_DIR="$CACHE_DIR" su-exec "${UID}:${GID}" composer remove "${package}"
if [ $? -eq 0 ]; then
sed -i "\|${package}|d" "$LIST_FILE"
echo -e "\n${CGREEN}${package} removed from flarum${CEND}"
else
echo -e "\n${CRED}/!\ An error has occurred...${CEND}"
fi
;;
"list")
2018-12-26 15:23:52 -05:00
cat "${LIST_FILE}"
;;
# Other composer action
*)
2020-11-19 12:13:36 -05:00
COMPOSER_CACHE_DIR="${CACHE_DIR}" su-exec "${UID}:${GID}" composer "${@}"
;;
esac
2019-12-28 16:24:02 -05:00
su-exec "${UID}:${GID}" php /flarum/app/flarum cache:clear
exit 0