projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1f3efc8
)
prevent multiple additions to usergroup table (work around #1606)
author
jeff
<jeff>
Fri, 8 Jun 2007 17:38:56 +0000
(17:38 +0000)
committer
jeff
<jeff>
Fri, 8 Jun 2007 17:38:56 +0000
(17:38 +0000)
FS/FS/part_export/sqlradius.pm
patch
|
blob
|
history
diff --git
a/FS/FS/part_export/sqlradius.pm
b/FS/FS/part_export/sqlradius.pm
index
139f400
..
114ca0b
100644
(file)
--- a/
FS/FS/part_export/sqlradius.pm
+++ b/
FS/FS/part_export/sqlradius.pm
@@
-374,10
+374,17
@@
sub sqlradius_usergroup_insert { #subroutine, not method
my $dbh = sqlradius_connect(shift, shift, shift);
my( $username, @groups ) = @_;
my $dbh = sqlradius_connect(shift, shift, shift);
my( $username, @groups ) = @_;
+ my $s_sth = $dbh->prepare(
+ "SELECT COUNT(*) FROM usergroup WHERE UserName = ? AND GroupName = ?"
+ ) or die $dbh->errstr;
+
my $sth = $dbh->prepare(
"INSERT INTO usergroup ( UserName, GroupName ) VALUES ( ?, ? )"
) or die $dbh->errstr;
my $sth = $dbh->prepare(
"INSERT INTO usergroup ( UserName, GroupName ) VALUES ( ?, ? )"
) or die $dbh->errstr;
+
foreach my $group ( @groups ) {
foreach my $group ( @groups ) {
+ $s_sth->execute( $username, $group ) or die $s_sth->errstr;
+ next if $s_sth->fetchrow_arrayref->[0];
$sth->execute( $username, $group )
or die "can't insert into groupname table: ". $sth->errstr;
}
$sth->execute( $username, $group )
or die "can't insert into groupname table: ". $sth->errstr;
}