version 1.57, 2003/06/30 20:41:35
|
version 1.57.2.4, 2003/10/16 18:36:22
|
Line 458 sub modifiedfield {
|
Line 458 sub modifiedfield {
|
# Returns a 1 if the token has been modified and you should rebuild the tag |
# Returns a 1 if the token has been modified and you should rebuild the tag |
# side-effects, will modify the $token if new values are found |
# side-effects, will modify the $token if new values are found |
sub get_new_args { |
sub get_new_args { |
my ($token,$parstack,$safeeval,@args)=@_; |
my ($token,$parstack,$safeeval,@args)=@_; |
my $rebuild=0; |
my $rebuild=0; |
foreach my $arg (@args) { |
foreach my $arg (@args) { |
#just want the string that it was set to |
#just want the string that it was set to |
my $value=$token->[2]->{$arg}; |
my $value=$token->[2]->{$arg}; |
my $element=&html_element_name($arg); |
my $element=&html_element_name($arg); |
my $newvalue=$ENV{"form.$element"}; |
my $newvalue=$ENV{"form.$element"}; |
&Apache::lonxml::debug(" for:$arg: cur is :$value: new is :$newvalue:"); |
&Apache::lonxml::debug(" for:$arg: cur is :$value: new is :$newvalue:"); |
if (defined($newvalue) && $value ne $newvalue) { |
if (defined($newvalue) && $value ne $newvalue) { |
$token->[2]->{$arg}=$newvalue; |
if (ref($newvalue) eq 'ARRAY') { |
$rebuild=1; |
$token->[2]->{$arg}=join(',',@$newvalue); |
|
} else { |
|
$token->[2]->{$arg}=$newvalue; |
|
} |
|
$rebuild=1; |
} |
} |
} |
} |
return $rebuild; |
return $rebuild; |
Line 511 sub hidden_arg {
|
Line 515 sub hidden_arg {
|
return $result; |
return $result; |
} |
} |
|
|
|
sub checked_arg { |
|
my ($description,$name,$list,$token) = @_; |
|
my $result; |
|
my $optionlist=""; |
|
my $allselected=$token->[2]{$name}; |
|
$result=$description; |
|
foreach my $option (@$list) { |
|
my ($value,$text); |
|
if ( ref($option) eq 'ARRAY') { |
|
$value='value="'.$$option[0].'"'; |
|
$text=$$option[1]; |
|
$option=$$option[0]; |
|
} else { |
|
$text=$option; |
|
$value='value="'.$option.'"'; |
|
} |
|
$result.="<nobr><input type='checkbox' $value name='". |
|
&html_element_name($name)."'"; |
|
foreach my $selected (split(/,/,$allselected)) { |
|
if ( $selected eq $option ) { |
|
$result.=" checked='on' "; |
|
last; |
|
} |
|
} |
|
$result.=" />$text</nobr>\n"; |
|
} |
|
return $result; |
|
} |
|
|
sub text_arg { |
sub text_arg { |
my ($description,$name,$token,$size) = @_; |
my ($description,$name,$token,$size) = @_; |
my $result; |
my $result; |
Line 527 sub select_arg {
|
Line 560 sub select_arg {
|
my $optionlist=""; |
my $optionlist=""; |
my $selected=$token->[2]{$name}; |
my $selected=$token->[2]{$name}; |
foreach my $option (@$list) { |
foreach my $option (@$list) { |
my $value; |
my ($text,$value); |
if ( ref($option) eq 'ARRAY') { |
if ( ref($option) eq 'ARRAY') { |
$value='value="'.$$option[0].'"'; |
$value='value="'.$$option[0].'"'; |
$option=$$option[1]; |
$text=$$option[1]; |
|
$option=$$option[0]; |
} else { |
} else { |
|
$text=$option; |
$value='value="'.$option.'"'; |
$value='value="'.$option.'"'; |
} |
} |
if ( $selected eq $option ) { |
if ( $selected eq $option ) { |
$optionlist.="<option $value selected=\"on\">$option</option>\n"; |
$optionlist.="<option $value selected=\"on\">$text</option>\n"; |
} else { |
} else { |
$optionlist.="<option $value >$option</option>\n"; |
$optionlist.="<option $value >$text</option>\n"; |
} |
} |
} |
} |
$result.='<nobr>'.$description.' <select name="'. |
$result.='<nobr>'.$description.' <select name="'. |
Line 554 sub select_or_text_arg {
|
Line 589 sub select_or_text_arg {
|
my $found=0; |
my $found=0; |
my $selected=$token->[2]{$name}; |
my $selected=$token->[2]{$name}; |
foreach my $option (@$list) { |
foreach my $option (@$list) { |
my $value; |
my ($text,$value); |
if ( ref($option) eq 'ARRAY') { |
if ( ref($option) eq 'ARRAY') { |
$value='value="'.$$option[0].'"'; |
$value='value="'.$$option[0].'"'; |
$option=$$option[1]; |
$text=$$option[1]; |
|
$option=$$option[0]; |
} else { |
} else { |
|
$text=$option; |
$value='value="'.$option.'"'; |
$value='value="'.$option.'"'; |
} |
} |
if ( $selected eq $option ) { |
if ( $selected eq $option ) { |
$optionlist.="<option $value selected=\"on\">$option</option>\n"; |
$optionlist.="<option $value selected=\"on\">$text</option>\n"; |
$found=1; |
$found=1; |
} else { |
} else { |
$optionlist.="<option $value>$option</option>\n"; |
$optionlist.="<option $value>$text</option>\n"; |
} |
} |
} |
} |
$optionlist.="<option value=\"TYPEDINVALUE\">Type in value</option>\n"; |
$optionlist.="<option value=\"TYPEDINVALUE\">Type in value</option>\n"; |