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

svn at pti.co.il svn at pti.co.il
Sun Jul 22 07:02:53 EEST 2007


Author: gabor
Date: 2007-07-22 07:02:53 +0300 (Sun, 22 Jul 2007)
New Revision: 295

Modified:
   trunk/
   trunk/lib/CPAN/Forum/DB/Users.pm
   trunk/lib/CPAN/Forum/RM/Login.pm
   trunk/templates/stats.tmpl
Log:
password reminder using plain SQL



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4302
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
   + 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4303
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-22 04:02:32 UTC (rev 294)
+++ trunk/lib/CPAN/Forum/DB/Users.pm	2007-07-22 04:02:53 UTC (rev 295)
@@ -8,6 +8,7 @@
                             update_on_new_user/);
 __PACKAGE__->has_many(posts => "CPAN::Forum::DB::Posts");
 
+use List::MoreUtils qw(none);
 
 sub add_user {
     my ($self, $args) = @_;
@@ -32,7 +33,8 @@
 
 sub info_by {
     my ($self, $field, $value) = @_;
-    Carp::croak("Invalid field '$field'") if $field ne "id" and $field ne "username";
+    my @FIELDS = qw(id username email);
+    Carp::croak("Invalid field '$field'") if none {$field eq $_} @FIELDS;
     Carp::croak("No value supplied") if not $value;
 
     my $sql = "SELECT id, email, fname, lname, username

Modified: trunk/lib/CPAN/Forum/RM/Login.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Login.pm	2007-07-22 04:02:32 UTC (rev 294)
+++ trunk/lib/CPAN/Forum/RM/Login.pm	2007-07-22 04:02:53 UTC (rev 295)
@@ -2,6 +2,7 @@
 use strict;
 use warnings;
 
+use List::MoreUtils qw(none);
 
 =head2 login
 
@@ -138,16 +139,17 @@
     my ($self) = @_;
     my $q = $self->query;
     my $field = $q->param('field');
-    if (not $field or $field !~ /^username|email$/ or not $q->param('value')) {
+    my @FIELDS = qw(username email);
+    if (not $field or not $q->param('value') or none {$field eq $_} @FIELDS) {
         return $self->pwreminder({"no_data" => 1});
     }
 
-    my ($user) = CPAN::Forum::DB::Users->search({$field => $q->param('value')});
+    my $user = CPAN::Forum::DB::Users->info_by($field => $q->param('value')); # SQL
     return $self->pwreminder({"no_data" => 1}) if not $user;
 
     # TODO: put this text in a template
-    my $password = $user->password;
-    my $username = $user->username;
+    my $password = $user->{password};
+    my $username = $user->{username};
     my $subject = "CPAN::Forum password reminder";
     my $message = <<MSG;
 
@@ -164,7 +166,7 @@
     $self->log->debug("FROM field set to be $FROM");
 
     my %mail = (
-        To       => $user->email,
+        To       => $user->{email},
         From     => $FROM,
         Subject  => $subject,
         Message  => $message,

Modified: trunk/templates/stats.tmpl
===================================================================
--- trunk/templates/stats.tmpl	2007-07-22 04:02:32 UTC (rev 294)
+++ trunk/templates/stats.tmpl	2007-07-22 04:02:53 UTC (rev 295)
@@ -8,7 +8,7 @@
 <tr><td>
 
 <div class="about_list">
-<p class="about_title">Top <TMPL_VAR modules_cnt> modules<br />(number of posts)</p>
+<p class="about_title">Top <TMPL_VAR modules_cnt> modules</p>
 <table>
 <TMPL_LOOP groups>
   <tr><td><a href="/dist/<TMPL_VAR gname>"><TMPL_VAR gname></a></td><td><TMPL_VAR cnt></td></tr>
@@ -20,7 +20,7 @@
 <TMPL_IF users>
 <td>
     <div class="about_list">
-    <p class="about_title"><TMPL_VAR users_cnt> most active users<br />(number of posts)</p>
+    <p class="about_title"><TMPL_VAR users_cnt> most active users</p>
     <table>
     <TMPL_LOOP users>
       <tr><td><a href="/users/<TMPL_VAR username>"><TMPL_VAR username></a></td><td><TMPL_VAR cnt></td></tr>
@@ -34,7 +34,7 @@
 <TMPL_IF tagging_users>
 <td valign=top>
     <div class="about_list">
-    <p class="about_title"><TMPL_VAR tagging_users_cnt> most active users<br />(number of tags)</p>
+    <p class="about_title">Top <TMPL_VAR tagging_users_cnt> taggers</p>
     <table>
     <TMPL_LOOP tagging_users>
       <tr><td><a href="/users/<TMPL_VAR username>"><TMPL_VAR username></a></td><td><TMPL_VAR cnt></td></tr>



More information about the Cpan-forum-commit mailing list