Note that CMS_SETUP provides locations set by default or from configuration file. Now theme related resources can be found under site/modules/$mod_name/... or site/themes/$theme/modules/... so only theme related resources can be overriden for now.
261 lines
6.8 KiB
Plaintext
261 lines
6.8 KiB
Plaintext
note
|
|
description: "Summary description for {CMS_AUTHENTICATION_EMAIL_SERVICE_PARAMETERS}."
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
class
|
|
CMS_AUTHENTICATION_EMAIL_SERVICE_PARAMETERS
|
|
|
|
inherit
|
|
EMAIL_SERVICE_PARAMETERS
|
|
|
|
create
|
|
make
|
|
|
|
feature {NONE} -- Initialization
|
|
|
|
make (a_cms_api: CMS_API)
|
|
local
|
|
utf: UTF_CONVERTER
|
|
l_site_name: READABLE_STRING_8
|
|
s: detachable READABLE_STRING_32
|
|
l_contact_email, l_subject_register, l_subject_activate, l_subject_password, l_subject_oauth: detachable READABLE_STRING_8
|
|
do
|
|
setup := a_cms_api.setup
|
|
-- Use global smtp setting if any, otherwise "localhost"
|
|
smtp_server := utf.escaped_utf_32_string_to_utf_8_string_8 (a_cms_api.setup.text_item_or_default ("smtp", "localhost"))
|
|
l_site_name := utf.escaped_utf_32_string_to_utf_8_string_8 (a_cms_api.setup.site_name)
|
|
admin_email := a_cms_api.setup.site_email
|
|
|
|
if not admin_email.has ('<') then
|
|
admin_email := l_site_name + " <" + admin_email +">"
|
|
end
|
|
|
|
if attached {CONFIG_READER} a_cms_api.module_configuration_by_name ("login", Void) as cfg then
|
|
if attached cfg.text_item ("smtp") as l_smtp then
|
|
-- Overwrite global smtp setting if any.
|
|
smtp_server := utf.utf_32_string_to_utf_8_string_8 (l_smtp)
|
|
end
|
|
s := cfg.text_item ("email")
|
|
if s /= Void then
|
|
l_contact_email := utf.utf_32_string_to_utf_8_string_8 (s)
|
|
end
|
|
s := cfg.text_item ("subject_register")
|
|
if s /= Void then
|
|
l_subject_register := utf.utf_32_string_to_utf_8_string_8 (s)
|
|
end
|
|
s := cfg.text_item ("subject_activate")
|
|
if s /= Void then
|
|
l_subject_register := utf.utf_32_string_to_utf_8_string_8 (s)
|
|
end
|
|
s := cfg.text_item ("subject_password")
|
|
if s /= Void then
|
|
l_subject_register := utf.utf_32_string_to_utf_8_string_8 (s)
|
|
end
|
|
s := cfg.text_item ("subject_oauth")
|
|
if s /= Void then
|
|
l_subject_oauth := utf.utf_32_string_to_utf_8_string_8 (s)
|
|
end
|
|
|
|
end
|
|
if l_contact_email /= Void then
|
|
if not l_contact_email.has ('<') then
|
|
l_contact_email := l_site_name + " <" + l_contact_email + ">"
|
|
end
|
|
contact_email := l_contact_email
|
|
else
|
|
contact_email := admin_email
|
|
end
|
|
if l_subject_register /= Void then
|
|
contact_subject_register := l_subject_register
|
|
else
|
|
contact_subject_register := "Thank you for registering with us."
|
|
end
|
|
|
|
if l_subject_activate /= Void then
|
|
contact_subject_activate := l_subject_activate
|
|
else
|
|
contact_subject_activate := "New account activation token."
|
|
end
|
|
if l_subject_password /= Void then
|
|
contact_subject_password := l_subject_password
|
|
else
|
|
contact_subject_password := "Password Recovery."
|
|
end
|
|
if l_subject_oauth /= Void then
|
|
contact_subject_oauth := l_subject_oauth
|
|
else
|
|
contact_subject_oauth := "Welcome."
|
|
end
|
|
|
|
end
|
|
|
|
feature -- Access
|
|
|
|
smtp_server: IMMUTABLE_STRING_8
|
|
|
|
admin_email: IMMUTABLE_STRING_8
|
|
|
|
contact_email: IMMUTABLE_STRING_8
|
|
-- Contact email.
|
|
|
|
contact_subject_register: IMMUTABLE_STRING_8
|
|
contact_subject_activate: IMMUTABLE_STRING_8
|
|
contact_subject_password: IMMUTABLE_STRING_8
|
|
contact_subject_oauth: IMMUTABLE_STRING_8
|
|
|
|
account_activation: STRING
|
|
-- Account activation template email message.
|
|
do
|
|
Result := template_string ("account_activation.html", default_template_account_activation)
|
|
end
|
|
|
|
account_re_activation: STRING
|
|
-- Account re_activation template email message.
|
|
do
|
|
Result := template_string ("accunt_re_activation.html", default_template_account_re_activation)
|
|
end
|
|
|
|
account_password: STRING
|
|
-- Account password template email message.
|
|
do
|
|
Result := template_string ("account_new_password.html", default_template_account_new_password)
|
|
end
|
|
|
|
account_welcome: STRING
|
|
-- Account welcome template email message.
|
|
do
|
|
Result := template_string ("account_welcome.html", default_template_account_welcome)
|
|
end
|
|
|
|
feature {NONE} -- Implementation: Template
|
|
|
|
template_path (a_name: READABLE_STRING_GENERAL): PATH
|
|
-- Location of template named `a_name'.
|
|
do
|
|
Result := setup.environment.config_path.extended ("modules").extended ("login").extended (a_name)
|
|
end
|
|
|
|
template_string (a_name: READABLE_STRING_GENERAL; a_default: STRING): STRING
|
|
-- Content of template named `a_name', or `a_default' if template is not found.
|
|
local
|
|
p: PATH
|
|
do
|
|
p := template_path ("account_activation.html")
|
|
if attached read_template_file (p) as l_content then
|
|
Result := l_content
|
|
else
|
|
create Result.make_from_string (a_default)
|
|
end
|
|
end
|
|
|
|
feature {NONE} -- Implementation
|
|
|
|
setup: CMS_SETUP
|
|
|
|
read_template_file (a_path: PATH): detachable STRING
|
|
-- Read the content of the file at path `a_path'.
|
|
local
|
|
l_file: FILE
|
|
n: INTEGER
|
|
do
|
|
create {PLAIN_TEXT_FILE} l_file.make_with_path (a_path)
|
|
if l_file.exists and then l_file.is_readable then
|
|
n := l_file.count
|
|
l_file.open_read
|
|
l_file.read_stream (n)
|
|
Result := l_file.last_string
|
|
l_file.close
|
|
else
|
|
-- Error
|
|
end
|
|
end
|
|
|
|
|
|
feature {NONE} -- Message email
|
|
|
|
default_template_account_activation: STRING = "[
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Activation</title>
|
|
<meta name="description" content="Activation">
|
|
<meta name="author" content="ROC CMS">
|
|
</head>
|
|
|
|
<body>
|
|
<p>Thank you for registering at <a href="...">ROC CMS</a></p>
|
|
|
|
<p>To complete your registration, please click on the following link to activate your account:<p>
|
|
|
|
<p><a href="$link">$link</a></p>
|
|
<p>Thank you for joining us.</p>
|
|
</body>
|
|
</html>
|
|
]"
|
|
|
|
|
|
default_template_account_re_activation: STRING = "[
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>New Activation</title>
|
|
<meta name="description" content="New Activation token">
|
|
<meta name="author" content="ROC CMS">
|
|
</head>
|
|
|
|
<body>
|
|
<p>You have requested a new activation token at <a href="...">ROC CMS</a></p>
|
|
|
|
<p>To complete your registration, please click on the following link to activate your account:<p>
|
|
|
|
<p><a href="$link">$link</a></p>
|
|
<p>Thank you for joining us.</p>
|
|
</body>
|
|
</html>
|
|
]"
|
|
|
|
|
|
|
|
default_template_account_new_password: STRING = "[
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>New Password</title>
|
|
<meta name="description" content="New Password">
|
|
<meta name="author" content="ROC CMS">
|
|
</head>
|
|
|
|
<body>
|
|
<p>You have required a new password at <a href="...">ROC CMS</a></p>
|
|
|
|
<p>To complete your request, please click on this link to generate a new password:<p>
|
|
|
|
<p><a href="$link">$link</a></p>
|
|
</body>
|
|
</html>
|
|
]"
|
|
|
|
|
|
default_template_account_welcome: STRING = "[
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Welcome</title>
|
|
<meta name="description" content="Welcome">
|
|
<meta name="author" content="ROC CMS">
|
|
</head>
|
|
|
|
<body>
|
|
<p>Welcome to<a href="...">ROC CMS</a></p>
|
|
<p>Thank you for joining us.</p>
|
|
</body>
|
|
</html>
|
|
]"
|
|
|
|
end
|