-- -- wp_presentation__new/12 -- create or replace function wp_presentation__new( timestamp with time zone, integer, character varying, character varying, character varying, character varying, integer, boolean, boolean, character varying, character varying, integer ) returns int4 as $$ declare p_creation_date alias for $1; p_creation_user alias for $2; p_creation_ip alias for $3; p_pres_title alias for $4; p_page_signature alias for $5; p_copyright_notice alias for $6; p_style alias for $7; p_public_p alias for $8; p_show_modified_p alias for $9; p_aud alias for $10; p_back alias for $11; p_parent_id alias for $12; v_item_id cr_items.item_id%TYPE; v_audience_item_id cr_items.item_id%TYPE; v_background_item_id cr_items.item_id%TYPE; v_revision_id cr_revisions.revision_id%TYPE; v_audience_revision_id cr_revisions.revision_id%TYPE; v_background_revision_id cr_revisions.revision_id%TYPE; v_max_id integer; v_name cr_wp_presentations.pres_title%TYPE; begin select coalesce(max(item_id),0) into v_max_id from cr_items where content_type = 'cr_wp_presentation' and name like p_pres_title || '%'; v_name := p_pres_title || '_' || v_max_id; v_item_id := content_item__new( v_name, p_parent_id, null, null, p_creation_date, p_creation_user, null, p_creation_ip, 'content_item', 'cr_wp_presentation', null, null, 'text/plain', null, null, 'text' ); v_revision_id := content_revision__new( null, null, current_timestamp, 'text/plain', null, null, v_item_id, null, p_creation_date, p_creation_user, p_creation_ip ); perform content_item__set_live_revision(v_revision_id); --jackp: Actually place the information entered -- by the user into the table insert into cr_wp_presentations ( presentation_id, pres_title, page_signature, copyright_notice, style, public_p, show_modified_p ) values ( v_revision_id, p_pres_title, p_page_signature, p_copyright_notice, p_style, p_public_p, p_show_modified_p ); v_audience_item_id := content_item__new( p_aud, v_item_id, null, null, p_creation_date, p_creation_user, null, p_creation_ip, 'content_item', 'cr_wp_presentation_aud', null, null, 'text/plain', null, null, 'text' ); v_audience_revision_id := content_revision__new( null, null, current_timestamp, 'text/plain', null, p_aud, v_audience_item_id, null, p_creation_date, p_creation_user, p_creation_ip ); perform content_item__set_live_revision(v_audience_revision_id); insert into cr_wp_presentations_aud (id, presentation_id) values (v_audience_revision_id, v_revision_id); v_background_item_id := content_item__new( p_back, v_item_id, null, null, p_creation_date, p_creation_user, null, p_creation_ip, 'content_item', 'cr_wp_presentation_back', null, null, 'text/plain', null, null, 'text' ); v_background_revision_id := content_revision__new( null, null, current_timestamp, 'text/plain', null, p_back, v_background_item_id, null, p_creation_date, p_creation_user, p_creation_ip ); perform content_item__set_live_revision(v_background_revision_id); insert into cr_wp_presentations_back (id, presentation_id) values (v_background_revision_id, v_revision_id); return v_item_id; end;$$ language plpgsql;