-- -- procedure content_extlink__new/10 -- CREATE OR REPLACE FUNCTION content_extlink__new( new__name varchar, -- default null new__url varchar, new__label varchar, -- default null new__description varchar, -- default null new__parent_id integer, new__extlink_id integer, -- default null new__creation_date timestamptz, -- default now() -- default 'now' new__creation_user integer, -- default null new__creation_ip varchar, -- default null new__package_id integer -- default null ) RETURNS integer AS $$ DECLARE v_extlink_id cr_extlinks.extlink_id%TYPE; v_package_id acs_objects.package_id%TYPE; v_label cr_extlinks.label%TYPE; v_name cr_items.name%TYPE; BEGIN if new__label is null then v_label := new__url; else v_label := new__label; end if; if new__name is null then select nextval('t_acs_object_id_seq') into v_extlink_id from dual; v_name := 'link' || v_extlink_id; else v_name := new__name; end if; if new__package_id is null then v_package_id := acs_object__package_id(new__parent_id); else v_package_id := new__package_id; end if; v_extlink_id := content_item__new( v_name, new__parent_id, new__extlink_id, null, new__creation_date, new__creation_user, null, new__creation_ip, 'content_item', 'content_extlink', null, null, 'text/plain', null, null, null, -- data null, -- relation_tag 'f', -- is_live 'text', v_package_id, 't' -- with_child_rels ); insert into cr_extlinks (extlink_id, url, label, description) values (v_extlink_id, new__url, v_label, new__description); update acs_objects set title = v_label where object_id = v_extlink_id; return v_extlink_id; END; $$ LANGUAGE plpgsql; -- -- procedure content_item__new/17 (accepts 16-17 args) -- CREATE OR REPLACE FUNCTION content_item__new( new__name varchar, new__parent_id integer, -- default null new__item_id integer, -- default null new__locale varchar, -- default null new__creation_date timestamptz, -- default now() new__creation_user integer, -- default null new__context_id integer, -- default null new__creation_ip varchar, -- default null new__item_subtype varchar, -- default 'content_item' new__content_type varchar, -- default 'content_revision' new__title varchar, -- default null new__description varchar, -- default null new__mime_type varchar, -- default 'text/plain' new__nls_language varchar, -- default null new__text varchar, -- default null new__storage_type cr_items.storage_type%TYPE, new__package_id integer default null ) RETURNS integer AS $$ -- -- content_item__new/17 is deprecated, one should call /20 -- DECLARE BEGIN raise NOTICE 'content_item__new/17 is deprecated, call content_item__new/21 instead'; return content_item__new(new__name, new__parent_id, new__item_id, new__locale, new__creation_date, new__creation_user, new__context_id, new__creation_ip, new__item_subtype, new__content_type, new__title, new__description, new__mime_type, new__nls_language, new__text, null, -- data null, -- relation_tag 'f', -- is_live new__storage_type, new__package_id, 't' -- with_child_rels ); END; $$ LANGUAGE plpgsql; drop function if exists content_item__new(new__name character varying, new__parent_id integer, new__item_id integer, new__locale character varying, new__creation_date timestamp with time zone, new__creation_user integer, new__context_id integer, new__creation_ip character varying, new__item_subtype character varying, new__content_type character varying, new__title character varying, new__description character varying, new__mime_type character varying, new__nls_language character varying, new__text character varying, new__storage_type character varying, new__package_id integer);