From 7a1618d93d0308da4cb69c65fb811f7c3b090d6f Mon Sep 17 00:00:00 2001 From: Thomas Schneider Date: Thu, 3 Jul 2025 08:13:28 +0200 Subject: [PATCH] =?UTF-8?q?host/gambio=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- host/gambio | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 host/gambio diff --git a/host/gambio b/host/gambio new file mode 100644 index 0000000..ba5dc24 --- /dev/null +++ b/host/gambio @@ -0,0 +1,104 @@ +#!/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 \ No newline at end of file