[dw-free] similar interest search doesn't support communities
[commit: http://hg.dwscoalition.org/dw-free/rev/f8088d524458]
http://bugs.dwscoalition.org/show_bug.cgi?id=3436
Also return communities when you search for users with similar interests as
$username.
Patch by
kareila.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=3436
Also return communities when you search for users with similar interests as
$username.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/DW/Controller/Search/Interests.pm
-------------------------------------------------------------------------------- diff -r 2ee7fedfe5d6 -r f8088d524458 cgi-bin/DW/Controller/Search/Interests.pm --- a/cgi-bin/DW/Controller/Search/Interests.pm Fri Feb 04 12:28:21 2011 +0800 +++ b/cgi-bin/DW/Controller/Search/Interests.pm Fri Feb 04 12:36:34 2011 +0800 @@ -143,13 +143,16 @@ sub interest_handler { # perfect results? no. but who cares if somebody that lists "music" # or "reading" doesn't get an extra point towards matching you. # we care about more unique interests. - $sth = $dbr->prepare( "SELECT userid FROM userinterests WHERE intid=? LIMIT 500" ); - foreach my $int ( @ints ) { - $sth->execute( $int ); - while ( my $uid = $sth->fetchrow_array ) { - next if $uid == $u->userid; - $pt_weight{$uid} += ( 1 / log( $intcount{$int} + 1 ) ); - $pt_count{$uid}++; + + foreach ( qw( userinterests comminterests ) ) { + $sth = $dbr->prepare( "SELECT userid FROM $_ WHERE intid=? LIMIT 300" ); + foreach my $int ( @ints ) { + $sth->execute( $int ); + while ( my $uid = $sth->fetchrow_array ) { + next if $uid == $u->userid; + $pt_weight{$uid} += ( 1 / log( $intcount{$int} + 1 ) ); + $pt_count{$uid}++; + } } } --------------------------------------------------------------------------------