User summary method is now more secure. Email change method prtects account SQL injec...
[selectricity] / app / controllers / account_controller.rb
index 57cf343ea9de01ab95d67c6de556130df0ef4d1e..4b7fea9fc17451bdb11fde5be136ee7b022ccd1c 100644 (file)
@@ -2,19 +2,8 @@
 # Copyright (C) 2007, 2008 Benjamin Mako Hill <mako@atdot.cc>
 # Copyright (C) 2007 Massachusetts Institute of Technology
 #
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public
-# License along with this program.  If not, see
-# <http://www.gnu.org/licenses/>.
+# This program is free software. Please see the COPYING file for
+# details.
 
 class AccountController < ApplicationController
   layout 'main'
@@ -69,9 +58,28 @@ class AccountController < ApplicationController
   end
   #======================================================================
   
-  #The following methods are for slectricity specific uses
+  #The following methods are for selectricity specific uses
   def summary
+    #@user = User.find(params[:id])
+    
+    #constrain the find command such that it only returns the user if it's the currently
+    #logged in user, otherwise, redirect to the front page
+    id = params[:id]
+    user_id = session[:user][:id]
+    @user = User.find(id, :conditions => ["id = ?", user_id])
+    
+    rescue
+      redirect_to :controller =>'front'
+    
+  end
+  
+  def change_contact
     @user = User.find(params[:id])
+    return unless request.post?
+    @user.email=params[:email]
+    @user.save!
+    flash[:notice] = "Email successfully updated"
+    render :action => 'summary'
   end
   
   

Benjamin Mako Hill || Want to submit a patch?