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

svn at pti.co.il svn at pti.co.il
Sat Jul 21 18:15:49 EEST 2007


Author: gabor
Date: 2007-07-21 18:15:49 +0300 (Sat, 21 Jul 2007)
New Revision: 278

Modified:
   trunk/
   trunk/lib/CPAN/Forum/DB/Posts.pm
   trunk/lib/CPAN/Forum/RM/Other.pm
Log:
stats page moved to plain SQL



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

Modified: trunk/lib/CPAN/Forum/DB/Posts.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Posts.pm	2007-07-21 15:15:22 UTC (rev 277)
+++ trunk/lib/CPAN/Forum/DB/Posts.pm	2007-07-21 15:15:49 UTC (rev 278)
@@ -18,23 +18,15 @@
 __PACKAGE__->set_sql(count_like     => "SELECT count(*) FROM __TABLE__ WHERE %s LIKE '%s'");
 #__PACKAGE__->add_constraint('subject_too_long', subject => sub { length $_[0] <= 70 and $_[0] !~ /</});
 #__PACKAGE__->add_constraint('text_format', text => \&check_text_format);
-__PACKAGE__->set_sql(stat_posts_by_group => qq{
-            SELECT COUNT(*) cnt, groups.name gname
-            FROM posts,groups 
-            WHERE posts.gid=groups.id
-            GROUP BY gname
-            ORDER BY cnt DESC
-            LIMIT ?
-            });
+#__PACKAGE__->set_sql(stat_posts_by_user => qq{
+#            SELECT COUNT(*) cnt, users.username username 
+#            FROM posts,users
+#            WHERE posts.uid=users.id
+#            GROUP BY username
+#            ORDER BY cnt DESC
+#            LIMIT ?
+#            });
 
-__PACKAGE__->set_sql(stat_posts_by_user => qq{
-            SELECT COUNT(*) cnt, users.username username 
-            FROM posts,users
-            WHERE posts.uid=users.id
-            GROUP BY username
-            ORDER BY cnt DESC
-            LIMIT ?
-            });
 my $MORE_SQL = 'groups.name group_name, users.fname user_fname, users.lname user_lname, users.username user_username';
 
 sub get_post {
@@ -141,5 +133,18 @@
     return $self->_fetch_single_value($sql, $thread_id);
 }
 
+sub stat_posts_by_group {
+    my ($self, $limit) = @_;
+    my $sql = qq{
+            SELECT COUNT(*) cnt, groups.name gname
+            FROM posts,groups 
+            WHERE posts.gid=groups.id
+            GROUP BY gname
+            ORDER BY cnt DESC
+            LIMIT ?
+            };
+    return $self->_fetch_arrayref_of_hashes($sql, $limit);
+}
+
 1;
  

Modified: trunk/lib/CPAN/Forum/RM/Other.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Other.pm	2007-07-21 15:15:22 UTC (rev 277)
+++ trunk/lib/CPAN/Forum/RM/Other.pm	2007-07-21 15:15:49 UTC (rev 278)
@@ -39,12 +39,12 @@
 sub stats {
     my $self = shift;
     my $t = $self->load_tmpl("stats.tmpl");
-    my @groups = CPAN::Forum::DB::Posts->search_stat_posts_by_group(50);
+    my $groups = CPAN::Forum::DB::Posts->stat_posts_by_group(50);
     #my @users  = CPAN::Forum::DB::Posts->search_stat_posts_by_user(10);
     #
     # TODO: user stats removed as it was extreamly slow..
     #     
-    $t->param(groups => \@groups);
+    $t->param(groups => $groups);
     #$t->param(users  => \@users);
     $t->output;
 }



More information about the Cpan-forum-commit mailing list