[Cpan-forum-commit] rev 325 - in trunk: . lib/CPAN lib/CPAN/Forum/DB

svn at pti.co.il svn at pti.co.il
Fri Aug 10 18:33:39 EEST 2007


Author: gabor
Date: 2007-08-10 18:33:39 +0300 (Fri, 10 Aug 2007)
New Revision: 325

Modified:
   trunk/
   trunk/lib/CPAN/Forum.pm
   trunk/lib/CPAN/Forum/DB/Subscriptions.pm
Log:
allow get_subscriptions to receive the field name (allposts) to be passed as
its first parameter



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4391
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
   + 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4394
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752

Modified: trunk/lib/CPAN/Forum/DB/Subscriptions.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Subscriptions.pm	2007-08-10 14:15:49 UTC (rev 324)
+++ trunk/lib/CPAN/Forum/DB/Subscriptions.pm	2007-08-10 15:33:39 UTC (rev 325)
@@ -44,21 +44,24 @@
 
 
 sub get_subscriptions {
-    my ($self, $gid, $pauseid) = @_;
+    my ($self, $field, $gid, $pauseid) = @_;
+    if (not grep {$field eq $_} qw(allposts)) {
+        Carp::croak("Invalid field '$field'");
+    }
 
     my $sql = "  SELECT DISTINCT username
                    FROM users, subscriptions_all
-                   WHERE (users.id=subscriptions_all.uid AND subscriptions_all.allposts=1)
+                   WHERE (users.id=subscriptions_all.uid AND subscriptions_all.$field=1)
                UNION
                  SELECT DISTINCT username
                    FROM users, subscriptions
-                   WHERE  (users.id=subscriptions.uid AND subscriptions.allposts=1 AND gid=?)
+                   WHERE  (users.id=subscriptions.uid AND subscriptions.$field=1 AND gid=?)
                UNION
                  SELECT DISTINCT username
                    FROM users, subscriptions_pauseid
                    WHERE  
                      (users.id=subscriptions_pauseid.uid 
-                           AND subscriptions_pauseid.allposts=1 
+                           AND subscriptions_pauseid.$field=1 
                            AND subscriptions_pauseid.pauseid=?)
                ORDER BY username";
     return $self->_select_column($sql, $gid, $pauseid);

Modified: trunk/lib/CPAN/Forum.pm
===================================================================
--- trunk/lib/CPAN/Forum.pm	2007-08-10 14:15:49 UTC (rev 324)
+++ trunk/lib/CPAN/Forum.pm	2007-08-10 15:33:39 UTC (rev 325)
@@ -1387,7 +1387,7 @@
 sub _subscriptions {
     my ($self, $t, $group) = @_;
 
-    my $usernames = CPAN::Forum::DB::Subscriptions->get_subscriptions($group->{id}, $group->{pauseid}); # SQL
+    my $usernames = CPAN::Forum::DB::Subscriptions->get_subscriptions('allposts', $group->{id}, $group->{pauseid}); # SQL
     my @users = map {{username => $_}} @$usernames;
     #$self->log->debug(Data::Dumper->Dump([\@users], ['users']));
     $t->param(users => \@users);



More information about the Cpan-forum-commit mailing list