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

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


Author: gabor
Date: 2007-07-21 18:20:24 +0300 (Sat, 21 Jul 2007)
New Revision: 287

Modified:
   trunk/
   trunk/lib/CPAN/Forum/DB/Groups.pm
   trunk/lib/CPAN/Forum/DB/Users.pm
   trunk/lib/CPAN/Forum/DBI.pm
   trunk/lib/CPAN/Forum/RM/Notify.pm
   trunk/lib/CPAN/Forum/RM/Users.pm
Log:
replace simple die with confess on DBI errors
fix  Groups->info_by call



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

Modified: trunk/lib/CPAN/Forum/DB/Groups.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Groups.pm	2007-07-21 15:19:50 UTC (rev 286)
+++ trunk/lib/CPAN/Forum/DB/Groups.pm	2007-07-21 15:20:24 UTC (rev 287)
@@ -21,7 +21,7 @@
 
     my $sql = "SELECT groups.id id, name, status, groups.pauseid, authors.pauseid pauseid_name
                FROM groups, authors
-               WHERE $field=? AND authors.id=groups.pauseid";
+               WHERE groups.$field=? AND authors.id=groups.pauseid";
     return $self->_fetch_single_hashref($sql, $value);
 }
 sub list_ids_by {

Modified: trunk/lib/CPAN/Forum/DB/Users.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Users.pm	2007-07-21 15:19:50 UTC (rev 286)
+++ trunk/lib/CPAN/Forum/DB/Users.pm	2007-07-21 15:20:24 UTC (rev 287)
@@ -30,14 +30,15 @@
     return $pw;
 }
 
-sub get_user {
-    my ($self, $user_id) = @_;
-    return if not $user_id;
+sub info_by {
+    my ($self, $field, $value) = @_;
+    Carp::croak("Invalid field '$field'") if $field ne "id" and $field ne "username";
+    Carp::croak("No value supplied") if not $value;
 
     my $sql = "SELECT id, email, fname, lname, username
                 FROM users
-                WHERE id=?";
-    return $self->_fetch_single_hashref($sql, $user_id);
+                WHERE $field=?";
+    return $self->_fetch_single_hashref($sql, $value);
 }
 
 sub dump_users {

Modified: trunk/lib/CPAN/Forum/DBI.pm
===================================================================
--- trunk/lib/CPAN/Forum/DBI.pm	2007-07-21 15:19:50 UTC (rev 286)
+++ trunk/lib/CPAN/Forum/DBI.pm	2007-07-21 15:20:24 UTC (rev 287)
@@ -2,23 +2,26 @@
 use strict;
 use warnings;
 use base 'Class::DBI';
-use Carp qw(croak);
+use Carp qw();
 
 use Class::DBI::Plugin::AbstractCount;      # pager needs this
 use Class::DBI::Plugin::Pager;
 
 use DBI;
-my $dbh;
+my $dbh_connected;
 
 sub myinit {
     my $class = shift;
     my $db_connect = shift;
-    if (not $dbh) {
-        $dbh = __PACKAGE__->connection($db_connect, '', '', 
+    if (not $dbh_connected) {
+        $dbh_connected = __PACKAGE__->connection($db_connect, '', '', 
                     {
                     });
+        my $dbh = CPAN::Forum::DBI::db_Main();
+        #warn $dbh;
+        $dbh->{HandleError} = sub { Carp::confess(shift); };
     }
-    return $dbh;
+    return $dbh_connected;
 }
 
 our @group_types = ("None", "Global", "Field", "Distribution", "Module");

Modified: trunk/lib/CPAN/Forum/RM/Notify.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Notify.pm	2007-07-21 15:19:50 UTC (rev 286)
+++ trunk/lib/CPAN/Forum/RM/Notify.pm	2007-07-21 15:20:24 UTC (rev 287)
@@ -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->get_user(1);
+    my $admin = CPAN::Forum::DB::Users->info_by(id => 1);
     my %mail = (
         To      => $admin->{email},
         From     => $FROM,

Modified: trunk/lib/CPAN/Forum/RM/Users.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Users.pm	2007-07-21 15:19:50 UTC (rev 286)
+++ trunk/lib/CPAN/Forum/RM/Users.pm	2007-07-21 15:20:24 UTC (rev 287)
@@ -27,7 +27,7 @@
                 
     $t->param(hide_username => 1);
 
-    my ($user) = CPAN::Forum::DB::Users->search(username => $username);
+    my ($user) = CPAN::Forum::DB::Users->info_by(username => $username);
 
     if (not $user) {
         return $self->internal_error("Non existing user was accessed");



More information about the Cpan-forum-commit mailing list