local $i;
for($i=0; $i<@$cols; $i++) {
$rv .= "<td ".$tdtags->[$i].">".
- ($cols->[$i] eq "" ? "<br>" : $cols->[$i])."</td>\n";
+ ($cols->[$i] !~ /\S/ ? "<br>" : $cols->[$i])."</td>\n";
}
$rv .= "</tr>\n";
return $rv;
$rv .= "<label for=\"".
"e_escape("${checkname}_${checkvalue}")."\">";
}
- $rv .= ($cols->[$i] eq "" ? "<br>" : $cols->[$i]);
+ $rv .= ($cols->[$i] !~ /\S/ ? "<br>" : $cols->[$i]);
if ($cols->[$i] !~ /<a\s+href|<input|<select|<textarea/) {
$rv .= "</label>";
}
$b eq $buttons->[0] ? " align=left" :
$b eq $buttons->[@$buttons-1] ?
" align=right" : " align=center").">".
- &ui_submit($b->[1], $b->[0], $b->[3]).
+ &ui_submit($b->[1], $b->[0], $b->[3], $b->[4]).
($b->[2] ? " ".$b->[2] : "")."</td>\n";
}
elsif ($b) {
local $id = "e_escape($name."_".$o->[0]);
local $label = $o->[1] || $o->[0];
local $after;
- if ($label =~ /^([^<]*)(<[\000-\377]*)$/) {
+ if ($label =~ /^(.*?)((<a\s+href|<input|<select|<textarea)[\000-\377]*)$/i) {
$label = $1;
$after = $2;
}
return $rv;
}
-# ui_submit(label, [name], [disabled?])
+# ui_submit(label, [name], [disabled?], [tags])
# Returns HTML for a form submit button
sub ui_submit
{
return &theme_ui_submit(@_) if (defined(&theme_ui_submit));
-local ($label, $name, $dis) = @_;
+local ($label, $name, $dis, $tags) = @_;
return "<input type=submit".
($name ne '' ? " name=\""."e_escape($name)."\"" : "").
" value=\""."e_escape($label)."\"".
- ($dis ? " disabled=true" : "").">\n";
+ ($dis ? " disabled=true" : "").
+ ($tags ? " ".$tags : "").">\n";
}
local $rv;
local $f;
foreach $f (@{$_[0]}) {
- $rv .= "form.elements[\"$f\"].disabled = true; ";
+ $rv .= "e = form.elements[\"$f\"]; e.disabled = true; ";
+ $rv .= "for(i=0; i<e.length; i++) { e[i].disabled = true; } ";
}
foreach $f (@{$_[1]}) {
- $rv .= "form.elements[\"$f\"].disabled = false; ";
+ $rv .= "e = form.elements[\"$f\"]; e.disabled = false; ";
+ $rv .= "for(i=0; i<e.length; i++) { e[i].disabled = false; } ";
+ }
+foreach $f (@{$_[1]}) {
+ if ($f =~ /^(.*)_def$/ && &indexof($1, @{$_[1]}) >= 0) {
+ # When enabling both a _def field and its associated text field,
+ # disable the text if the _def is set to 1
+ local $tf = $1;
+ $rv .= "e = form.elements[\"$f\"]; for(i=0; i<e.length; i++) { if (e[i].checked && e[i].value == \"1\") { form.elements[\"$tf\"].disabled = true } } ";
+ }
}
return $_[2] ? "$_[2]='$rv'" : $rv;
}