| |
506 |
506 |
foreach v $value {lappend category_ids $v} |
| |
507 |
507 |
} |
| |
508 |
508 |
__* { |
| |
509 |
509 |
# other internal variables (like __object_name) are ignored |
| |
510 |
510 |
} |
| |
511 |
511 |
_* { |
| |
512 |
512 |
# instance attribute fields |
| |
513 |
513 |
set f [my lookup_form_field -name $att $form_fields] |
| |
514 |
514 |
set value [$f value [::xo::cc form_parameter $att]] |
| |
515 |
515 |
set varname [string range $att 1 end] |
| |
516 |
516 |
# get rid of strange utf-8 characters hex C2AD (firefox bug?) |
| |
517 |
517 |
# ns_log notice "FORM_DATA var=$varname, value='$value' s=$s" |
| |
518 |
518 |
if {$varname eq "text"} {regsub -all "" $value "" value} |
| |
519 |
519 |
# ns_log notice "FORM_DATA var=$varname, value='$value' s=$s" |
| |
520 |
520 |
if {![string match *.* $att]} {my set $varname $value} |
| |
521 |
521 |
} |
| |
522 |
522 |
default { |
| |
523 |
523 |
# user form content fields |
| |
524 |
524 |
set f [my lookup_form_field -name $att $form_fields] |
| |
525 |
525 |
set value [$f value [::xo::cc form_parameter $att]] |
| |
526 |
|
# my msg "value of $att is $value" |
| |
527 |
526 |
if {![string match *.* $att]} {set __ia($att) $value} |
| |
528 |
527 |
} |
| |
529 |
528 |
} |
| |
530 |
529 |
if {[string match *.* $att]} { |
| |
531 |
530 |
foreach {container component} [split $att .] break |
| |
532 |
531 |
lappend containers($container) $component |
| |
533 |
532 |
} |
| |
534 |
533 |
} |
| |
535 |
534 |
|
| |
536 |
535 |
# |
| |
537 |
536 |
# In a second iteration, combine the values from the components |
| |
538 |
537 |
# of a container to the value of the container. |
| |
539 |
538 |
# |
| |
540 |
539 |
foreach c [array names containers] { |
| |
541 |
540 |
switch -glob -- $c { |
| |
542 |
541 |
__* {} |
| |
543 |
542 |
_* { |
| |
544 |
543 |
set f [my lookup_form_field -name $c $form_fields] |
| |
545 |
544 |
my set [string range $c 1 end] [$f get_compound_value] |
| |
546 |
545 |
} |