Sha256: 0e0acfeea39e66c33fbd51f2e6a41df0930cdeece1933c71813ca82361892d9c

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

#
# Blogaze
# Copyright (C) 2011-2013 Jack Polgar
#
# Blogaze is released under the BSD 3-clause license.
# @license http://opensource.org/licenses/BSD-3-Clause
#

module Blogaze
  module Controllers
    class Sessions < Controller
      map '/sessions'

      ##
      # Login page
      #
      def new
        @title = "Login - #{@settings[:title]}"
        respond(view_file('sessions/new'))
      end

      ##
      # Create session
      #
      def create
        @title = "Login - #{@settings[:title]}"
        @get_user = ::Blogaze::Models::User[:username => request[:username]]

        if @get_user.respond_to?('password') and @get_user.password == Digest::SHA1.hexdigest(request[:password])
          session[:logged_in] = true
          session[:user_id] = @get_user.id
          redirect Ramaze.options.prefix
        else
          @login_error = true
        end

        respond(view_file('sessions/new'))
      end

      ##
      # Logout
      #
      def destroy
        session.delete(:logged_in)
        session.delete(:user_id)
        redirect Ramaze.options.prefix
      end
    end # Sessions
  end # Controllers
end # Blogaze

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blogaze-0.0.2 lib/blogaze/controllers/sessions.rb