%3 ::xowiki::formfield::text ::xowiki::formfield::text add_statistics initialize render_input ::xowiki::formfield::FormField ::xowiki::formfield::FormField → fc_decode → fc_encode → get_from_name → get_single_spec → interprete_condition CSSclass_list_add add_statistics answer_check=AND answer_check=answer_words answer_check=btwn answer_check=contains answer_check=contains-not answer_check=eq answer_check=ge answer_check=gt answer_check=in answer_check=le answer_check=lt answer_check=match answer_is_correct asWidgetSpec behavior booleanAttributes config_from_spec convert_to_external convert_to_internal describe dict_to_fc dict_to_spec dict_value escape_message_keys field_value handle_transmit_always has_instance_variable init initialize interprete_single_spec is_disabled is_repeat_template_p leaf_components localize make_correct pretty_image pretty_value process_correct_when_modifier remove_omit render render_answer_statistics render_collapsed render_disabled_as_div render_error_msg render_form_widget render_help_text render_input render_item render_localizer render_modal render_result_statistics render_word_statistics repeat repeat_add_label resetBooleanAttributes reset_on_validation_error reset_parameter same_value set_disabled set_feedback set_is_repeat_template stats_record_count validate validation_check value_if_nothing_is_returned_from_form word_statistics ::xowiki::formfield::text->::xowiki::formfield::FormField ::xo::tdom::Object ::xo::tdom::Object ::xowiki::formfield::FormField->::xo::tdom::Object ::xowiki::formfield::image_url ::xowiki::formfield::image_url check=image_check entry_name initialize pretty_value ::xowiki::formfield::image_url->::xowiki::formfield::text

Class ::xowiki::formfield::image_url

::xowiki::formfield::image_url[i] create ... \
           [ -border border ] \
           [ -border-width border-width ] \
           [ -bottom bottom ] \
           [ -cssclass cssclass ] \
           [ -float (default "left") ] \
           [ -height height ] \
           [ -href href ] \
           [ -left left ] \
           [ -margin margin ] \
           [ -margin-bottom margin-bottom ] \
           [ -margin-left margin-left ] \
           [ -margin-right margin-right ] \
           [ -margin-top margin-top ] \
           [ -padding padding ] \
           [ -padding-bottom padding-bottom ] \
           [ -padding-left padding-left ] \
           [ -padding-right (default "10px") ] \
           [ -padding-top padding-top ] \
           [ -position position ] \
           [ -right right ] \
           [ -top top ] \
           [ -width width ]

Class Relations

  • class: ::xotcl::Class[i]
  • superclass: ::xowiki::formfield::text[i]
::xotcl::Class create ::xowiki::formfield::image_url \
     -superclass ::xowiki::formfield::text

Methods (to be applied on instances)

  • border (setter)

  • border-width (setter)

  • bottom (setter)

  • check=image_check (scripted)

    if {$value eq ""} {return 1}
    set entry_name [:entry_name $value]
    if {$entry_name eq ""} {
      :log "--img '$value' does not appear to be an image"
      # no image?
      return 0
    }
    set folder_id [${:object} set parent_id]
    if {[::xo::db::CrClass lookup -name $entry_name -parent_id $folder_id]} {
      :log "--img entry named $entry_name exists already"
      # file exists already
      return 1
    }
    if {[regexp {^file://(.*)$} $value _ path]} {
      set f [open $path r]
      fconfigure $f translation binary
      set img [read $f]
      close $f
    } else {
      ad_try {
        set request [util::http::get -url $value]
        set img [expr {[dict exists $request page] ? [dict get $request page] : ""}]
      } on error {errorMsg} {
        # cannot transfer image
        :log "--img cannot obtain image '$value' ($errorMsg)"
        return 0
      }
    }
    #:msg "guess mime_type of $entry_name = [::xowiki::guesstype $entry_name]"
    ::xo::write_tmp_file import_file $img
    set file_object [::xowiki::File new -destroy_on_cleanup  -title $entry_name  -name $entry_name  -parent_id $folder_id  -mime_type [::xowiki::guesstype $entry_name]  -package_id [${:object} package_id]  -creation_user [::xo::cc user_id]  ]
    $file_object set import_file $import_file
    $file_object save_new
    return 1
  • cssclass (setter)

  • entry_name (scripted)

    set value [string map [list %2e .] $value]
    if {![regexp -nocase {/([^/]+)[.](gif|jpg|jpeg|png)} $value _ name ext]} {
      return ""
    }
    return file:$name.$ext
  • float (setter)

  • height (setter)

  • href (setter)

  • initialize (scripted)

    next
    if {${:help_text} eq ""} {
      set :help_text "#xowiki.formfield-image_url-help_text#"
    }
  • left (setter)

  • margin (setter)

  • margin-bottom (setter)

  • margin-left (setter)

  • margin-right (setter)

  • margin-top (setter)

  • padding (setter)

  • padding-bottom (setter)

  • padding-left (setter)

  • padding-right (setter)

  • padding-top (setter)

  • position (setter)

  • pretty_value (scripted)

    set entry_name [:entry_name $v]
    return [:pretty_image -parent_id [${:object} parent_id] $entry_name]
  • right (setter)

  • top (setter)

  • validator (setter)

  • width (setter)

Variables

::xowiki::formfield::image_url set __default_metaclass ::xotcl::Class
::xowiki::formfield::image_url set __default_superclass ::xotcl::Object