Ich schreib mal die Antwort auf deine PN hier, vielleicht interessiert es ja auch noch andere:
han-solo schrieb:
ich verrate dir, dass ich an einem Web-Interface für *Uuupps* arbeite.
Das brauchtest du aber nicht zu tun, du hättest auch bei "Hugo" bleiben können, ich sag's aber nicht weiter ;-) und bleibe mal bei "hugo".
Ich vermute, du bist schon fast fertig ;-), nur die Speicherung ist etwas anders, als du denkst?!?
Die ds-mod GUI's funktionieren alle so, dass es Variablen nach einem bestimmten Schema gibt. Diese werden in der GUI belegt (per Eingabe oder auch per javascript). Beim "Übernehmen" werden diese Variablen mit den "default-Variablen" verglichen und beim Abweichen direkt resetfest im Flash abgespeichert.
Ich versuche es mal mit einem Beispiel, wenn du das schon kennst, sorry, ist aber auch egal:
Inhalt von "/etc/default.hugo/hugo.cfg":
Code:
export HUGO_ENABLED="yes"
export HUGO_CONFIG_VAR1="1"
export HUGO_MEINWERT="hallo"
export HUGO_DEBUG=""
Im Code der GUI steht dann um z.B. MEINWERT zu verändern (nur ein Ausschnitt)
Code:
<p>Meinwert: <input type="text" name="meinwert" value="$(httpd -e "$HUGO_MEINWERT")"></p>
Gibst du hier nun "Blabla" ein, erzeugt das "übernehmen" die Datei "/var/tmp/flash/hugo.diff":
Code:
export HUGO_MEINWERT='Blabla'
die mit "modsave" auch gleich gesichert wird und erstellt dann ein aktuelles "/mod/etc/conf/hugo.cfg" (das alles macht "save.cgi"). In deinem "rc.hugo" sollte dann zu Beginn in etwa stehen:
Code:
# ....
DAEMON=hugo
# ....
case "$1" in
""|load|start|restart)
if [ ! -r "/mod/etc/conf/${DAEMON}.cfg" ]; then
echo "Error[$DAEMON]: not configured" 1>&2
exit 1
fi
. /mod/etc/conf/${DAEMON}.cfg
;;
esac
# ...
Dadurch werden die Variablen belegt und beim Start kannst du z.B. mit
Code:
echo "# START von hugo.conf #" > /mod/etc/conf/hugo.conf
echo "echo \"Mein Wert von MEINWERT ist $HUGO_MEINWERT\"" >> /mod/etc/conf/hugo.conf
echo "# ENDE von hugo.conf #" >> /mod/etc/conf/hugo.conf
deine Config daraus erzeugen.
Puh, ist etwas länger geworden, ich hoffe aber, noch verständlich?!? Sonst frag bitte nochmal nach.
Viel Erfolg
Jörg