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

svn at pti.co.il svn at pti.co.il
Tue Aug 14 11:32:22 EEST 2007


Author: gabor
Date: 2007-08-14 11:32:22 +0300 (Tue, 14 Aug 2007)
New Revision: 334

Modified:
   trunk/
   trunk/lib/CPAN/Forum.pm
   trunk/lib/CPAN/Forum/DB/Posts.pm
Log:
replace thread display by plain SQL query



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4420
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
   + 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4421
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-08-14 08:32:08 UTC (rev 333)
+++ trunk/lib/CPAN/Forum/DB/Posts.pm	2007-08-14 08:32:22 UTC (rev 334)
@@ -28,6 +28,18 @@
                 WHERE posts.id=? AND posts.gid=groups.id AND users.id=posts.uid";
     return $self->_fetch_single_hashref($sql, $post_id);
 }
+
+sub posts_in_thread {
+    my ($self, $thread) = @_;
+    my $sql = "SELECT posts.id, gid, uid, parent, thread, hidden, subject, text, date,
+                groups.name group_name, groups.pauseid, username, fname, lname
+                FROM posts, groups, users
+                WHERE posts.thread=? AND posts.gid=groups.id AND users.id=posts.uid";
+    $self->_fetch_arrayref_of_hashes($sql, $thread);
+}
+
+
+
 sub _get_latest_pid_by_uid {
     my ($self, $uid) = @_;
     my $sql = "SELECT id, text, subject FROM posts WHERE uid=? ORDER BY date DESC LIMIT 1";
@@ -185,17 +197,6 @@
     return $self->_fetch_arrayref_of_hashes($sql, $value);
 };
 
-sub posts_in_thread {
-    my ($self, $thread) = @_;
-    my $sql = "SELECT id,  FROM posts WHERE thread=?";
-
-    my $sql = "SELECT posts.id, gid, uid, parent, thread, hidden, subject, text, date,
-                groups.name group_name, groups.pauseid
-                FROM posts, groups
-                WHERE posts.thread=? AND posts.gid=groups.id ";
-    $self->_fetch_arrayref_of_hashes($sql, $thread);
-}
-
 sub add_post {
     my ($self, $data, $parent_post, $parent) = @_;
     $self->add('posts', $data);

Modified: trunk/lib/CPAN/Forum.pm
===================================================================
--- trunk/lib/CPAN/Forum.pm	2007-08-14 08:32:08 UTC (rev 333)
+++ trunk/lib/CPAN/Forum.pm	2007-08-14 08:32:22 UTC (rev 334)
@@ -1273,18 +1273,16 @@
     my ($self, $post) = @_;
     my $responses = CPAN::Forum::DB::Posts->list_posts_by(parent => $post->{id}); # SQL
 
-    #my $user = CPAN::Forum::DB::Users->info_by(id => $post->{uid}); # SQL
     my %post = (
         postername  => $post->{username},
         date        => _post_date($post->{date}),
         parentid    => $post->{parent},
         responses   => $responses,
         text        => $self->_text_escape($post->{text}),
+        id          => $post->{id},
+        subject     => _subject_escape($post->{subject}),
     );
 
-    $post{id}      = $post->{id};
-    $post{subject} = _subject_escape($post->{subject});
-
     return \%post;
 }
 
@@ -1333,26 +1331,27 @@
     my $id = $q->param("id");
     $id = ${$self->param("path_parameters")}[0] if ${$self->param("path_parameters")}[0];
 
-    #my @posts = CPAN::Forum::DB::Posts->posts_in_thread($id);
-    my @posts = CPAN::Forum::DB::Posts->search(thread => $id);
-    if (not @posts) {
+    my $posts = CPAN::Forum::DB::Posts->posts_in_thread($id); # SQL
+    if (not @$posts) {
         return $self->internal_error(
             "in request",
             );
     }
+    $self->log->debug(Data::Dumper->Dump([$posts], ['posts']));
+    
 
     my @posts_html;
-    foreach my $p (@posts) {
+    foreach my $p (@$posts) {
         push @posts_html, $self->_post($p);
     }
     $t->param(posts => \@posts_html);
     
 #   (my $dashgroup = $posts[0]->gid) =~ s/::/-/g;
-    $t->param(group => $posts[0]->gid->name);
+    $t->param(group => $posts->[0]->{group_name});
 #   $t->param(dashgroup => $dashgroup);
-    $t->param(title => _subject_escape($posts[0]->subject));
+    $t->param(title => _subject_escape($posts->[0]->{subject}));
 
-    $self->set_ratings($t, $posts[0]->gid->name);
+    $self->set_ratings($t, $posts->[0]->{group_name});
 
     return $t->output;
 }



More information about the Cpan-forum-commit mailing list