X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Ffs-radius-add-reply;h=3de01374fefd2df65bdbcb50588b4fc2b7b13e80;hp=7938feac6adbb4a707dc6454f4f35b47f93a0c6b;hb=470c3559d5077d2db4779610bbd798d58eaec27f;hpb=df3db34511853d9404a4910c20dcedf0563f02f2 diff --git a/bin/fs-radius-add-reply b/bin/fs-radius-add-reply index 7938feac6..3de01374f 100755 --- a/bin/fs-radius-add-reply +++ b/bin/fs-radius-add-reply @@ -5,8 +5,13 @@ use strict; use DBI; use FS::UID qw(adminsuidsetup checkeuid getsecrets); +use FS::raddb; + die "Not running uid freeside!" unless checkeuid(); +my %attrib2db = + map { lc($FS::raddb::attrib{$_}) => $_ } keys %FS::raddb::attrib; + my $user = shift or die &usage; getsecrets($user); @@ -18,7 +23,8 @@ print "\n\n", <); @@ -33,20 +39,31 @@ my($char_d) = 80; #default maxlength for text fields ### foreach my $attribute ( @attributes ) { - foreach my $statement ( - "ALTER TABLE svc_acct ADD radius_$attribute varchar($char_d) NULL", - "ALTER TABLE part_svc ADD svc_acct__radius_$attribute varchar($char_d) NULL;", - "ALTER TABLE part_svc ADD svc_acct__radius_${attribute}_flag char(1) NULL;", - ) { - $dbh->do( $statement ) or warn "Error executing $statement: ". $dbh->errstr; } + + my $statement = + "ALTER TABLE svc_acct ADD COLUMN radius_$attribute varchar($char_d) NULL"; + my $sth = $dbh->prepare( $statement ) + or warn "Error preparing $statement: ". $dbh->errstr; + my $rc = $sth->execute + or warn "Error executing $statement: ". $sth->errstr; + + $statement = + "ALTER TABLE h_svc_acct ADD COLUMN radius_$attribute varchar($char_d) NULL"; + $sth = $dbh->prepare( $statement ) + or warn "Error preparing $statement: ". $dbh->errstr; + $rc = $sth->execute + or warn "Error executing $statement: ". $sth->errstr; + } +$dbh->commit or die $dbh->errstr; + $dbh->disconnect or die $dbh->errstr; print "\n\n", "Now you must run dbdef-create.\n\n"; sub usage { - die "Usage:\n fs-radius-add user\n"; + die "Usage:\n fs-radius-add-reply user\n"; }