[Cpan-forum-commit] rev 332 - in trunk: . lib/CPAN/Forum/DB lib/CPAN/Forum/RM
svn at pti.co.il
svn at pti.co.il
Mon Aug 13 22:16:41 EEST 2007
Author: gabor
Date: 2007-08-13 22:16:41 +0300 (Mon, 13 Aug 2007)
New Revision: 332
Modified:
trunk/
trunk/lib/CPAN/Forum/DB/Groups.pm
trunk/lib/CPAN/Forum/RM/Search.pm
Log:
add names_by_name and names_by_pauseidstr to the DB::Group module
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4416
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
+ 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4417
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
Modified: trunk/lib/CPAN/Forum/DB/Groups.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Groups.pm 2007-08-13 19:16:05 UTC (rev 331)
+++ trunk/lib/CPAN/Forum/DB/Groups.pm 2007-08-13 19:16:41 UTC (rev 332)
@@ -69,5 +69,21 @@
return $self->info_by(name => $args{name});
}
+sub names_by_name {
+ my ($self, $value) = @_;
+ $value = '%' . $value . '%';
+ my $sql = "SELECT name FROM groups WHERE name LIKE ? ORDER BY name";
+ return $self->_fetch_arrayref_of_hashes($sql, $value);
+}
+
+sub names_by_pauseidstr {
+ my ($self, $value) = @_;
+ my $sql = "SELECT name FROM groups, authors WHERE authors.pauseid=? AND authors.id=groups.pauseid";
+ return $self->_fetch_arrayref_of_hashes($sql, $value);
+}
+
+
+# my $author = CPAN::Forum::DB::Authors->get_author_by_pauseid($name);
+
1;
Modified: trunk/lib/CPAN/Forum/RM/Search.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Search.pm 2007-08-13 19:16:05 UTC (rev 331)
+++ trunk/lib/CPAN/Forum/RM/Search.pm 2007-08-13 19:16:41 UTC (rev 332)
@@ -109,34 +109,25 @@
$t->output;
}
+# $what: module or pauseid
sub _search_modules {
my ($self, $t, $name, $what) = @_;
- my $it;
+ my $groups;
if ($what eq "module") {
- $it = CPAN::Forum::DB::Groups->search_like(name => '%' . $name . '%');
+ $groups = CPAN::Forum::DB::Groups->names_by_name($name); # SQL
} else {
- my $author = CPAN::Forum::DB::Authors->get_author_by_pauseid($name);
- if ($author) {
- $it = CPAN::Forum::DB::Groups->search(pauseid => $author->{id});
- }
+ $groups = CPAN::Forum::DB::Groups->names_by_pauseidstr(uc $name); # SQL
$t->param(pauseid_name => uc $name)
}
- my @things;
- if ($it) {
- while (my $group = $it->next) {
- push @things, {name => $group->name};
- }
- }
- $t->param(groups => \@things);
+ $t->param(groups => $groups);
$t->param($what => 1);
- return @things ? 1 : 0;
+ return @$groups ? 1 : 0;
}
sub _search_users {
my ($self, $t, $name, $what) = @_;
- my @things;
my $users = CPAN::Forum::DB::Users->list_users_like(lc($name)); # SQL
$t->param(users => $users);
$t->param($what => 1);
More information about the Cpan-forum-commit
mailing list