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

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


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

Modified:
   trunk/
   trunk/lib/CPAN/Forum/DB/Users.pm
   trunk/lib/CPAN/Forum/RM/Other.pm
   trunk/lib/CPAN/Forum/RM/UserAccounts.pm
   trunk/lib/CPAN/Forum/RM/Users.pm
Log:
move update user to be plain SQL



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4280
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
   + 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4281
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:20:24 UTC (rev 287)
+++ trunk/lib/CPAN/Forum/DB/Users.pm	2007-07-21 15:20:56 UTC (rev 288)
@@ -47,6 +47,23 @@
     return $self->_dump($sql); 
 }
 
+sub update {
+    my ($self, $id, %args) = @_;
+    my @valid_fields = qw(fname lname);
+    my @fields;
+    my @values;
 
+    foreach my $f (@valid_fields) {
+        if (exists $args{$f}) {
+            push @fields, "$f=?";
+            push @values, $args{$f};
+        }
+    }
+
+    my $sql = "UPDATE users SET " . join(",", @fields) . " WHERE id=?";
+    my $dbh = CPAN::Forum::DBI::db_Main();
+    $dbh->do($sql, undef, @values, $id);
+}
+
 1;
 

Modified: trunk/lib/CPAN/Forum/RM/Other.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Other.pm	2007-07-21 15:20:24 UTC (rev 287)
+++ trunk/lib/CPAN/Forum/RM/Other.pm	2007-07-21 15:20:56 UTC (rev 288)
@@ -40,7 +40,6 @@
     my $self = shift;
     my $t = $self->load_tmpl("stats.tmpl");
     my $groups = CPAN::Forum::DB::Posts->stat_posts_by_group(50); # SQL
-    #my @users  = CPAN::Forum::DB::Posts->search_stat_posts_by_user(10);
     #
     # TODO: user stats removed as it was extreamly slow..
     #     

Modified: trunk/lib/CPAN/Forum/RM/UserAccounts.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/UserAccounts.pm	2007-07-21 15:20:24 UTC (rev 287)
+++ trunk/lib/CPAN/Forum/RM/UserAccounts.pm	2007-07-21 15:20:56 UTC (rev 288)
@@ -5,9 +5,9 @@
 sub selfconfig {
     my ($self, $errs) = @_;
     my $t = $self->load_tmpl("change_password.tmpl");
-    my ($user) = CPAN::Forum::DB::Users->retrieve($self->session->param('uid'));
-    $t->param(fname => $user->fname);
-    $t->param(lname => $user->lname);
+    my $user = CPAN::Forum::DB::Users->info_by(id => $self->session->param('uid')); # SQL
+    $t->param(fname => $user->{fname});
+    $t->param(lname => $user->{lname});
 
     $t->param($errs) if $errs;
     $t->output;
@@ -24,13 +24,12 @@
         return $self->selfconfig({"bad_lname" => 1});
     }
 
-    my ($user) = CPAN::Forum::DB::Users->retrieve($self->session->param('uid'));
-    $user->fname($q->param('fname'));
-    $user->lname($q->param('lname'));
-    $user->update;
+    my $user = CPAN::Forum::DB::Users->update($self->session->param('uid'), # SQL
+                    fname => $q->param('fname'),
+                    lname => $q->param('lname'),
+                );
 
     return $self->selfconfig({done => 1});
-
 }
 
 

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



More information about the Cpan-forum-commit mailing list