@Spirou
In erster Line für dich habe ich jetzt mal die absolut unvollendete englische Version eingestellt.
Habe die Dect addon Verzeichissstruktur jetzt doppelt angelegt ein mal für de und einmal für en.
Momentan sind die Files in den Verzeichnisen ident da ich natülich noch keine Zeit hatte die auf englsh zu übersetzen.
Wähe schön wenn sich dafür jemad ander finden würde, da es doch einiges an Arbeit ist und es nicht gerade meine stärke ist sprachich das saber zu erledigen.
Die englisch firmware die ich sowohl für den W701 wie auch für den W900 verwende hat noch die alte WEB Struktur.
Das Skript ist aber bereits so angelegt, dass auch die neu Struktur unterstützt wird, dazu müssten aber natürlich Einträge im file Speeport907 vorgenommen werden.
Warum scheibe ich dir das?
Ich hoffe, dass damit die gröbsten Umstellungen abgeschlossen sind und nachdem du an den neun Webmenu arbeitest solltest es dir möglich sein doch wieder einiges daraus zu übernehnen.
Die ausständige Erklärung folgt demnächt ich hoffe, dass ich noch heute dafür Zeit finde.
http://www.ip-phone-forum.de/attachment.php?attachmentid=21337&d=1199797284
DECTMenü einige Erklärungen:
Grundsätzlich gehe ich davon aus, dass ich an der Verziechnissstruktur nichts ändere und so wenig Ändrungen an Files vornehme wie minimalerforderlich.
Auch wenn dadurch mache files doppelt in verschieden OEM Verzeichnissen vorhanden sind.
Beim W701 und beim W900 besteht kein platzproblem und es ist nicht zwingend erforderlich doppelte Files durch links zu ersetzen.
Obwohl ich den ansatz links anstelle von doppeltet vorhanden Vrzeichnissen grunsätzlich für gut finde.
So hat doch die beibehaltung der AVM eigen Vorgaben gewisse Vorteile bezügich flexibilität.
Zukünftige Ändreunfgen sind meist weniger arbeisintensive bezüglich der nötigen Anpassungen.
Die Anpassungen im einzelnen:
W701 hat derzeit keinerlei anpassungen in den Webmenues.
(ausser remouve signatur)
W900 Anpassungen bezüglich DECT.
Abhängig von der Firmwareversion werden nur zwei oder drei verschieden zusatzskripte verwendet.
Ein Ausschnitt aus
Speedport907:
# AVM minor 44 is english version
if [ $TCOM_V_MINOR -eq 44 -a $AVM_V_MINOR -eq 29 ] || [ $TCOM_V_MINOR -ne 44 -a $AVM_V_MINOR -eq 44 ]; then
[ -n "$VERBOSITY" ] && echo "Old WEB GUI will be modified."
./add_dect "${SRC}"
./add_tam_w900v "${SRC}" "n"
else
[ -n "$VERBOSITY" ] && echo "New WEB GUI will be modified"
#use 7270 web GUI
if [ -n "$FBIMG_2" ]; then # das ist die Entscheidung ob Teile aus dem 7270 genommen werden.
# die folgende Zeile bringt nichts da die Harware die Funktionen nicht unterstützt.
#cp -fdpr "${SRC_2}"/usr/share/ctlmgr/libdect.so --target-directory="${SRC}"/usr/share/ctlmgr
#add old version of dect menue
./add_dect_section_rc.S "${SRC}"
./add_dect_labor "${SRC}" "${SRC_2}" "${OEMLIST}"
else
./add_dect_section "${SRC}"
./add_dect_labor "${SRC}" "" "${OEMLIST}"
fi
fi
Abgesehn von den Eingriffen in der rc.S ist somit bei der neuen Version nur noch das zusätzlichen Skript
add_dect_labor in verwendung.
bei der älteren Version
add_dect und
add_tam_w900v
Dies drei files enthalte Programmschleifen die vorhandene Verzeichnisse abhängig von der globalnen Variable
avm_Lang (SPRACHE de - en)
(gesetzt wird die im file getversion)
OEMLIST (liste aller möglichen OEMS inclisive "all" das es nur in deinen Versionen gibt)
for DIR in ${OEMLIST}; do
if [ "$DIR" = "avme" ] ; then
html="$avm_Lang/html"
else
html="html"
fi
DSTI="${1}"/usr/www/${DIR}/${html}/${avm_Lang}
DST=/usr/www/${DIR}/${html}/${avm_Lang}
if [ -d ${DSTI} ] ; then
#start----------------------------------------------------------------------------------
#eigntlicher programmcode für ersetuingen, ...
fi
done
Also egal wo sich die files letzlich befinden der Progammteil wird immer richtig angewendet.
Programmteile sind im wesentliche das was du schon immer gemacht hast, angepassalt an die neuen Bedingungen.
Ich koppiere reltviv viel da mir der Aufwand mit den pachen der files zu hoch ist.
Das kannst du natürlch noch wesentlich verbesseren, ob es flexibler wird bezeifle
ich da wie du ja festellem mustest haben sed skripte oft nicht den gwünschten
Effekt wenn sich Kleinigkeite im zu editierenden File ändern.
Einige weinig weiter Files sind bis jetzt mit ählichen übergeorneten programmschleifen versehen.
zB: rem_signature
Nun zur eigentlichen manipulation an den Webfiles.
add_dect_labor
enthält zwei Teile, ein Teil wird nur abgearbeitet wenn ein 7270 image mitverwendet wird.
Den erklär ich hier mal gar nicht besonders, da es nur für testzwecke gut ist und praktisch nichts bringt.
AVM Firemwars entalten leider nicht den kompletten Satz an files wie du weist abhängig von der Version sind mal die ein oder ander zusätzlich vorhanden.
Wird dieser Teil ausgeführt werden nur die Teile von der 7270 behalten die nicht in der 7170 vorhanden sind.
Einige files werden mit geänderten überschrieben.
#Ausführung nur wenn Verzeichniss vorhanden.
if [ -d "${1}/usr/www/${DIR}" ]; then
# bei manchen Version fehlt das dect Verzeichnissen.
if [ ! -d "${1}"/usr/www/${DIR}/$html/${avm_Lang}/dect ]; then
mkdir "${1}/usr/www/${DIR}/$html/${avm_Lang}/dect"
fi
#menüeintrag DECT am ender von menü2.inc anfügen, und weitere Menüanpassungen die von der 7270
# so übernommen wurden.
echo "<? setvariable var:TextMenuDECT \"DECT\" ?>" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/menus/menu2.inc"
echo "<? setvariable var:TextSetting \"setting\" ?>" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/menus/menu2_konfig.inc"
echo "<? setvariable var:TextHandset \"handset\" ?>" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/menus/menu2_konfig.inc"
echo "<input type=\"hidden\" name=\"var:FromMenuDect\" value=\"<? echo $var:FromMenuDect ?>\" id=\"uiFromMenuDect\">" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/home/fon1Mini.frm"
echo "<input type=\"hidden\" name=\"var:FromMenuDect\" value=\"<? echo $var:FromMenuDect ?>\" id=\"uiFromMenuDect\">" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/home/fondevices.frm"
echo "<input type=\"hidden\" name=\"var:FromMenuDect\" value=\"<? echo $var:FromMenuDect ?>\" id=\"uiFromMenuDect\">" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/menus/klingelsperre_mimi.frm"
echo "<? setvariable var:Text27 'DECT-Handgeräte' ?>" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/home/fondevices.inc"
echo "<? setvariable var:Text30 'Name' ?>" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/home/fondevices.inc"
echo "<? setvariable var:TextDectPin 'DECT-Basisstation PIN' ?>" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/home/fondevices.inc"
echo "<? setvariable var:TextDectSetPin 'PIN setzen' ?>" >>"${1}/usr/www/${DIR}/$html/${avm_Lang}/home/fondevices.inc"
#Fehlende Files kopieren
cp -fdfp ./addon/tmp/$SPMOD/$avm_Lang/home/* "${1}"/usr/www/${DIR}/$html/${avm_Lang}/home
cp -fdfp ./addon/tmp/$SPMOD/$avm_Lang/menus/* "${1}"/usr/www/${DIR}/$html/${avm_Lang}/menus
cp -fdfp ./addon/tmp/$SPMOD/$avm_Lang/dect/* "${1}"/usr/www/${DIR}/$html/${avm_Lang}/dect
cp -fdfp ./addon/tmp/$SPMOD/$avm_Lang/tam.html "${1}"/usr/www/${DIR}/$html
cp -fdfp ./addon/tmp/$SPMOD/$avm_Lang/dect.html "${1}"/usr/www/${DIR}/$html
cp -fdfp ./addon/tmp/$SPMOD/$avm_Lang/system/infoled.* "${1}"/usr/www/${DIR}/$html/${avm_Lang}/system
#Alte bewährte dect menüs koppieren
for FILE in `ls ./addon/$avm_Lang/fon_dect`; do
[ -n "$VERBOSITY" ] && echo " /usr/www/${DIR}/$html/${avm_Lang}/fon/$FILE"
cp -p ./addon/$avm_Lang/fon_dect/$FILE "${1}"/usr/www/${DIR}/$html/${avm_Lang}/fon/$FILE
done
#Haupseite fondevices mit zusätzlichen reitern versehen
for FILE in `ls ./addon/$avm_Lang/fon_dect2`; do
[ -n "$VERBOSITY" ] && echo " /usr/www/${DIR}/$html/${avm_Lang}/home/$FILE"
cp -fp ./addon/$avm_Lang/fon_dect2/$FILE "${1}"/usr/www/${DIR}/$html/${avm_Lang}/home/$FILE
done
Das ist eignltich beriet alles.
Ich hoffe, dass diese Informationen etas weiter bringen.
mfg JP