diff options
Diffstat (limited to 'FS')
| -rw-r--r-- | FS/FS/Record.pm | 17 | 
1 files changed, 16 insertions, 1 deletions
| diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm index 331de0225..98acaf522 100644 --- a/FS/FS/Record.pm +++ b/FS/FS/Record.pm @@ -651,7 +651,7 @@ sub replace {          $old->getfield($_) eq ''            #? "( $_ IS NULL OR $_ = \"\" )"            ? ( driver_name =~ /^Pg$/i -                ? "$_ IS NULL" +                ? "( $_ IS NULL OR $_ = '' ) "                  : "( $_ IS NULL OR $_ = \"\" )"              )            : "$_ = ". _quote($old->getfield($_),$old->table,$_) @@ -792,6 +792,21 @@ sub ut_float {    '';  } +=item ut_snumber COLUMN + +Check/untaint signed numeric data (whole numbers).  May not be null.  If there +is an error, returns the error, otherwise returns false. + +=cut + +sub ut_snumber { +  my($self, $field) = @_; +  $self->getfield($field) =~ /^(-?)\s*(\d+)$/ +    or return "Illegal or empty (numeric) $field: ". $self->getfield($field); +  $self->setfield($field, "$1$2"); +  ''; +} +  =item ut_number COLUMN  Check/untaint simple numeric data (whole numbers).  May not be null.  If there | 
