--
-- static_page__new/4
--
create or replace function static_page__new(
integer,
character varying,
character varying,
integer
) returns int4 as $$
declare
p_folder_id alias for $1;
p_filename alias for $2;
p_title alias for $3;
p_mtime alias for $4;
v_static_page_id static_pages.static_page_id%TYPE;
v_item_id static_pages.static_page_id%TYPE;
begin
return static_page__new (
NULL, -- static_page_id
p_folder_id, -- folder_id
p_filename, -- filename
p_title, -- title
NULL, -- content
't', -- show_comments_p
now(), -- creation_date
NULL, -- creation_user
NULL, -- creation_ip
NULL, -- conext_id
p_mtime -- mtime
);
end;$$ language plpgsql;
--
-- static_page__new/5
--
create or replace function static_page__new(
integer,
character varying,
character varying,
integer,
character varying
) returns int4 as $$
declare
p_folder_id alias for $1;
p_filename alias for $2;
p_title alias for $3;
p_mtime alias for $4;
p_mime_type alias for $5;
v_static_page_id static_pages.static_page_id%TYPE;
v_item_id static_pages.static_page_id%TYPE;
begin
return static_page__new (
NULL, -- static_page_id
p_folder_id, -- folder_id
p_filename, -- filename
p_title, -- title
NULL, -- content
't', -- show_comments_p
now(), -- creation_date
NULL, -- creation_user
NULL, -- creation_ip
NULL, -- conext_id
p_mtime -- mtime
,p_mime_type -- mime_type
);
end;$$ language plpgsql;
--
-- static_page__new/11
--
create or replace function static_page__new(
integer,
integer,
character varying,
character varying,
text,
boolean,
timestamp with time zone,
integer,
character varying,
integer,
integer
) returns int4 as $$
declare
p_static_page_id alias for $1;
p_folder_id alias for $2;
p_filename alias for $3;
p_title alias for $4;
p_content alias for $5;
p_show_comments_p alias for $6;
p_creation_date alias for $7;
p_creation_user alias for $8;
p_creation_ip alias for $9;
p_context_id alias for $10;
p_mtime alias for $11;
v_item_id static_pages.static_page_id%TYPE;
v_permission_row RECORD;
v_revision_id integer;
v_is_live boolean default 't';
v_mime_type cr_revisions.mime_type%TYPE default 'text/html';
v_storage_type cr_items.storage_type%TYPE default 'file';
begin
-- Create content item; this also makes the content revision.
-- One might be tempted to set the content_type to static_page,
-- But this would confuse site-wide-search, which expects to
-- see a content_type of content_revision.
v_item_id := content_item__new(
p_static_page_id, -- item_id
p_filename, -- name
p_folder_id, -- parent_id
p_title, -- title
p_creation_date, -- creation_date
p_creation_user, -- creation_user
p_context_id, -- context_id
p_creation_ip, -- creation_ip
v_is_live, -- is_live
v_mime_type, -- mime_type
p_content, -- text
v_storage_type, -- storage_type
FALSE, -- security_inherit_p
'STATIC_PAGES', -- storage_area_key
'content_item', -- item subtype
'static_page' -- content_type
);
-- We want to be able to have non-commentable folders below
-- commentable folders. We can't do this if we leave security
-- inheritance enabled.
--
-- uses overloaded content_item__new and acs_object__new to set
-- security_inherit_p to 'f' DaveB
-- update acs_objects set security_inherit_p = 'f'
-- where object_id = v_item_id;
-- Copy permissions from the parent:
for v_permission_row in
select grantee_id,privilege from acs_permissions
where object_id = p_folder_id
loop
perform acs_permission__grant_permission(
v_item_id, -- object_id
v_permission_row.grantee_id, -- grantee_id
v_permission_row.privilege -- privilege
);
end loop;
-- Insert row into static_pages:
insert into static_pages
(static_page_id, filename, folder_id, show_comments_p, mtime)
values (
v_item_id,
p_filename,
p_folder_id,
p_show_comments_p,
p_mtime
);
return v_item_id;
end;$$ language plpgsql;
--
-- static_page__new/12
--
create or replace function static_page__new(
integer,
integer,
character varying,
character varying,
text,
boolean,
timestamp with time zone,
integer,
character varying,
integer,
integer,
character varying
) returns int4 as $$
declare
p_static_page_id alias for $1;
p_folder_id alias for $2;
p_filename alias for $3;
p_title alias for $4;
p_content alias for $5;
p_show_comments_p alias for $6;
p_creation_date alias for $7;
p_creation_user alias for $8;
p_creation_ip alias for $9;
p_context_id alias for $10;
p_mtime alias for $11;
p_mime_type alias for $12;
v_item_id static_pages.static_page_id%TYPE;
v_permission_row RECORD;
v_revision_id integer;
v_is_live boolean default 't';
v_storage_type cr_items.storage_type%TYPE default 'file';
begin
-- Create content item; this also makes the content revision.
-- One might be tempted to set the content_type to static_page,
-- But this would confuse site-wide-search, which expects to
-- see a content_type of content_revision.
v_item_id := content_item__new(
p_static_page_id, -- item_id
p_filename, -- name
p_folder_id, -- parent_id
p_title, -- title
p_creation_date, -- creation_date
p_creation_user, -- creation_user
p_context_id, -- context_id
p_creation_ip, -- creation_ip
v_is_live, -- is_live
p_mime_type, -- mime_type
p_content, -- text
v_storage_type, -- storage_type
FALSE, -- security_inherit_p
'STATIC_PAGES', -- storage_area_key
'content_item', -- item subtype
'static_page' -- content_type
);
-- We want to be able to have non-commentable folders below
-- commentable folders. We can't do this if we leave security
-- inheritance enabled.
--
-- uses overloaded content_item__new and acs_object__new to set
-- security_inherit_p to 'f' DaveB
-- update acs_objects set security_inherit_p = 'f'
-- where object_id = v_item_id;
-- Copy permissions from the parent:
for v_permission_row in
select grantee_id,privilege from acs_permissions
where object_id = p_folder_id
loop
perform acs_permission__grant_permission(
v_item_id, -- object_id
v_permission_row.grantee_id, -- grantee_id
v_permission_row.privilege -- privilege
);
end loop;
-- Insert row into static_pages:
insert into static_pages
(static_page_id, filename, folder_id, show_comments_p, mtime)
values (
v_item_id,
p_filename,
p_folder_id,
p_show_comments_p,
p_mtime
);
return v_item_id;
end;$$ language plpgsql;