--
-- content_folder__new/4
--
create or replace function content_folder__new(
character varying,
character varying,
character varying,
integer
) returns int4 as $$
declare
new__name alias for $1;
new__label alias for $2;
new__description alias for $3; -- default null
new__parent_id alias for $4; -- default null
begin
return content_folder__new(new__name,
new__label,
new__description,
new__parent_id,
null,
null,
now(),
null,
null,
't',
null
);
end;$$ language plpgsql;
--
-- content_folder__new/5
--
create or replace function content_folder__new(
character varying,
character varying,
character varying,
integer,
integer
) returns int4 as $$
declare
new__name alias for $1;
new__label alias for $2;
new__description alias for $3; -- default null
new__parent_id alias for $4; -- default null
new__package_id alias for $5; -- default null
begin
return content_folder__new(new__name,
new__label,
new__description,
new__parent_id,
null,
null,
now(),
null,
null,
new__package_id
);
end;$$ language plpgsql;
--
-- content_folder__new/9
--
create or replace function content_folder__new(
character varying,
character varying,
character varying,
integer,
integer,
integer,
timestamp with time zone,
integer,
character varying
) returns int4 as $$
declare
new__name alias for $1;
new__label alias for $2;
new__description alias for $3; -- default null
new__parent_id alias for $4; -- default null
new__context_id alias for $5; -- default null
new__folder_id alias for $6; -- default null
new__creation_date alias for $7; -- default now()
new__creation_user alias for $8; -- default null
new__creation_ip alias for $9; -- default null
begin
return content_folder__new(new__name,
new__label,
new__description,
new__parent_id,
new__context_id,
new__folder_id,
new__creation_date,
new__creation_user,
new__creation_ip,
't',
null::integer
);
end;$$ language plpgsql;
--
-- content_folder__new/10
--
create or replace function content_folder__new(
character varying,
character varying,
character varying,
integer,
integer,
integer,
timestamp with time zone,
integer,
character varying,
boolean
) returns int4 as $$
declare
new__name alias for $1;
new__label alias for $2;
new__description alias for $3; -- default null
new__parent_id alias for $4; -- default null
new__context_id alias for $5; -- default null
new__folder_id alias for $6; -- default null
new__creation_date alias for $7; -- default now()
new__creation_user alias for $8; -- default null
new__creation_ip alias for $9; -- default null
new__security_inherit_p alias for $10; -- default true
begin
return content_folder__new(new__name,
new__label,
new__description,
new__parent_id,
new__context_id,
new__folder_id,
new__creation_date,
new__creation_user,
new__creation_ip,
new__security_inherit_p,
null::integer
);
end;$$ language plpgsql;
--
-- content_folder__new/10
--
create or replace function content_folder__new(
character varying,
character varying,
character varying,
integer,
integer,
integer,
timestamp with time zone,
integer,
character varying,
integer
) returns int4 as $$
declare
new__name alias for $1;
new__label alias for $2;
new__description alias for $3; -- default null
new__parent_id alias for $4; -- default null
new__context_id alias for $5; -- default null
new__folder_id alias for $6; -- default null
new__creation_date alias for $7; -- default now()
new__creation_user alias for $8; -- default null
new__creation_ip alias for $9; -- default null
new__package_id alias for $10; -- default null
v_folder_id cr_folders.folder_id%TYPE;
v_context_id acs_objects.context_id%TYPE;
v_package_id acs_objects.package_id%TYPE;
begin
return content_folder__new(new__name,
new__label,
new__description,
new__parent_id,
new__context_id,
new__folder_id,
new__creation_date,
new__creation_user,
new__creation_ip,
't',
new__package_id
);
end;$$ language plpgsql;
--
-- content_folder__new/11
--
create or replace function content_folder__new(
character varying,
character varying,
character varying,
integer,
integer,
integer,
timestamp with time zone,
integer,
character varying,
boolean,
integer
) returns int4 as $$
declare
new__name alias for $1;
new__label alias for $2;
new__description alias for $3; -- default null
new__parent_id alias for $4; -- default null
new__context_id alias for $5; -- default null
new__folder_id alias for $6; -- default null
new__creation_date alias for $7; -- default now()
new__creation_user alias for $8; -- default null
new__creation_ip alias for $9; -- default null
new__security_inherit_p alias for $10; -- default true
new__package_id alias for $11; -- default null
v_folder_id cr_folders.folder_id%TYPE;
v_context_id acs_objects.context_id%TYPE;
begin
-- set the context_id
if new__context_id is null then
v_context_id := new__parent_id;
else
v_context_id := new__context_id;
end if;
-- parent_id = security_context_root means that this is a mount point
if new__parent_id != -4 and
content_folder__is_folder(new__parent_id) and
content_folder__is_registered(new__parent_id,'content_folder','f') = 'f' then
raise EXCEPTION '-20000: This folder does not allow subfolders to be created';
return null;
else
v_folder_id := content_item__new(
new__folder_id,
new__name,
new__parent_id,
null,
new__creation_date,
new__creation_user,
new__context_id,
new__creation_ip,
'f',
'text/plain',
null,
'text',
new__security_inherit_p,
'CR_FILES',
'content_folder',
'content_folder',
new__package_id
);
insert into cr_folders (
folder_id, label, description, package_id
) values (
v_folder_id, new__label, new__description, new__package_id
);
-- set the correct object title
update acs_objects
set title = new__label
where object_id = v_folder_id;
-- inherit the attributes of the parent folder
if new__parent_id is not null then
insert into cr_folder_type_map
select
v_folder_id as folder_id, content_type
from
cr_folder_type_map
where
folder_id = new__parent_id;
end if;
-- update the child flag on the parent
update cr_folders set has_child_folders = 't'
where folder_id = new__parent_id;
return v_folder_id;
end if;
return v_folder_id;
end;$$ language plpgsql;