[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