From 87eb71663bdce33e967da83aa41a6756caa1c262 Mon Sep 17 00:00:00 2001 From: age Date: Thu, 2 Mar 2006 20:02:31 +0000 Subject: [PATCH] die trac admin konsole --- tracadmin-console.sh | 96 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 tracadmin-console.sh diff --git a/tracadmin-console.sh b/tracadmin-console.sh new file mode 100755 index 0000000..0e5e631 --- /dev/null +++ b/tracadmin-console.sh @@ -0,0 +1,96 @@ +#!/bin/sh +# +# ein kleines Web-Interface, um die trac-admin-Konsole zu verwenden +# + +set -u + +# parent-URL der trac-Projekte +TRACURL="/trac" +# das trac-admin-Program +TRACADMIN="/usr/bin/trac-admin" +# das Verzeichnis, das alle trac-Projekte enthaelt +REPOS_ROOT="/data/trac" +# die URL der css-Datei von trac +CSSURL=/trac-shared/css/trac.css + +############# Funktionen ################### + +hole_uebergabe() +# Parameter: Name der Variablen +# extrahiert eine Variable aus dem Query-String +{ + # Parameter holen | in Zeilen aufspalten | die richtige rausfiltern | nur den Wert nehmen | ausmaskierte "+/ " wiedereinsetzen + echo "$QUERY_STRING" | sed "s/&/\n/g" | grep "^$1=" | cut -d "=" -f 2 | sed "s/+/ /g; s/%2B/+/g" +} + +hole_project_name() +# ermittelt den Namen des aktuellen Projekts +# entweder: aus dem HTTP_REFERER (vorherige Seite in der History) -> beim ersten Aufruf der Konsole +# oder: aus der Formular-Variable -> nach jedem ausgefuehrten Konsolen-Kommando +{ + local proj=`hole_uebergabe trac_project` + if [ -z "$proj" ] + then # hole den Projektnamen aus der History + local ref=`set | grep "^HTTP_REFERER=" | cut -d "=" -f 2` + proj=`echo "$ref" | sed "s#^.*$TRACURL/\([^/]*\).*#\1#"` + fi + echo "$proj" +} + + +########## es geht los ################# + +echo 'Content-Type: text/html' +echo + +# Header anzeigen +echo '' +echo 'TracAdmin-Konsole (handgemacht)' +echo '' +echo '