@ -1,16 +1,16 @@
< ? cs # $ Id $ ? > < ? cs
def : link ( path , attr1 , value1 , attr2 , value2 )
? > < ? cs # first : override previous content of "Temp"
? > < ? cs each : attrs = Temp
? > < ? cs set : attrs = ""
? > < ? cs / each
? > < ? cs each : attrs = Settings . LinkAttrs
? > < ? cs set : Temp [ url_escape( name( attrs ) ) ] = url_escape( attrs)
? > < ? cs set : Temp [ name( attrs ) ] = attrs
? > < ? cs / each
? > < ? cs if : attr1 ! = "" ? > < ? cs set : Temp [ attr1 ] = value1 ? > < ? cs / if
? > < ? cs if : attr2 ! = "" ? > < ? cs set : Temp [ attr2 ] = value2 ? > < ? cs / if
? > < ? cs var : ScriptName
? > / < ? cs var : path
? > < ? cs var : path
? > < ? cs set : first_each = 1
? > < ? cs if : subcount ( Temp ) > 0
? > < ? cs each : attrs = Temp
@ -26,18 +26,33 @@ def:link(path, attr1, value1, attr2, value2)
/ def ? > < ? cs
def : show_messageNode ( node ) ? >
< h1 > < ? cs var : html_escape ( node . Title ) ? > < / h1 >
< p > < ? cs var : html_escape ( node . Text ) ? > < / p > < ? cs
if : ? node . Link . Text ? >
< p class = "message_link" > < a href = "<?cs var:node.Link.Link ?>" title = "<?cs var:html_escape(node.Link.Text) ?>" > < ? cs var : html_escape ( node . Link . Text ) ? > < / a > < / p > < ? cs / if ? > < ? cs
def : show_messageNode ( node ) ? > < ? cs
# expects a node of the hdf tree containing a warning / success / environment message
? > < td class = "text" > < ? cs
if : ? node . Title ? > < h1 > < ? cs var : html_escape ( node . Title ) ? > < / h1 > < ? cs / if ? > < ? cs
if : ? node . Text ? > < ? cs var : html_escape ( node . Text ) ? > < ? cs / if ? > < / td > < ? cs
if : subcount ( node . Link ) > 0
? > < td class = "link" > < a href = "<?cs
if : node . Link . Abs ? > < ? cs
var : node . Link . Abs ? > < ? cs
elif : node . Link . Prot ? > < ? cs
var : node . Link . Prot + "://" + Data . ScriptURL . Host + Data . ScriptURL . Path + node . Link . Rel ? > < ? cs
else ? > < ? cs
call : link ( node . Link . Rel , node . Link . Attr1 . name , node . Link . Attr1 . value , node . Link . Attr2 . name , node . Link . Attr2 . value ) ? > < ? cs
/ if ? > " title=" < ? cs var : html_escape ( node . Link . Text ) ? > "><?cs
var : html_escape ( node . Link . Text ) ? > < / a > < / td > < ? cs / if ? > < ? cs
/ def ? > < ? cs
# the following macro is as ugly as possible - but somehow we have to manage
to use ' normal ' and ' plugin ' messages in a clean way :
Lang . WarningMessage . ? ? ? - used by core functions
Lang . Plugins . PLUGINNAME . WarningMessage . ? ? ? - used by plugins ? > < ? cs
- Lang . WarningMessage . ? ? ? : defined by core functions
- Lang . Plugins . PLUGINNAME . WarningMessage . ? ? ? : defined by plugins
parameters :
- mname : name of the message ( e . g . : "InvalidInput" )
- type : choose one : { warning | success | environment_warning }
- category : choose one : { WarningMessage | SuccessMessage | EnvironmentWarning }
? > < ? cs
def : message_dispatch ( mname , type , category )
? > < ? cs # split the message name into a ( potentially existing ) plugin - name prefix and the suffix ( the python equivalent of the following three lines would be :
plugPrefix , PlugSuffix = mname [ 0 : mname . find ( "." , 8 ) , mname [ mname . find ( "." , 8 ) + 1 : ]
@ -45,34 +60,46 @@ def:message_dispatch(mname, type, category)
? > < ? cs set : plugPrefix = string . slice ( mname , 0 , savedX )
? > < ? cs set : plugSuffix = string . slice ( mname , savedX + 1 , string . length ( mname ) )
? > < ? cs # choose the appropriate symbol file
? > < ? cs if : type = = "success" ? > < ? cs set : symbolFile = "dialog-information_tango.png"
? > < ? cs elif : type = = "warning" ? > < ? cs set : symbolFile = "dialog-error_tango.png"
? > < ? cs if : type = = "success" ? > < ? cs
set : symbolFile = "dialog-information_tango.png"
? > < ? cs elif : type = = "warning" ? > < ? cs
set : symbolFile = "dialog-error_tango.png"
? > < ? cs elif type = = "environment_warning" ? > < ? cs
set : symbolFile = "dialog-error_tango.png"
? > < ? cs elif type = = "hint" ? > < ? cs
set : symbolFile = "dialog-warning_tango.png"
? > < ? cs / if
? > < ? cs # preparations are done - now start writing
? > < div class = "message" > < table > < tr > < td > < img class = "message_symbol" src = "<?cs
? > < div class = "message" > < table > < tr > < td class = "message_symbol" > < img src = "<?cs
call : link ( ' cryptobox - misc / ' + symbolFile , ' ',' ',' ',' ' )
? > " alt=" icon : info " /></td><td><?cs
? > " alt=" icon : info " /></td>< ?cs
# check if it is a ' normal ' message ? > < ? cs
if : ? Lang [ category ] [ mname ] . Title ? > < ? cs
if : subcount ( Lang [ category ] [ mname ] ) > 0 ? > < ? cs
call : show_messageNode ( Lang [ category ] [ mname ] ) ? > < ? cs
# check if the mname starts with "Plugins." . . . ? > < ? cs
elif : ( string . slice ( mname , 0 , 8 ) = = "Plugins." ) & & ? Lang [ plugPrefix ] [ category ] [ plugSuffix ] .Title ? > < ? cs
elif : ( string . slice ( mname , 0 , 8 ) = = "Plugins." ) & & subcount ( Lang [ plugPrefix ] [ category ] [ plugSuffix ] ) > 0 ? > < ? cs
call : show_messageNode ( Lang [ plugPrefix ] [ category ] [ plugSuffix ] ) ? > < ? cs
# the message does not seem to exist . . . ? > < ? cs
else ? >
< h1> unknown < ? cs var : type ? > message < / h1 >
< p > could not find < ? cs var : type ? > message : ' < ? cs var : mname ? > ' < / p > < ? cs
/ if ? > < / t d> < / t r> < / table > < / div > < ? cs
< td> < h1> unknown < ? cs var : type ? > message < / h1 >
could not find < ? cs var : type ? > message : ' < ? cs var : mname ? > ' < / td > < ? cs
/ if ? > < / t r> < / table > < / div > < ? cs
/ def ? > < ? cs
def : warning ( mname )
? > < ? cs call : message_dispatch ( mname , "warning" , "WarningMessage" ) ? > < ? cs
def : environment_warning ( mname )
? > < ? cs call : message_dispatch ( mname , "environment_warning" , "EnvironmentWarning" ) ? > < ? cs
/ def ? > < ? cs
def : hint ( mname ) ? > < ? cs
# show a warning hint
? > < ? cs call : message_dispatch ( mname , "hint" , "AdviceMessage" ) ? > < ? cs
/ def ? > < ? cs
def : error ( mname )
? > < ? cs call : message_dispatch ( mname , "error" , "ErrorMessage" ) ? > < ? cs
def : warning ( mname )
? > < ? cs call : message_dispatch ( mname , " warning", "Warning Message") ? > < ? cs
/ def ? > < ? cs
@ -90,8 +117,8 @@ def:print_form_header(form_name, action) ?><?cs #
def : show_plugin ( plugin , type ) ? > < ? cs
# show the icon and the name of a plugin of a give type ( system / volume / menu ) ? >
< div class = "plugin_<?cs var:html_escape(type) ?> plugin_<?cs var:html_escape(type) ?>_<?cs if:Data.ActivePlugin == plugin ?>active<?cs else ?>passive<?cs /if ?>" >
< a href = "<?cs call:link( 'plugins/' + plugin,'','','','') ?>" title = "<?cs var:html_escape(Settings.PluginList[plugin].Link) ?>" >
< img src = "<?cs call:link('icons/ plugins/ ' + plugin, '','','','') ?>" alt = "<?cs var:html_escape('icon: ' + plugin) ?>" / > < br / > < ? cs
< a href = "<?cs call:link( plugin,'','','','') ?>" title = "<?cs var:html_escape(Settings.PluginList[plugin].Link) ?>" >
< img src = "<?cs call:link('icons/ ' + plugin, '','','','') ?>" alt = "<?cs var:html_escape('icon: ' + plugin) ?>" / > < br / > < ? cs
var : html_escape ( Settings . PluginList [ plugin ] . Link ) ? > < / a > < / div > < ? cs
/ def ? > < ? cs
@ -118,7 +145,7 @@ def:show_volume_icon(volume) ?><?cs
def : show_volume ( volume ) ? > < ? cs
# show the icon of the volume ? >
< div class = "volume" >
< a href = "<?cs call:link(' plugins/ volume_mount','device',volume.device,'','') ?>" title = "<?cs var:html_escape(volume.name) ?>" >
< a href = "<?cs call:link(' volume_mount','device',volume.device,'','') ?>" title = "<?cs var:html_escape(volume.name) ?>" >
< ? cs call : show_volume_icon ( volume ) ? > < br / > < ? cs
var : html_escape ( volume . name ) ? > ( < ? cs
var : html_escape ( volume . size ) ? > ) < / a > < / div > < ? cs
@ -128,25 +155,16 @@ def:show_volume(volume) ?><?cs
def : help_link ( pagename ) ? > < ? cs
# show an iconed link to a specific help page for the current form ? >
< div class = "help_link" >
< a href = "<?cs call:link(' plugins/ help','page',pagename,'','') ?>" title = "<?cs var:html_escape(Lang.Button.HelpForForm) ?>" >
< a href = "<?cs call:link(' help','page',pagename,'','') ?>" title = "<?cs var:html_escape(Lang.Button.HelpForForm) ?>" >
< ? cs var : html_escape ( Lang . Button . HelpForForm ) ? >
< img class = "message_symbol" src = "/icons/ plugins/ help" alt = "icon: help" / >
< img class = "message_symbol" src = "/icons/ help" alt = "icon: help" / >
< / a > < / div > < ? cs
/ def ? > < ? cs
def : hint ( text ) ? > < ? cs
# show a warning hint ? >
< div class = "message" >
< table > < tr > < td > < img class = "message_symbol" src = "/cryptobox-misc/dialog-warning_tango.png" alt = "icon: warning" / > < / td >
< td > < ? cs var : html_escape ( text ) ? > < / td > < / tr > < / table > < / div > < ? cs
/ def ? > < ? cs
def : handle_messages ( ) ? > < ? cs
# call this function once for every page - otherwise your risk to loose messages
? > < ? cs if : messages_are_handled ? > HANDLE_MESSAGE CALLED TWICE - PLEASE FIX THIS < ? cs / if
? > < ? cs if : Data . Error ? > < ? cs include : Settings . TemplateDir + ' / error . cs ' ? > < ? cs / if
? > < ? cs if : Data . Warning ? > < ? cs call : warning ( Data . Warning ) ? > < ? cs / if
? > < ? cs if : Data . Success ? > < ? cs call : success ( Data . Success ) ? > < ? cs / if
? > < ? cs set : messages_are_handled = 1 ? > < ? cs