-- Upgrade script that creates and registers a content template for the -- file_storage_object content type. -- -- @author Ola Hansson <ola@polyxena.net> create or replace function inline_0 () returns integer as $$ declare template_id integer; begin -- Create the (default) file_storage_object content type template template_id := content_template__new( 'file-storage-default', -- name '<master> <property name="title">@title;noquote@</property> <property name="context">@context;noquote@</property> @text;noquote@', -- text true -- is_live ); -- Register the template for the file_storage_object content type perform content_type__register_template( 'file_storage_object', -- content_type template_id, -- template_id 'public', -- use_context 't' -- is_default ); return null; END; $$ LANGUAGE plpgsql; select inline_0(); drop function inline_0(); -- added select define_function_args('file_storage__new_version','filename,description,mime_type,item_id,creation_user,creation_ip'); -- -- procedure file_storage__new_version/6 -- CREATE OR REPLACE FUNCTION file_storage__new_version( new_version__filename varchar, new_version__description varchar, new_version__mime_type varchar, new_version__item_id integer, new_version__creation_user integer, new_version__creation_ip varchar ) RETURNS integer AS $$ -- cr_revisions.revision_id DECLARE v_revision_id cr_revisions.revision_id%TYPE; v_folder_id cr_items.parent_id%TYPE; BEGIN -- Create a revision v_revision_id := content_revision__new ( new_version__filename, -- title new_version__description, -- description now(), -- publish_date new_version__mime_type, -- mime_type null, -- nls_language null, -- data (default) new_version__item_id, -- item_id null, -- revision_id now(), -- creation_date new_version__creation_user, -- creation_user new_version__creation_ip -- creation_ip ); -- Make live the newly created revision perform content_item__set_live_revision(v_revision_id); select cr_items.parent_id into v_folder_id from cr_items where cr_items.item_id = new_version__item_id; perform acs_object__update_last_modified(v_folder_id,new_version__creation_user,new_version__creation_ip); perform acs_object__update_last_modified(new_version__item_id,new_version__creation_user,new_version__creation_ip); return v_revision_id; END; $$ LANGUAGE plpgsql;