Added the RoR Login-Engine and activated it on the site.
[selectricity-live] / vendor / plugins / login_engine / app / models / user_notify.rb
diff --git a/vendor/plugins/login_engine/app/models/user_notify.rb b/vendor/plugins/login_engine/app/models/user_notify.rb
new file mode 100644 (file)
index 0000000..0767842
--- /dev/null
@@ -0,0 +1,75 @@
+class UserNotify < ActionMailer::Base
+  def signup(user, password, url=nil)
+    setup_email(user)
+
+    # Email header info
+    @subject += "Welcome to #{LoginEngine.config(:app_name)}!"
+
+    # Email body substitutions
+    @body["name"] = "#{user.firstname} #{user.lastname}"
+    @body["login"] = user.login
+    @body["password"] = password
+    @body["url"] = url || LoginEngine.config(:app_url).to_s
+    @body["app_name"] = LoginEngine.config(:app_name).to_s
+  end
+
+  def forgot_password(user, url=nil)
+    setup_email(user)
+
+    # Email header info
+    @subject += "Forgotten password notification"
+
+    # Email body substitutions
+    @body["name"] = "#{user.firstname} #{user.lastname}"
+    @body["login"] = user.login
+    @body["url"] = url || LoginEngine.config(:app_url).to_s
+    @body["app_name"] = LoginEngine.config(:app_name).to_s
+  end
+
+  def change_password(user, password, url=nil)
+    setup_email(user)
+
+    # Email header info
+    @subject += "Changed password notification"
+
+    # Email body substitutions
+    @body["name"] = "#{user.firstname} #{user.lastname}"
+    @body["login"] = user.login
+    @body["password"] = password
+    @body["url"] = url || LoginEngine.config(:app_url).to_s
+    @body["app_name"] = LoginEngine.config(:app_name).to_s
+  end
+
+  def pending_delete(user, url=nil)
+    setup_email(user)
+
+    # Email header info
+    @subject += "Delete user notification"
+
+    # Email body substitutions
+    @body["name"] = "#{user.firstname} #{user.lastname}"
+    @body["url"] = url || LoginEngine.config(:app_url).to_s
+    @body["app_name"] = LoginEngine.config(:app_name).to_s
+    @body["days"] = LoginEngine.config(:delayed_delete_days).to_s
+  end
+
+  def delete(user, url=nil)
+    setup_email(user)
+
+    # Email header info
+    @subject += "Delete user notification"
+
+    # Email body substitutions
+    @body["name"] = "#{user.firstname} #{user.lastname}"
+    @body["url"] = url || LoginEngine.config(:app_url).to_s
+    @body["app_name"] = LoginEngine.config(:app_name).to_s
+  end
+
+  def setup_email(user)
+    @recipients = "#{user.email}"
+    @from       = LoginEngine.config(:email_from).to_s
+    @subject    = "[#{LoginEngine.config(:app_name)}] "
+    @sent_on    = Time.now
+    @headers['Content-Type'] = "text/plain; charset=#{LoginEngine.config(:mail_charset)}; format=flowed"
+  end
+end

Benjamin Mako Hill || Want to submit a patch?