class User
def self.authenticate(login_or_email, password)
def self.authenticate(login_or_email, password) user = where(["login = ? OR email = ?", login_or_email, login_or_email]).first user if user && user.authenticated?(password) end
def after_initialize
def after_initialize @confirm_password = true end
def authenticated?(password)
def authenticated?(password) self.password == sha1(password) end
def confirm_password?
def confirm_password? @confirm_password end
def encrypt_password
def encrypt_password self.salt = Digest::SHA1.hexdigest("--#{Time.now}--#{login}--sweet harmonious biscuits--") self.password = sha1(password) end
def encrypt_password_unless_empty_or_unchanged
def encrypt_password_unless_empty_or_unchanged user = self.class.find(self.id) case password when '' self.password = user.password when user.password else encrypt_password end end
def forget_me
def forget_me update_attribute(:session_token, nil) end
def has_role?(role)
def has_role?(role) respond_to?("#{role}?") && send("#{role}?") end
def remember_me
def remember_me update_attribute(:session_token, sha1(Time.now + TrustyCms::Config['session_timeout'].to_i)) unless self.session_token? end
def sha1(phrase)
def sha1(phrase) Digest::SHA1.hexdigest("--#{salt}--#{phrase}--") end
def validate_length_of_password?
def validate_length_of_password? new_record? or not password.to_s.empty? end