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

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


Author: gabor
Date: 2007-07-21 18:21:51 +0300 (Sat, 21 Jul 2007)
New Revision: 290

Modified:
   trunk/
   trunk/lib/CPAN/Forum/DB/Users.pm
   trunk/lib/CPAN/Forum/RM/Login.pm
   trunk/lib/CPAN/Forum/RM/Notify.pm
Log:
fetch user info based on credentials



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

Modified: trunk/lib/CPAN/Forum/DB/Users.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Users.pm	2007-07-21 15:21:21 UTC (rev 289)
+++ trunk/lib/CPAN/Forum/DB/Users.pm	2007-07-21 15:21:51 UTC (rev 290)
@@ -41,6 +41,18 @@
     return $self->_fetch_single_hashref($sql, $value);
 }
 
+sub info_by_credentials {
+    my ($self, $username, $password) = @_;
+    Carp::croak("No username supplied") if not $username;
+    Carp::croak("No password supplied") if not $password;
+
+    my $sql = "SELECT id, email, fname, lname, username
+                FROM users
+                WHERE username=? AND password=?";
+    return $self->_fetch_single_hashref($sql, $username, $password);
+}
+
+
 sub dump_users {
     my ($self) = @_;
     my $sql = "SELECT id, username FROM users";

Modified: trunk/lib/CPAN/Forum/RM/Login.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Login.pm	2007-07-21 15:21:21 UTC (rev 289)
+++ trunk/lib/CPAN/Forum/RM/Login.pm	2007-07-21 15:21:51 UTC (rev 290)
@@ -41,26 +41,24 @@
         return $self->login({no_login_data => 1});
     }
 
-    my ($user) = CPAN::Forum::DB::Users->search({
-                    username => $q->param('nickname'),
-                    password => $q->param('password'),
-            });
+
+    my $user = CPAN::Forum::DB::Users->info_by_credentials($q->param('nickname'), $q->param('password')); # SQL
     if (not $user) {
         $self->log->debug("No user found");
         return $self->login({bad_login => 1});
     }
-    $self->log->debug("Username: " . $user->username);
+    $self->log->debug("Username: " . $user->{username});
 
     my $session = $self->session;
     $session->param(admin     => 0); # make sure it is clean
 
     $session->param(loggedin  => 1);
-    $session->param(username  => $user->username);
-    $session->param(uid       => $user->id);
-    $session->param(fname     => $user->fname);
-    $session->param(lname     => $user->lname);
-    $session->param(email     => $user->email);
-    foreach my $g (CPAN::Forum::DB::Usergroups->search_ugs($user->id)) {
+    $session->param(username  => $user->{username});
+    $session->param(uid       => $user->{id});
+    $session->param(fname     => $user->{fname});
+    $session->param(lname     => $user->{lname});
+    $session->param(email     => $user->{email});
+    foreach my $g (CPAN::Forum::DB::Usergroups->search_ugs($user->{id})) {
         $self->log->debug("UserGroups: " . $g->name);
         if ($g->name eq "admin") {
             $session->param(admin     => 1);

Modified: trunk/lib/CPAN/Forum/RM/Notify.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Notify.pm	2007-07-21 15:21:21 UTC (rev 289)
+++ trunk/lib/CPAN/Forum/RM/Notify.pm	2007-07-21 15:21:51 UTC (rev 290)
@@ -15,7 +15,7 @@
 sub notify {
     my ($self, $post_id) = @_;
     
-    my $post = CPAN::Forum::DB::Posts->get_post($post_id);
+    my $post = CPAN::Forum::DB::Posts->get_post($post_id); # SQL
     return if not $post;
     # TODO what if it does not find it?
 
@@ -65,7 +65,7 @@
 
     # TODO: the admin should be able to configure if she wants to get messages on
     # every new user (field update_on_new_user)
-    my $admin = CPAN::Forum::DB::Users->info_by(id => 1);
+    my $admin = CPAN::Forum::DB::Users->info_by(id => 1); # SQL
     my %mail = (
         To      => $admin->{email},
         From     => $FROM,
@@ -215,27 +215,27 @@
     if ($params[0] eq 'dist') {
         my $dist = $params[1] || '';
         $self->log->debug("rss of dist: '$dist'");
-        return CPAN::Forum::DB::Posts->search_post_by_groupname($dist, $limit);
+        return CPAN::Forum::DB::Posts->search_post_by_groupname($dist, $limit); # SQL
     }
 
     if ($params[0] eq 'author') {
         my $pauseid = uc($params[1]) || '';
         if ($pauseid) {
             $self->log->debug("rss of author: '$pauseid'");
-            return CPAN::Forum::DB::Posts->search_post_by_pauseid($pauseid, $limit);
+            return CPAN::Forum::DB::Posts->search_post_by_pauseid($pauseid, $limit); # SQL
         }
     }
 
     if ($params[0] eq 'all') {
-        return CPAN::Forum::DB::Posts->retrieve_latest($limit);
+        return CPAN::Forum::DB::Posts->retrieve_latest($limit); # SQL
     }
 
     if ($params[0] eq 'threads') {
-        return CPAN::Forum::DB::Posts->search_latest_threads($limit);
+        return CPAN::Forum::DB::Posts->search_latest_threads($limit); # SQL
     }
 
     if ($params[0] eq 'tags') {
-        return CPAN::Forum::DB::Tags->retrieve_latest($limit);
+        return CPAN::Forum::DB::Tags->retrieve_latest($limit); # SQL
     }
 
     return;



More information about the Cpan-forum-commit mailing list