#!/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