diff --git a/modules/node/cms_node_api.e b/modules/node/cms_node_api.e index ab990ea..c811ebd 100644 --- a/modules/node/cms_node_api.e +++ b/modules/node/cms_node_api.e @@ -212,10 +212,10 @@ feature -- Access: Node Result := node_storage.nodes end - nodes_order_created_desc: LIST[CMS_NODE] + blogs_order_created_desc: LIST[CMS_NODE] -- List of nodes ordered by creation date (descending) do - Result := node_storage.nodes_order_created_desc + Result := node_storage.blogs end recent_nodes (a_offset, a_rows: INTEGER): LIST [CMS_NODE] diff --git a/modules/node/handler/blog_handler.e b/modules/node/handler/blog_handler.e index 58e50cf..1e8d67d 100644 --- a/modules/node/handler/blog_handler.e +++ b/modules/node/handler/blog_handler.e @@ -16,6 +16,15 @@ inherit create make +feature -- Settings + entries_per_page : INTEGER + -- The numbers of posts that are shown on one page. If there are more post a pagination is generated + do + -- For test reasons this is 2, so we don't have to create a lot of blog entries. + -- TODO: Set to bigger constant or load from global configuration file. + Result := 2 + end + feature -- HTTP Methods do_get (req: WSF_REQUEST; res: WSF_RESPONSE) -- @@ -35,8 +44,8 @@ feature -- HTTP Methods -- NOTE: for development purposes we have the following hardcode output. - create s.make_from_string ("

Blog entries:

") - if attached node_api.nodes_order_created_desc as lst then + create s.make_from_string ("

Blog

") + if attached node_api.blogs_order_created_desc as lst then -- Filter out blog entries from all nodes --if n.content_type.is_equal ("blog") then s.append ("%N") --end diff --git a/modules/node/persistence/cms_node_storage_i.e b/modules/node/persistence/cms_node_storage_i.e index 2a2051b..9b68303 100644 --- a/modules/node/persistence/cms_node_storage_i.e +++ b/modules/node/persistence/cms_node_storage_i.e @@ -70,7 +70,7 @@ feature -- Access deferred end - nodes_order_created_desc: LIST [CMS_NODE] + blogs: LIST [CMS_NODE] -- List of nodes ordered by creation date (descending). deferred end diff --git a/modules/node/persistence/cms_node_storage_null.e b/modules/node/persistence/cms_node_storage_null.e index a917ec5..c574235 100644 --- a/modules/node/persistence/cms_node_storage_null.e +++ b/modules/node/persistence/cms_node_storage_null.e @@ -41,12 +41,12 @@ feature -- Access: node create {ARRAYED_LIST [CMS_NODE]} Result.make (0) end - nodes_order_created_desc: LIST[CMS_NODE] + blogs: LIST[CMS_NODE] -- List of nodes ordered descending by creation date do create {ARRAYED_LIST [CMS_NODE]} Result.make (0) end - + recent_nodes (a_lower: INTEGER; a_count: INTEGER): LIST [CMS_NODE] -- List of the `a_count' most recent nodes, starting from `a_lower'. do diff --git a/modules/node/persistence/cms_node_storage_sql.e b/modules/node/persistence/cms_node_storage_sql.e index 5d9c7f2..7365f80 100644 --- a/modules/node/persistence/cms_node_storage_sql.e +++ b/modules/node/persistence/cms_node_storage_sql.e @@ -33,7 +33,7 @@ feature -- Access end end - nodes_order_created_desc: LIST [CMS_NODE] + blogs: LIST [CMS_NODE] -- List of nodes ordered by creation date (descending). do create {ARRAYED_LIST [CMS_NODE]} Result.make (0) @@ -42,7 +42,7 @@ feature -- Access write_information_log (generator + ".nodes") from - sql_query (sql_select_nodes_order_created_desc, Void) + sql_query (sql_select_blogs_order_created_desc, Void) sql_start until sql_after @@ -254,8 +254,8 @@ feature {NONE} -- Queries -- SQL Query to retrieve all nodes. --| note: {CMS_NODE_API}.trashed = -1 - sql_select_nodes_order_created_desc: STRING = "SELECT * FROM Nodes WHERE status != -1 ORDER BY created DESC;" - -- SQL Query to retrieve all nodes order by descending creation date. + sql_select_blogs_order_created_desc: STRING = "SELECT * FROM Nodes WHERE status != -1 AND type = %"blog%" ORDER BY created DESC;" + -- SQL Query to retrieve all nodes that are from the type "blog" ordered by descending creation date. --| note: {CMS_NODE_API}.trashed = -1 sql_select_node_by_id: STRING = "SELECT nid, revision, type, title, summary, content, format, author, publish, created, changed, status FROM Nodes WHERE nid =:nid ORDER BY revision DESC, publish DESC LIMIT 1;"