--
-- acs_message__edit/10
--
create or replace function acs_message__edit(
p_message_id integer,
p_title character varying,
p_description character varying,
p_mime_type character varying,
p_text text,
p_data integer,
p_creation_date timestamp with time zone,
p_creation_user integer,
p_creation_ip character varying,
p_is_live boolean
) returns int4 as $$
DECLARE
v_revision_id cr_revisions.revision_id%TYPE;
BEGIN
-- create a new revision using whichever call is appropriate
if p_data is not null then
-- need to take care of blob?
v_revision_id := content_revision__new (
p_title, -- title
p_description, -- description
now(), -- publish_date
p_mime_type, -- mime_type
null, -- nls_language
p_data, -- data
p_message_id, -- item_id
p_creation_date, -- creation_date
p_creation_user, -- creation_user
p_creation_ip -- creation_ip
);
else if p_title is not null or p_text is not null then
v_revision_id := content_revision__new (
p_title, -- title
p_description, -- description
now(), -- publish_date
p_mime_type, -- mime_type
null, -- nls_language
p_text, -- text
p_message_id, -- item_id
null, -- revision_id
p_creation_date, -- creation_date
p_creation_user, -- creation_user
p_creation_ip, -- creation_ip
null, -- content_length
null -- package_id
);
end if;
end if;
-- test for auto approval of revision
if p_is_live then
perform content_item__set_live_revision(v_revision_id);
end if;
return v_revision_id;
END;
$$ language plpgsql;