[freeside-commits] freeside/FS/FS svc_broadband.pm, 1.10, 1.11 Record.pm, 1.135, 1.136

Jeff Finucane,420,, jeff at wavetail.420.am
Fri Feb 16 12:21:56 PST 2007


Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail:/tmp/cvs-serv23771/FS/FS

Modified Files:
	svc_broadband.pm Record.pm 
Log Message:
coordinates can be negative (deja vu?)

Index: svc_broadband.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/svc_broadband.pm,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- svc_broadband.pm	12 Jan 2007 23:27:08 -0000	1.10
+++ svc_broadband.pm	16 Feb 2007 20:21:54 -0000	1.11
@@ -200,9 +200,9 @@
     || $self->ut_ipn('ip_addr')
     || $self->ut_hexn('mac_addr')
     || $self->ut_hexn('auth_key')
-    || $self->ut_floatn('latitude')
-    || $self->ut_floatn('longitude')
-    || $self->ut_floatn('altitude')
+    || $self->ut_sfloatn('latitude')
+    || $self->ut_sfloatn('longitude')
+    || $self->ut_sfloatn('altitude')
     || $self->ut_textn('vlan_profile')
   ;
   return $error if $error;

Index: Record.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Record.pm,v
retrieving revision 1.135
retrieving revision 1.136
diff -u -d -r1.135 -r1.136
--- Record.pm	5 Feb 2007 09:44:38 -0000	1.135
+++ Record.pm	16 Feb 2007 20:21:54 -0000	1.136
@@ -1338,6 +1338,41 @@
   }
 }
 
+=item ut_sfloat COLUMN
+
+Check/untaint signed floating point numeric data: 1.1, 1, 1.1e10, 1e10.
+May not be null.  If there is an error, returns the error, otherwise returns
+false.
+
+=cut
+
+sub ut_sfloat {
+  my($self,$field)=@_ ;
+  ($self->getfield($field) =~ /^(-?\d+\.\d+)$/ ||
+   $self->getfield($field) =~ /^(-?\d+)$/ ||
+   $self->getfield($field) =~ /^(-?\d+\.\d+[eE]-?\d+)$/ ||
+   $self->getfield($field) =~ /^(-?\d+[eE]-?\d+)$/)
+    or return "Illegal or empty (float) $field: ". $self->getfield($field);
+  $self->setfield($field,$1);
+  '';
+}
+=item ut_sfloatn COLUMN
+
+Check/untaint signed floating point numeric data: 1.1, 1, 1.1e10, 1e10.  May be
+null.  If there is an error, returns the error, otherwise returns false.
+
+=cut
+
+sub ut_sfloatn {
+  my( $self, $field ) = @_;
+  if ( $self->getfield($field) =~ /^()$/ ) {
+    $self->setfield($field,'');
+    '';
+  } else {
+    $self->ut_sfloat($field);
+  }
+}
+
 =item ut_snumber COLUMN
 
 Check/untaint signed numeric data (whole numbers).  If there is an error,



More information about the freeside-commits mailing list