Class ::xowiki::formfield::hidden

::xowiki::formfield::hidden[i] create ... \
           [ -max_age:integer max_age:integer ] \
           [ -sign:boolean (default "false") ]

Class Relations

  • class: ::xotcl::Class[i]
  • superclass: ::xowiki::formfield::FormField[i]
::xotcl::Class create ::xowiki::formfield::hidden \
     -superclass ::xowiki::formfield::FormField

Methods (to be applied on instances)

  • check=signature (scripted)

    set v 1
    if {[info exists :sign] && ${:sign}} {
      set sig [::xo::cc form_parameter __${:name}_sig]
      set secret [ns_config "ns/server/[ns_info server]/acs" parameterSecret ""]
      set v [ad_verify_signature -secret $secret $value $sig]
      ns_log notice "==== we have sig <$sig> val $v"
    }
    return $v
  • initialize (scripted)

    :type hidden
    set :widget_type text(hidden)
    # remove mixins in case of retyping
    :mixin ""
    if {[info exists :size]} {unset :size}
  • max_age (setter)

  • render_help_text (scripted)

  • render_item (scripted)

    # don't render the labels
    if {[info exists :sign] && ${:sign}} {
      set token_id [sec_get_random_cached_token_id]
      set secret [ns_config "ns/server/[ns_info server]/acs" parameterSecret ""]
      if {[info exists :max_age]} {
        set max_age ${:max_age}
      } else {
        set max_age ""
      }
      set value [:value]
      set sig [ad_sign -max_age $max_age -secret $secret -token_id $token_id $value]
      ::html::div {
        ::html::input -name ${:name} -value $value -type hidden
        ::html::input -name __${:name}_sig -value $sig -type hidden
      }
    } else {
      :render_form_widget
    }
  • sign (setter)

  • validator (setter)