Some Info's
/* ---------------------------------------------------------------------------------------
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>"
and have a look here:
http://cvs.tuxbox.org/cgi-bin/viewc.../neutrino/daemons/nhttpd/yapi.cpp?view=markup
You can also always Email YJogol and ask for help