libmodcgi.sh¶
This library is used to generate web pages within the Freetz web interface. Include it with:
cgi¶
This interface is under development and may change on a daily basis.
The cgi function allows various settings to be configured for the current page. cgi must be called before cgi_begin.
The available options are:
--style=URI
The CSS stylesheet at address
URIwill be additionally included.
This option can be used multiple times.Relative URLs are resolved relative to
/style/within the Freetz web interface.
If a stylesheet is stored in the filesystem at/usr/share/style/pkg/status.css,
it can be included via--style=pkg/status.css.
--id=ID
The body tag of the page receives this ID; the ID is also used to
highlight the active menu item in the navigation.
--help=PATH
A path (starting with "/") that specifies the help page for the current page.
(In the main Freetz interface, this path is currently appended to
http://trac_freetz_org/wiki.)
cgi_begin¶
Starts an HTML page in Freetz style. (Everything that belongs at the beginning of a page is written,
from the HTTP header through the HTML header to navigation elements and similar.)
All pages in the Freetz web interface are currently encoded in ISO-8859-1 (Latin 1).
Usage:
- TITLE is the already HTML-encoded title of the page.
cgi_end¶
Closes an HTML page in Freetz style.
sec_begin¶
Starts a section with the title TITLE. How a "section" is rendered in detail in the HTML output
depends on the chosen skin; however, a surrounding <div class="section"> is guaranteed.
An ID can optionally be specified in order to reference the section. At the HTML level,
this will be the ID of the mentioned div element.
sec_end¶
Ends a section.
html¶
This function HTML-encodes its input. Short inputs can be passed as arguments; for longer inputs,
html should be used as a filter:
check, select¶
TODO
href¶
Generates a link to a dynamically registered page in the Freetz web interface.
The arguments are similar to those of modreg:
href file <pkg> <id>
href extra <pkg> <cgi-name>
href status <pkg> [<cgi-name>]
href cgi <pkg> [<key-value>]...
Typical usage in a package called foo:
(if the file was previously registered with modreg file foo advanced ....)
back_button¶
TODO
sec_level¶
TODO
stat_bar¶
TODO
cgi_param¶
TODO
cgi_error, print_error¶
cgi_error generates a complete error page (including cgi_begin/cgi_end) with the given message.
print_error generates only the error message and can be used within an existing page.
path_info¶
Splits PATH_INFO into segments at "/"; returns the segments in the given variables.
If there are not more variables than segments, the final variable will receive the remaining unsplit PATH_INFO.
will set
valid¶
Validates certain types of input data. Currently supported:
valid package PACKAGE
Returns true if PACKAGE is a valid package name.
valid id NAME
Returns true if NAME is a valid identifier (identifying files, extras,
or status pages within a package).
The validation is currently fairly lenient (mainly just protection against path operations
such as "." and "/" in the name). The output of valid should not currently be used as
a benchmark for constructing valid names.