Compare commits
10 Commits
v0.2
...
eiffelstud
| Author | SHA1 | Date | |
|---|---|---|---|
| ec53a2682b | |||
|
|
7b2e6ab7b4 | ||
|
|
87f4de1264 | ||
|
|
ed614a662c | ||
|
|
d54ad59e5f | ||
|
|
9173ef2ded | ||
|
|
ad9e908dc2 | ||
|
|
4584917877 | ||
|
|
f7d68d09e4 | ||
| f9ecd4956f |
@@ -28,7 +28,6 @@ feature {NONE} -- Initialization
|
|||||||
-- Initialize service.
|
-- Initialize service.
|
||||||
do
|
do
|
||||||
admin_email := parameters.admin_email
|
admin_email := parameters.admin_email
|
||||||
|
|
||||||
create {NOTIFICATION_SMTP_MAILER} mailer.make (parameters.smtp_server)
|
create {NOTIFICATION_SMTP_MAILER} mailer.make (parameters.smtp_server)
|
||||||
set_successful
|
set_successful
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -108,6 +108,18 @@ feature -- Persistence
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
delete_node (a_node: CMS_BLOG)
|
||||||
|
-- <Precursor>
|
||||||
|
local
|
||||||
|
l_parameters: STRING_TABLE [ANY]
|
||||||
|
do
|
||||||
|
if a_node.has_id then
|
||||||
|
create l_parameters.make (1)
|
||||||
|
l_parameters.put (a_node.id, "nid")
|
||||||
|
sql_change (sql_delete_node_data, l_parameters)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
feature {NONE} -- Implementation
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
node_data (a_node: CMS_NODE): detachable TUPLE [revision: INTEGER_64; tags: READABLE_STRING_32]
|
node_data (a_node: CMS_NODE): detachable TUPLE [revision: INTEGER_64; tags: READABLE_STRING_32]
|
||||||
@@ -145,5 +157,6 @@ feature -- SQL
|
|||||||
sql_select_node_data: STRING = "SELECT nid, revision, tags FROM blog_post_nodes WHERE nid=:nid AND revision<=:revision ORDER BY revision DESC LIMIT 1;"
|
sql_select_node_data: STRING = "SELECT nid, revision, tags FROM blog_post_nodes WHERE nid=:nid AND revision<=:revision ORDER BY revision DESC LIMIT 1;"
|
||||||
sql_insert_node_data: STRING = "INSERT INTO blog_post_nodes (nid, revision, tags) VALUES (:nid, :revision, :tags);"
|
sql_insert_node_data: STRING = "INSERT INTO blog_post_nodes (nid, revision, tags) VALUES (:nid, :revision, :tags);"
|
||||||
sql_update_node_data: STRING = "UPDATE blog_post_nodes SET nid=:nid, revision=:revision, tags=:tags WHERE nid=:nid AND revision=:revision;"
|
sql_update_node_data: STRING = "UPDATE blog_post_nodes SET nid=:nid, revision=:revision, tags=:tags WHERE nid=:nid AND revision=:revision;"
|
||||||
|
sql_delete_node_data: STRING = "DELETE FROM blog_post_nodes WHERE nid=:nid;"
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ feature -- Forms ...
|
|||||||
local
|
local
|
||||||
ti: WSF_FORM_NUMBER_INPUT
|
ti: WSF_FORM_NUMBER_INPUT
|
||||||
fs: WSF_FORM_FIELD_SET
|
fs: WSF_FORM_FIELD_SET
|
||||||
l_parent_id, nid: INTEGER_64
|
l_parent_id: INTEGER_64
|
||||||
do
|
do
|
||||||
Precursor (response, f, a_node)
|
Precursor (response, f, a_node)
|
||||||
|
|
||||||
@@ -102,7 +102,6 @@ feature -- Forms ...
|
|||||||
|
|
||||||
parent_validation (a_response: NODE_RESPONSE; fd: WSF_FORM_DATA)
|
parent_validation (a_response: NODE_RESPONSE; fd: WSF_FORM_DATA)
|
||||||
local
|
local
|
||||||
l_selected: BOOLEAN
|
|
||||||
node_api: CMS_NODE_API
|
node_api: CMS_NODE_API
|
||||||
l_parent_id: INTEGER_64
|
l_parent_id: INTEGER_64
|
||||||
nid: INTEGER_64
|
nid: INTEGER_64
|
||||||
|
|||||||
@@ -49,6 +49,13 @@ feature -- Persistence
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
delete_node (a_node: CMS_NODE)
|
||||||
|
-- remove node extensions.
|
||||||
|
require
|
||||||
|
a_node_accepted: is_accepted (a_node)
|
||||||
|
deferred
|
||||||
|
end
|
||||||
|
|
||||||
feature {NONE} -- Persistence implementation
|
feature {NONE} -- Persistence implementation
|
||||||
|
|
||||||
store (a_node: G)
|
store (a_node: G)
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ feature {NONE} -- Implementation
|
|||||||
extended_store (a_node: CMS_NODE)
|
extended_store (a_node: CMS_NODE)
|
||||||
-- Store extended data from `a_node'.
|
-- Store extended data from `a_node'.
|
||||||
require
|
require
|
||||||
not error_handler.has_error
|
not_has_error: not error_handler.has_error
|
||||||
do
|
do
|
||||||
if attached node_storage_extension (a_node) as ext then
|
if attached node_storage_extension (a_node) as ext then
|
||||||
ext.store_node (a_node)
|
ext.store_node (a_node)
|
||||||
@@ -54,13 +54,23 @@ feature {NONE} -- Implementation
|
|||||||
extended_load (a_node: CMS_NODE)
|
extended_load (a_node: CMS_NODE)
|
||||||
-- Load extended data into `a_node'.
|
-- Load extended data into `a_node'.
|
||||||
require
|
require
|
||||||
not error_handler.has_error
|
not_has_error: not error_handler.has_error
|
||||||
do
|
do
|
||||||
if attached node_storage_extension (a_node) as ext then
|
if attached node_storage_extension (a_node) as ext then
|
||||||
ext.load_node (a_node)
|
ext.load_node (a_node)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
extended_delete (a_node: CMS_NODE)
|
||||||
|
-- Delete extended data related to node `a_node'.
|
||||||
|
require
|
||||||
|
not_has_error: not error_handler.has_error
|
||||||
|
do
|
||||||
|
if attached node_storage_extension (a_node) as ext then
|
||||||
|
ext.delete_node (a_node)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Access
|
feature -- Access
|
||||||
|
|
||||||
nodes_count: NATURAL_64
|
nodes_count: NATURAL_64
|
||||||
@@ -165,16 +175,19 @@ feature -- Change: Node
|
|||||||
|
|
||||||
delete_node (a_node: CMS_NODE)
|
delete_node (a_node: CMS_NODE)
|
||||||
-- Delete `a_node'.
|
-- Delete `a_node'.
|
||||||
|
require
|
||||||
|
valid_node_id: a_node.has_id
|
||||||
do
|
do
|
||||||
if a_node.has_id then
|
-- TODO
|
||||||
delete_node_by_id (a_node.id)
|
-- Check if we need to use a transaction
|
||||||
end
|
-- we delete a node
|
||||||
|
-- node_revisions
|
||||||
|
-- and extensions (PAGE, BLOG, etc).
|
||||||
|
delete_node_base (a_node)
|
||||||
end
|
end
|
||||||
|
|
||||||
delete_node_by_id (a_id: INTEGER_64)
|
delete_node_base (a_node: CMS_NODE)
|
||||||
-- Remove node by id `a_id'.
|
-- Remove node `a_node'.
|
||||||
require
|
|
||||||
valid_node_id: a_id > 0
|
|
||||||
deferred
|
deferred
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ feature -- Node
|
|||||||
do
|
do
|
||||||
end
|
end
|
||||||
|
|
||||||
delete_node_by_id (a_id: INTEGER_64)
|
delete_node_base (a_node: CMS_NODE)
|
||||||
-- <Precursor>
|
-- <Precursor>
|
||||||
do
|
do
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -53,11 +53,6 @@ feature -- Access
|
|||||||
end
|
end
|
||||||
sql_forth
|
sql_forth
|
||||||
end
|
end
|
||||||
-- across
|
|
||||||
-- Result as ic
|
|
||||||
-- loop
|
|
||||||
-- fill_node (ic.item)
|
|
||||||
-- end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
node_revisions (a_node: CMS_NODE): LIST [CMS_NODE]
|
node_revisions (a_node: CMS_NODE): LIST [CMS_NODE]
|
||||||
@@ -95,7 +90,7 @@ feature -- Access
|
|||||||
create {ARRAYED_LIST [CMS_NODE]} Result.make (0)
|
create {ARRAYED_LIST [CMS_NODE]} Result.make (0)
|
||||||
|
|
||||||
error_handler.reset
|
error_handler.reset
|
||||||
write_information_log (generator + ".trash_nodes")
|
write_information_log (generator + ".trashed_nodes")
|
||||||
|
|
||||||
from
|
from
|
||||||
create l_parameters.make (1)
|
create l_parameters.make (1)
|
||||||
@@ -124,7 +119,7 @@ feature -- Access
|
|||||||
create {ARRAYED_LIST [CMS_NODE]} Result.make (0)
|
create {ARRAYED_LIST [CMS_NODE]} Result.make (0)
|
||||||
|
|
||||||
error_handler.reset
|
error_handler.reset
|
||||||
write_information_log (generator + ".nodes")
|
write_information_log (generator + ".recent_nodes")
|
||||||
|
|
||||||
from
|
from
|
||||||
create l_parameters.make (2)
|
create l_parameters.make (2)
|
||||||
@@ -150,7 +145,7 @@ feature -- Access
|
|||||||
create {ARRAYED_LIST [CMS_NODE]} Result.make (0)
|
create {ARRAYED_LIST [CMS_NODE]} Result.make (0)
|
||||||
|
|
||||||
error_handler.reset
|
error_handler.reset
|
||||||
write_information_log (generator + ".nodes")
|
write_information_log (generator + ".recent_node_changes_before")
|
||||||
|
|
||||||
from
|
from
|
||||||
create l_parameters.make (3)
|
create l_parameters.make (3)
|
||||||
@@ -176,7 +171,7 @@ feature -- Access
|
|||||||
l_parameters: STRING_TABLE [ANY]
|
l_parameters: STRING_TABLE [ANY]
|
||||||
do
|
do
|
||||||
error_handler.reset
|
error_handler.reset
|
||||||
write_information_log (generator + ".node")
|
write_information_log (generator + ".node_by_id")
|
||||||
create l_parameters.make (1)
|
create l_parameters.make (1)
|
||||||
l_parameters.put (a_id, "nid")
|
l_parameters.put (a_id, "nid")
|
||||||
sql_query (sql_select_node_by_id, l_parameters)
|
sql_query (sql_select_node_by_id, l_parameters)
|
||||||
@@ -191,7 +186,7 @@ feature -- Access
|
|||||||
l_parameters: STRING_TABLE [ANY]
|
l_parameters: STRING_TABLE [ANY]
|
||||||
do
|
do
|
||||||
error_handler.reset
|
error_handler.reset
|
||||||
write_information_log (generator + ".node")
|
write_information_log (generator + ".node_by_id_and_revision")
|
||||||
create l_parameters.make (1)
|
create l_parameters.make (1)
|
||||||
l_parameters.put (a_node_id, "nid")
|
l_parameters.put (a_node_id, "nid")
|
||||||
l_parameters.put (a_revision, "revision")
|
l_parameters.put (a_revision, "revision")
|
||||||
@@ -326,7 +321,7 @@ feature -- Change: Node
|
|||||||
local
|
local
|
||||||
l_parameters: STRING_TABLE [ANY]
|
l_parameters: STRING_TABLE [ANY]
|
||||||
do
|
do
|
||||||
write_information_log (generator + ".delete_node {" + a_id.out + "}")
|
write_information_log (generator + ".trash_node_by_id {" + a_id.out + "}")
|
||||||
|
|
||||||
error_handler.reset
|
error_handler.reset
|
||||||
create l_parameters.make (3)
|
create l_parameters.make (3)
|
||||||
@@ -336,19 +331,27 @@ feature -- Change: Node
|
|||||||
sql_change (sql_trash_node, l_parameters)
|
sql_change (sql_trash_node, l_parameters)
|
||||||
end
|
end
|
||||||
|
|
||||||
delete_node_by_id (a_id: INTEGER_64)
|
delete_node_base (a_node: CMS_NODE)
|
||||||
-- <Precursor>
|
-- <Precursor>
|
||||||
local
|
local
|
||||||
l_parameters: STRING_TABLE [ANY]
|
l_parameters: STRING_TABLE [ANY]
|
||||||
l_time: DATE_TIME
|
l_time: DATE_TIME
|
||||||
do
|
do
|
||||||
create l_time.make_now_utc
|
create l_time.make_now_utc
|
||||||
write_information_log (generator + ".trash_node {" + a_id.out + "}")
|
write_information_log (generator + ".delete_node_base {" + a_node.id.out + "}")
|
||||||
|
|
||||||
error_handler.reset
|
error_handler.reset
|
||||||
create l_parameters.make (1)
|
create l_parameters.make (1)
|
||||||
l_parameters.put (a_id, "nid")
|
l_parameters.put (a_node.id, "nid")
|
||||||
sql_change (sql_delete_node, l_parameters)
|
sql_change (sql_delete_node, l_parameters)
|
||||||
|
|
||||||
|
-- we remove node_revisions and pages.
|
||||||
|
-- Check: maybe we need a transaction.
|
||||||
|
sql_change (sql_delete_node_revisions, l_parameters)
|
||||||
|
|
||||||
|
if not error_handler.has_error then
|
||||||
|
extended_delete (a_node)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
restore_node_by_id (a_id: INTEGER_64)
|
restore_node_by_id (a_id: INTEGER_64)
|
||||||
@@ -358,7 +361,7 @@ feature -- Change: Node
|
|||||||
l_time: DATE_TIME
|
l_time: DATE_TIME
|
||||||
do
|
do
|
||||||
create l_time.make_now_utc
|
create l_time.make_now_utc
|
||||||
write_information_log (generator + ".restore_node {" + a_id.out + "}")
|
write_information_log (generator + ".restore_node_by_id {" + a_id.out + "}")
|
||||||
|
|
||||||
error_handler.reset
|
error_handler.reset
|
||||||
create l_parameters.make (1)
|
create l_parameters.make (1)
|
||||||
@@ -520,6 +523,8 @@ feature {NONE} -- Queries
|
|||||||
WHERE pn.parent = :nid AND node.status != -1 GROUP BY node.nid, node.revision;
|
WHERE pn.parent = :nid AND node.status != -1 GROUP BY node.nid, node.revision;
|
||||||
]"
|
]"
|
||||||
|
|
||||||
|
sql_delete_node_revisions: STRING = "DELETE FROM node_revisions WHERE nid=:nid;"
|
||||||
|
|
||||||
feature {NONE} -- Sql Queries: USER_ROLES collaborators, author
|
feature {NONE} -- Sql Queries: USER_ROLES collaborators, author
|
||||||
|
|
||||||
Select_user_author: STRING = "SELECT uid, name, password, salt, email, users.status, users.created, signed FROM nodes INNER JOIN users ON nodes.author=users.uid AND nodes.nid = :nid AND nodes.revision = :revision;"
|
Select_user_author: STRING = "SELECT uid, name, password, salt, email, users.status, users.created, signed FROM nodes INNER JOIN users ON nodes.author=users.uid AND nodes.nid = :nid AND nodes.revision = :revision;"
|
||||||
|
|||||||
@@ -112,6 +112,19 @@ feature -- Persistence
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
delete_node (a_node: CMS_PAGE)
|
||||||
|
-- <Precursor>
|
||||||
|
local
|
||||||
|
l_parameters: STRING_TABLE [ANY]
|
||||||
|
do
|
||||||
|
if a_node.has_id then
|
||||||
|
create l_parameters.make (1)
|
||||||
|
l_parameters.put (a_node.id, "nid")
|
||||||
|
sql_change (sql_delete_node_data, l_parameters)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
feature {NONE} -- Implementation
|
feature {NONE} -- Implementation
|
||||||
|
|
||||||
node_data (a_node: CMS_NODE): detachable TUPLE [revision: INTEGER_64; parent_id: INTEGER_64]
|
node_data (a_node: CMS_NODE): detachable TUPLE [revision: INTEGER_64; parent_id: INTEGER_64]
|
||||||
@@ -143,5 +156,6 @@ feature -- SQL
|
|||||||
sql_select_node_data: STRING = "SELECT nid, revision, parent FROM page_nodes WHERE nid=:nid AND revision<=:revision ORDER BY revision DESC LIMIT 1;"
|
sql_select_node_data: STRING = "SELECT nid, revision, parent FROM page_nodes WHERE nid=:nid AND revision<=:revision ORDER BY revision DESC LIMIT 1;"
|
||||||
sql_insert_node_data: STRING = "INSERT INTO page_nodes (nid, revision, parent) VALUES (:nid, :revision, :parent);"
|
sql_insert_node_data: STRING = "INSERT INTO page_nodes (nid, revision, parent) VALUES (:nid, :revision, :parent);"
|
||||||
sql_update_node_data: STRING = "UPDATE page_nodes SET nid=:nid, revision=:revision, parent=:parent WHERE nid=:nid AND revision=:revision;"
|
sql_update_node_data: STRING = "UPDATE page_nodes SET nid=:nid, revision=:revision, parent=:parent WHERE nid=:nid AND revision=:revision;"
|
||||||
|
sql_delete_node_data: STRING = "DELETE FROM page_nodes WHERE nid=:nid;"
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -66,8 +66,10 @@ feature -- Handler
|
|||||||
l_form: CMS_FORM
|
l_form: CMS_FORM
|
||||||
l_select: WSF_FORM_SELECT
|
l_select: WSF_FORM_SELECT
|
||||||
l_size_field: WSF_FORM_NUMBER_INPUT
|
l_size_field: WSF_FORM_NUMBER_INPUT
|
||||||
|
l_date_field: WSF_FORM_HIDDEN_INPUT
|
||||||
l_submit: WSF_FORM_SUBMIT_INPUT
|
l_submit: WSF_FORM_SUBMIT_INPUT
|
||||||
l_until_date: detachable DATE_TIME
|
l_until_date: detachable DATE_TIME
|
||||||
|
l_until_date_timestamp: INTEGER_64
|
||||||
l_filter_source: detachable READABLE_STRING_8
|
l_filter_source: detachable READABLE_STRING_8
|
||||||
l_size: NATURAL_32
|
l_size: NATURAL_32
|
||||||
l_query: STRING
|
l_query: STRING
|
||||||
@@ -76,7 +78,8 @@ feature -- Handler
|
|||||||
i: INTEGER
|
i: INTEGER
|
||||||
do
|
do
|
||||||
if attached {WSF_STRING} req.query_parameter ("date") as p_until_date then
|
if attached {WSF_STRING} req.query_parameter ("date") as p_until_date then
|
||||||
create htdate.make_from_timestamp (p_until_date.value.to_integer_64)
|
l_until_date_timestamp := p_until_date.value.to_integer_64
|
||||||
|
create htdate.make_from_timestamp (l_until_date_timestamp)
|
||||||
l_until_date := htdate.date_time
|
l_until_date := htdate.date_time
|
||||||
-- l_until_date.second_add (-1)
|
-- l_until_date.second_add (-1)
|
||||||
end
|
end
|
||||||
@@ -138,6 +141,12 @@ feature -- Handler
|
|||||||
l_size_field.set_size (25)
|
l_size_field.set_size (25)
|
||||||
l_size_field.set_label ("Items per page")
|
l_size_field.set_label ("Items per page")
|
||||||
l_form.extend (l_size_field)
|
l_form.extend (l_size_field)
|
||||||
|
|
||||||
|
if l_until_date /= Void then
|
||||||
|
create l_date_field.make_with_text ("date", l_until_date_timestamp.out)
|
||||||
|
l_form.extend (l_date_field)
|
||||||
|
end
|
||||||
|
|
||||||
create l_submit.make_with_text ("op", "Filter")
|
create l_submit.make_with_text ("op", "Filter")
|
||||||
l_form.extend (l_submit)
|
l_form.extend (l_submit)
|
||||||
l_form.extend_html_text ("<br/>")
|
l_form.extend_html_text ("<br/>")
|
||||||
|
|||||||
@@ -86,13 +86,19 @@ feature -- Access
|
|||||||
local
|
local
|
||||||
retried: BOOLEAN
|
retried: BOOLEAN
|
||||||
f: FILE
|
f: FILE
|
||||||
|
l_chain: NOTIFICATION_CHAIN_MAILER
|
||||||
|
l_storage_mailer: NOTIFICATION_STORAGE_MAILER
|
||||||
|
l_mailer: detachable NOTIFICATION_MAILER
|
||||||
do
|
do
|
||||||
if not retried then
|
if not retried then
|
||||||
if attached text_item ("mailer.smtp") as l_smtp then
|
if attached text_item ("mailer.smtp") as l_smtp then
|
||||||
create {NOTIFICATION_SMTP_MAILER} mailer.make (l_smtp)
|
create {NOTIFICATION_SMTP_MAILER} l_mailer.make (l_smtp)
|
||||||
elseif attached text_item ("mailer.sendmail") as l_sendmail then
|
elseif attached text_item ("mailer.sendmail") as l_sendmail then
|
||||||
create {NOTIFICATION_SENDMAIL_MAILER} mailer.make_with_location (l_sendmail)
|
create {NOTIFICATION_SENDMAIL_MAILER} l_mailer.make_with_location (l_sendmail)
|
||||||
elseif attached text_item ("mailer.output") as l_output then
|
end
|
||||||
|
-- If a mailer.ouput is set, set a notification chain with potential previous mailer
|
||||||
|
-- and file storage.
|
||||||
|
if attached text_item ("mailer.output") as l_output then
|
||||||
if l_output.is_case_insensitive_equal ("@stderr") then
|
if l_output.is_case_insensitive_equal ("@stderr") then
|
||||||
f := io.error
|
f := io.error
|
||||||
elseif l_output.is_case_insensitive_equal ("@stdout") then
|
elseif l_output.is_case_insensitive_equal ("@stdout") then
|
||||||
@@ -104,10 +110,18 @@ feature -- Access
|
|||||||
f.close
|
f.close
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
create {NOTIFICATION_STORAGE_MAILER} mailer.make (create {NOTIFICATION_EMAIL_FILE_STORAGE}.make (f))
|
create {NOTIFICATION_STORAGE_MAILER} l_storage_mailer.make (create {NOTIFICATION_EMAIL_FILE_STORAGE}.make (f))
|
||||||
else
|
if l_mailer /= Void then
|
||||||
create {NOTIFICATION_STORAGE_MAILER} mailer.make (create {NOTIFICATION_EMAIL_FILE_STORAGE}.make (io.error))
|
create l_chain.make (l_mailer)
|
||||||
|
l_chain.set_next (l_storage_mailer)
|
||||||
|
l_mailer := l_chain
|
||||||
|
else
|
||||||
|
l_mailer := l_storage_mailer
|
||||||
|
end
|
||||||
|
elseif l_mailer = Void then
|
||||||
|
create {NOTIFICATION_STORAGE_MAILER} l_mailer.make (create {NOTIFICATION_EMAIL_FILE_STORAGE}.make (io.error))
|
||||||
end
|
end
|
||||||
|
mailer := l_mailer
|
||||||
else
|
else
|
||||||
check valid_mailer: False end
|
check valid_mailer: False end
|
||||||
-- FIXME: should we report persistent error message? If yes, see how.
|
-- FIXME: should we report persistent error message? If yes, see how.
|
||||||
|
|||||||
@@ -995,6 +995,7 @@ feature {NONE} -- Execution
|
|||||||
page: CMS_HTML_PAGE_RESPONSE
|
page: CMS_HTML_PAGE_RESPONSE
|
||||||
utf: UTF_CONVERTER
|
utf: UTF_CONVERTER
|
||||||
h: HTTP_HEADER
|
h: HTTP_HEADER
|
||||||
|
l_new_location: READABLE_STRING_8
|
||||||
do
|
do
|
||||||
if attached {READABLE_STRING_GENERAL} values.item ("optional_content_type") as l_type then
|
if attached {READABLE_STRING_GENERAL} values.item ("optional_content_type") as l_type then
|
||||||
create cms_page.make_typed (utf.utf_32_string_to_utf_8_string_8 (l_type))
|
create cms_page.make_typed (utf.utf_32_string_to_utf_8_string_8 (l_type))
|
||||||
@@ -1010,12 +1011,12 @@ feature {NONE} -- Execution
|
|||||||
if attached redirection as l_location then
|
if attached redirection as l_location then
|
||||||
-- FIXME: find out if this is safe or not.
|
-- FIXME: find out if this is safe or not.
|
||||||
if l_location.has_substring ("://") then
|
if l_location.has_substring ("://") then
|
||||||
-- h.put_location (l_location)
|
l_new_location := l_location
|
||||||
response.redirect_now (l_location)
|
|
||||||
else
|
else
|
||||||
-- h.put_location (request.absolute_url (l_location, Void))
|
l_new_location := absolute_url (l_location, Void)
|
||||||
response.redirect_now (absolute_url (l_location, Void))
|
|
||||||
end
|
end
|
||||||
|
-- h.put_location (l_new_location)
|
||||||
|
response.redirect_now (l_new_location)
|
||||||
else
|
else
|
||||||
h.put_header_object (header)
|
h.put_header_object (header)
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,10 @@ feature -- Generation
|
|||||||
|
|
||||||
custom_prepare (page: CMS_HTML_PAGE)
|
custom_prepare (page: CMS_HTML_PAGE)
|
||||||
do
|
do
|
||||||
|
set_status_code ({HTTP_STATUS_CODE}.bad_request)
|
||||||
page.register_variable (absolute_url (request.percent_encoded_path_info, Void), "request")
|
page.register_variable (absolute_url (request.percent_encoded_path_info, Void), "request")
|
||||||
page.set_status_code ({HTTP_STATUS_CODE}.bad_request)
|
page.set_status_code (status_code)
|
||||||
page.register_variable (page.status_code.out, "code")
|
page.register_variable (status_code.out, "code")
|
||||||
end
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|||||||
@@ -20,9 +20,10 @@ feature -- Generation
|
|||||||
|
|
||||||
custom_prepare (page: CMS_HTML_PAGE)
|
custom_prepare (page: CMS_HTML_PAGE)
|
||||||
do
|
do
|
||||||
|
set_status_code ({HTTP_STATUS_CODE}.forbidden)
|
||||||
page.register_variable (absolute_url (request.percent_encoded_path_info, Void), "request")
|
page.register_variable (absolute_url (request.percent_encoded_path_info, Void), "request")
|
||||||
page.set_status_code ({HTTP_STATUS_CODE}.forbidden)
|
page.set_status_code (status_code)
|
||||||
page.register_variable (page.status_code.out, "code")
|
page.register_variable (status_code.out, "code")
|
||||||
end
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|||||||
@@ -20,9 +20,10 @@ feature -- Generation
|
|||||||
|
|
||||||
custom_prepare (page: CMS_HTML_PAGE)
|
custom_prepare (page: CMS_HTML_PAGE)
|
||||||
do
|
do
|
||||||
|
set_status_code ({HTTP_STATUS_CODE}.internal_server_error)
|
||||||
page.register_variable (absolute_url (location, Void), "request")
|
page.register_variable (absolute_url (location, Void), "request")
|
||||||
page.set_status_code ({HTTP_STATUS_CODE}.internal_server_error)
|
page.set_status_code (status_code)
|
||||||
page.register_variable (page.status_code.out, "code")
|
page.register_variable (status_code.out, "code")
|
||||||
end
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|||||||
@@ -20,9 +20,10 @@ feature -- Generation
|
|||||||
|
|
||||||
custom_prepare (page: CMS_HTML_PAGE)
|
custom_prepare (page: CMS_HTML_PAGE)
|
||||||
do
|
do
|
||||||
|
set_status_code ({HTTP_STATUS_CODE}.not_found)
|
||||||
page.register_variable (absolute_url (request.percent_encoded_path_info, Void), "request")
|
page.register_variable (absolute_url (request.percent_encoded_path_info, Void), "request")
|
||||||
page.set_status_code ({HTTP_STATUS_CODE}.not_found)
|
page.set_status_code (status_code)
|
||||||
page.register_variable (page.status_code.out, "code")
|
page.register_variable (status_code.out, "code")
|
||||||
end
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|||||||
@@ -20,9 +20,10 @@ feature -- Generation
|
|||||||
|
|
||||||
custom_prepare (page: CMS_HTML_PAGE)
|
custom_prepare (page: CMS_HTML_PAGE)
|
||||||
do
|
do
|
||||||
|
set_status_code ({HTTP_STATUS_CODE}.not_implemented)
|
||||||
page.register_variable (absolute_url (request.percent_encoded_path_info, Void), "request")
|
page.register_variable (absolute_url (request.percent_encoded_path_info, Void), "request")
|
||||||
page.set_status_code ({HTTP_STATUS_CODE}.not_implemented)
|
page.set_status_code (status_code)
|
||||||
page.register_variable (page.status_code.out, "code")
|
page.register_variable (status_code.out, "code")
|
||||||
end
|
end
|
||||||
|
|
||||||
feature -- Execution
|
feature -- Execution
|
||||||
|
|||||||
Reference in New Issue
Block a user