All pastes #754149 Raw Edit

Someone

public ruby v1 · immutable
#754149 ·published 2007-10-29 20:37 UTC
rendered paste body
require 'digest/sha1'class Account::InController < ApplicationController# If you want "remember me" functionality, add this before_filter to Application Controller# before_filter :login_from_cookie	# say something nice, you goof!  something sweet.	def index		redirect_to(:action => 'signup') unless logged_in? || User.count > 0	end		def login		return unless request.post?		self.current_user = User.authenticate(params[:login], params[:password])		if logged_in?			if params[:remember_me] == "1"				self.current_user.remember_me				cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }			end			redirect_back_or_default(:controller => '/account/contests')			flash[:notice] = "Logged in successfully"		else			flash[:notice] = "Invalid login information."		end	end		def forget		return unless request.post?		user = User.find_by_email(params[:email])		if user.nil?			flash[:notice] = 'This e-mail is not registered in our database.'		else			password = Digest::SHA1.hexdigest(rand.to_s)[1..6]			user.encrypt(password)			user.save!			flash[:notice] = 'A new password was sent to your e-mail address.'		#	flash[:notice] = password			redirect_back_or_default(:controller => '/account/in', :action => 'login')		end	end		def signup		params[:user]['login'] = params[:user]['email'] if params[:user]		@user = User.new(params[:user])		return unless request.post?		if simple_captcha_valid?			@user.save!			self.current_user = @user		    redirect_to (:controller => '/account/start', :action => 'contests')		#	redirect_back_or_default(:controller => '/account/in', :action => 'verify')			flash[:notice] = "Thanks for signing up!"		else			flash[:notice] = '<span style="color:#f00">You must enter the text as it appears on the image, please try again.</span> '			render :action => 'signup'				end	rescue ActiveRecord::RecordInvalid		flash[:notice] = @user.errors.full_messages.join('<br /><span style="color:#f00">*</span> ')		render :action => 'signup'	end		def logout		self.current_user.forget_me if logged_in?		cookies.delete :auth_token		reset_session		flash[:notice] = "You have been logged out."	#    redirect_back_or_default(:controller => '/account/in', :action => 'login')		redirect_back_or_default(:controller => '/')	end		def verify		end		def activate		@user = User.find_by_activation_code(params[:id])		if @user and @user.activate		self.current_user = @user		redirect_back_or_default(:controller => '/account/contests')		flash[:notice] = "Your account has been activated."		end	endend