Files
ddev-helper/host/gambio

104 lines
3.1 KiB
Bash

#!/bin/bash
## Description: gambio helper scripts
## Usage: gambio [flags] [args]
## ProjectTypes: php
# Funktion, die aufgerufen wird, wenn Strg+C gedrückt wird
cleanup()
{
case $? in
0)
echo "Das Skript wurde erfolgreich beendet."
;;
# 1)
# echo "Ein allgemeiner Fehler ist aufgetreten."
# ;;
# 255)
# echo "Das Skript wurde mit Fehler 255 (unbekannter schwerer Fehler) beendet."
# ;;
*)
# echo "Das Skript wurde mit Exit-Code $? beendet."
echo "Beende das Teilen und konfiguriere auf lokalen Betrieb."
ddev gambio unshare
;;
esac
exit 0
}
# "trap" fängt EXIT ab und ruft die Funktion "cleanup" auf
trap cleanup EXIT
set_shop_domain()
{
if [ "$1" = ngrok ] ; then
echo "${DDEV_APPROOT}"
# Lese die ngrok_args aus der .ddev/config.yaml
NGROK_ARGS=$(grep 'ngrok_args' "${DDEV_APPROOT}"/.ddev/config.yaml)
# Extrahiere das Argument --domain aus ngrok_args
SHOP_URL="https://$(echo "$NGROK_ARGS" | grep -oP '(?<=--domain )\S+')"
elif [ "$1" = devtn ] ; then
echo "${DDEV_APPROOT}"
SHOP_URL="https://share.hq.lenk.gmbh"
elif [ "$1" = share ] ; then
echo "${DDEV_APPROOT}"
SHOP_URL="https://${DDEV_SITENAME,,}.dev.lenk.gmbh"
elif [ "$1" = unshare ] ; then
SHOP_URL=${DDEV_PRIMARY_URL}
fi
echo "Konfiguriere den Shop auf folgende Domain: $SHOP_URL"
# Liste der Konfigurationsdateien
files="includes/configure.php admin/includes/configure.php"
# Durchlaufe jede Datei in dem Array
for file_path in $files
do
# sed Befehle zum Setzen der Shop-Domain
sed -i "s|define('HTTP_SERVER', '.*')|define('HTTP_SERVER', '${SHOP_URL}')|g" "${DDEV_APPROOT}/$file_path"
sed -i "s|define('HTTPS_SERVER', '.*')|define('HTTPS_SERVER', '${SHOP_URL}')|g" "${DDEV_APPROOT}/$file_path"
sed -i "s|define('HTTP_CATALOG_SERVER', '.*')|define('HTTP_CATALOG_SERVER', '${SHOP_URL}')|g" "${DDEV_APPROOT}/$file_path"
sed -i "s|define('HTTPS_CATALOG_SERVER', '.*')|define('HTTPS_CATALOG_SERVER', '${SHOP_URL}')|g" "${DDEV_APPROOT}/$file_path"
done
}
clear_caches()
{
echo "Leere die Caches"
if [ "$(ls -A "${DDEV_APPROOT}"/cache)" ]; then
rm -r "${DDEV_APPROOT}"/cache/*
else
echo "Verzeichnis 'cache' bereits geleert..."
fi
if [ "$(ls -A "${DDEV_APPROOT}"/public/theme)" ]; then
rm -r "${DDEV_APPROOT}"/public/theme/*
else
echo "Verzeichnis 'public/theme' bereits geleert..."
fi
}
case $1 in
share|unshare|devtn|ngrok)
set_shop_domain "$@"
clear_caches "$@"
if [ "$1" = ngrok ] ; then
echo "teile Shop via ngrok..."
ddev share
elif [ "$1" = devtn ] ; then
echo "teile Shop via share.hq.lenk.gmbh..."
ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=4 remotetunnel@monitor.hq.lenk.gmbh -p 2222 -R 65318:localhost:"$DDEV_HOST_WEBSERVER_PORT"
elif [ "$1" = share ] ; then
echo "teile Shop via dev.lenk.gmbh..."
ssh -p 2222 -R "$DDEV_SITENAME":80:localhost:"$DDEV_HOST_WEBSERVER_PORT" dev.lenk.gmbh
fi
;;
*)
echo "Invalid argument: $1"
;;
esac