Hallo zusammen,
mal eine neugierige generelle Frage über die ich mir gerade den Kopf zwerbreche: Wie funktioniert prinzipiell das?
Das nhhtpd gewisse Funktionen wie Lauter/Leiser/Messagebox per URL bereitstellt, weiß ich. Aber wie funktioniert das mit der WebGUI? Liegen da irgendwo Templates die per eigener Scriptsprache geparsed werden oder liegt alles HTML im Code oder werden Standards wie PHP genutzt? Wie ist da der logische Ablauf? Bzw. wie könntet Ihr Euch das vorstellen wenn es noch besser werden sollte?
Webinterface - wie wurde das programmiert?
-
- Einsteiger
- Beiträge: 293
- Registriert: Mittwoch 9. Januar 2002, 11:04
Webinterface - wie wurde das programmiert?
Bye,
T.U.B.E.
The Ultimate Boygroup Enemy
Download ISDN-CAPI-WATCH @ http://www.dbox2.info
(Made as dbox2isdn by Tube and improved by ktw2001)
Porsche 968 for sale: http://www.kueper.info/968
T.U.B.E.
The Ultimate Boygroup Enemy
Download ISDN-CAPI-WATCH @ http://www.dbox2.info
(Made as dbox2isdn by Tube and improved by ktw2001)
Porsche 968 for sale: http://www.kueper.info/968
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
-
- Developer
- Beiträge: 809
- Registriert: Montag 4. Juli 2005, 18:45
Re: Webinterface - wie wurde das programmiert?
Hi, das ist ganz einfach. Früher wurden direkt im WebServer dynamische Funktionen codiert.t.u.b.e. hat geschrieben:Hallo zusammen,
mal eine neugierige generelle Frage über die ich mir gerade den Kopf zwerbreche: Wie funktioniert prinzipiell das?
Das nhhtpd gewisse Funktionen wie Lauter/Leiser/Messagebox per URL bereitstellt, weiß ich. Aber wie funktioniert das mit der WebGUI? Liegen da irgendwo Templates die per eigener Scriptsprache geparsed werden oder liegt alles HTML im Code oder werden Standards wie PHP genutzt? Wie ist da der logische Ablauf? Bzw. wie könntet Ihr Euch das vorstellen wenn es noch besser werden sollte?
Ich habe für das yWeb eine Parsing-Engine mit einer Mini-Sprache entwickelt (Dateien haben die Endung .yhtm) . Für PHP und dergleichen Standards ist kein Platz in der Box.
Gruß
yjogol
-
- Einsteiger
- Beiträge: 293
- Registriert: Mittwoch 9. Januar 2002, 11:04
Hmmm... und was umfasst die Miniscriptsprache so? Schleifen, Stringersetzung, oder wie kann ich mir das vorstellen?
Bye,
T.U.B.E.
The Ultimate Boygroup Enemy
Download ISDN-CAPI-WATCH @ http://www.dbox2.info
(Made as dbox2isdn by Tube and improved by ktw2001)
Porsche 968 for sale: http://www.kueper.info/968
T.U.B.E.
The Ultimate Boygroup Enemy
Download ISDN-CAPI-WATCH @ http://www.dbox2.info
(Made as dbox2isdn by Tube and improved by ktw2001)
Porsche 968 for sale: http://www.kueper.info/968
-
- Developer
- Beiträge: 809
- Registriert: Montag 4. Juli 2005, 18:45
Hi,
am besten du schaust dir die .yhtm files mal an, da sind ja reichlich Beispiele.
Hier eine Beschreibung:
Programme sind mit "shell" als Shell-Scripts mögllich.
Was oft gebraucht wird, oder besonders schnell sein soll, wird in "func"-Funktionen hard codiert.
Schau mal hier:
http://cvs.tuxbox-cvs.sourceforge.net/c ... iew=markup
Gruß
yjogol
am besten du schaust dir die .yhtm files mal an, da sind ja reichlich Beispiele.
Hier eine Beschreibung:
Code: Alles auswählen
/* ---------------------------------------------------------------------------------------
Mini Web Parsing & Generation Engine
----------------------------------------------------------------------------------------
The engine parses and replace ycgi-commands in the given html-file on the fly
Commands are escaped like this: "{="<command>"=}" They can be nested like
{=<command1>{=<command2=}=} for dynamic building commands :)
If the output of a command has itselfs commands, they will be recursivly replaced.
<command> can be:
- <http - GET Variable>
get value of a http GET argument
example: /y/cgi?a=hello -> replaces {=a=} with "hello"
-"var-get:<varname>"
get value of a ycgi variable (scope: one parsing session)
-"var-set:<varname>=<value>"
set value of a ycgi variable (scope: one parsing session)
-"global-var-get:<varname>"
get value of a ycgi variable (scope: nhttpd session)
-"global-var-set:<varname>=<value>"
set value of a ycgi variable (scope: nhttpd session)
- "script:<shell-script-filename without .sh>
get output of a shell-script
example: replaces {=script:Y_Live url=} Output of shell-script-call
with argument "Y_Live.sh url"
-"ini-get:<ini/conf-filename>;<varname>[;<default>]"
get value of a ini/conf file variable
example: replaces {=ini-get:/var/tuxbox/config/nhttpd.conf;AuthPassword=}
with the password for the WebInterface from the conf-file
-"ini-set:<ini/conf-filename>;<varname>;<value>"
set value for a ini/conf file variable with value
-"inculde:<filename>"
insert file
example: {=include:/var/tuxbox/config/nhttpd.conf=} wile be replaced
with the given file (the output will be parsed}
-"shell:<shell commands>" // To Be Implemented
execute shell command and replace with output
example: {=shell:echo "hello" >\tmp\a \ncat /tmp/a=}
-"func:<func name>[ <arguments>]"
execute secial functions
example: {=func:mount-get-list=} generates html-Radio-Buttons
for a mount list
-"if-empty:<value>~<then>~<else>"
-"if-equal:<left_value>~<right_value>~<then>~<else>"
(left_value == right_value?)
-"if-not-equal:<left_value>~<right_value>~<then>~<else>"
(left_value != right_value?)
- "if-file-exists:<filename>~<them>~<else>"
- "file-action:<filename>;<action>[;<content>]
<action>::=none | write | append | delete
<content> Content to write or append
-"include-block:<filename>;<block-name>[;<default-text>]"
insert text from file <filename> beeginning after "start-block+<blockname>"
and ends before "end-block+<blockname>"
Was oft gebraucht wird, oder besonders schnell sein soll, wird in "func"-Funktionen hard codiert.
Schau mal hier:
http://cvs.tuxbox-cvs.sourceforge.net/c ... iew=markup
Gruß
yjogol