Commit fea90641 authored by Russ Fish's avatar Russ Fish

Fix whitespace and null string handling problems.

         www/beginexp_form.php3 - No initial whitespace in plab Slice Description textarea.
         sql/database-fill.sql - Use default:fulltext for 'experiments','expt_name'
             to allow multi-line Slice Description in plab_ez->beginexp->batchexp.
         www/moduserinfo.php3 - Pass null string for optional usr_addr2 and notes fields.
         backend/moduserinfo.in - Null string attr comes from XML as an undef value.
         db/User.pm.in - Distinguish between undef and null string in ModUserInfo.
parent 848c1f9c
......@@ -190,6 +190,9 @@ my %moduserinfo_args = ();
foreach my $key (keys(%{ $xmlparse->{'attribute'} })) {
my $value = $xmlparse->{'attribute'}->{"$key"}->{'value'};
if (!defined($value)) { # Empty string comes from XML as an undef value.
$xmlparse->{'attribute'}->{"$key"}->{'value'} = $value = "";
}
if ($debug) {
print STDERR "User attribute: '$key' -> '$value'\n";
......
......@@ -765,7 +765,7 @@ sub ModUserInfo($$$$)
# any email or external updates for this.
#
my $notes = $argref->{"notes"};
if ($notes && $isadmin && $target_user->notes() ne $notes) {
if (defined($notes) && $isadmin && $target_user->notes() ne $notes) {
$target_user->SetNotes($notes);
$noreport = 1;
}
......@@ -774,7 +774,7 @@ sub ModUserInfo($$$$)
# Set the plab bit separately since no need to call out to the backend.
#
my $ui = $argref->{"user_interface"};
if ($ui && $target_user->user_interface() ne $ui) {
if (defined($ui) && $target_user->user_interface() ne $ui) {
$target_user->SetUserInterface($ui);
$noreport = 1;
}
......
......@@ -731,7 +731,7 @@ REPLACE INTO table_regex VALUES ('experiments','jail_osname','text','redirect','
REPLACE INTO table_regex VALUES ('experiments','delay_osname','text','redirect','os_info:osname',0,0,NULL);
REPLACE INTO table_regex VALUES ('experiments','use_ipassign','int','redirect','default:boolean',0,0,NULL);
REPLACE INTO table_regex VALUES ('experiments','ipassign_args','text','regex','^[\\w\\s-]*$',0,255,NULL);
REPLACE INTO table_regex VALUES ('experiments','expt_name','text','redirect','default:tinytext',1,255,NULL);
REPLACE INTO table_regex VALUES ('experiments','expt_name','text','redirect','default:fulltext',1,255,NULL);
REPLACE INTO table_regex VALUES ('experiments','dpdb','int','redirect','default:tinyint',0,1,NULL);
REPLACE INTO table_regex VALUES ('experiments','description','text','regex','^[\\040-\\176\\012\\015\\011]*$',1,256,NULL);
......
......@@ -363,9 +363,9 @@ function SPITFORM($formfields, $errors)
<td class='pad4' class=left>
<textarea
name=\"formfields[exp_description]\"
rows=5 cols=50>".
$formfields['exp_description'] ."
</textarea>
rows=5 cols=50>" .
$formfields['exp_description'] .
"</textarea>
</td>
</tr>\n";
} else {
......
......@@ -507,7 +507,7 @@ if (isset($formfields["usr_addr"]) && $formfields["usr_addr"] != "" &&
$formfields["usr_addr"] != $target_user->addr()) {
$args["usr_addr"] = $formfields["usr_addr"];
}
if (isset($formfields["usr_addr2"]) && $formfields["usr_addr2"] != "" &&
if (isset($formfields["usr_addr2"]) &&
$formfields["usr_addr2"] != $target_user->addr2()) {
$args["usr_addr2"] = $formfields["usr_addr2"];
}
......@@ -535,7 +535,7 @@ if (isset($formfields["user_interface"]) && $formfields["user_interface"] != ""
$formfields["user_interface"] != $target_user->user_interface()) {
$args["user_interface"] = $formfields["user_interface"];
}
if (isset($formfields["notes"]) && $formfields["notes"] != "" &&
if (isset($formfields["notes"]) &&
$formfields["notes"] != $target_user->notes()) {
$args["notes"] = $formfields["notes"];
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment