Index: openacs-4/packages/acs-content-repository/acs-content-repository.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/acs-content-repository.info,v
diff -u -r1.62 -r1.63
--- openacs-4/packages/acs-content-repository/acs-content-repository.info 24 Sep 2006 11:37:04 -0000 1.62
+++ openacs-4/packages/acs-content-repository/acs-content-repository.info 3 Oct 2006 16:37:11 -0000 1.63
@@ -7,7 +7,7 @@
t
t
-
+
OpenACS
The canonical repository for OpenACS content.
@@ -21,7 +21,7 @@
other CMS backing functionality. Utilized by Bug Tracker, File Storage, and other packages.
-
+
Index: openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.3.0d3-5.3.0d4.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.3.0d3-5.3.0d4.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.3.0d3-5.3.0d4.sql 3 Oct 2006 16:37:11 -0000 1.1
@@ -0,0 +1,81 @@
+--
+--
+--
+-- @author Victor Guerra (guerra@galileo.edu)
+-- @creation-date 2006-10-02
+-- @arch-tag: c6a0a70c-5506-45e4-ba11-8e145f695c57
+-- @cvs-id $Id: upgrade-5.3.0d3-5.3.0d4.sql,v 1.1 2006/10/03 16:37:11 victorg Exp $
+--
+
+select define_function_args('content_extlink__copy','extlink_id,target_folder_id,creation_user,creation_ip,name');
+create or replace function content_extlink__copy (
+ integer,
+ integer,
+ integer,
+ varchar,
+ varchar)
+returns integer as '
+declare
+ copy__extlink_id alias for $1;
+ copy__target_folder_id alias for $2;
+ copy__creation_user alias for $3;
+ copy__creation_ip alias for $4; -- default null
+ copy__name alias for $5;
+ v_current_folder_id cr_folders.folder_id%TYPE;
+ v_name cr_items.name%TYPE;
+ v_url cr_extlinks.url%TYPE;
+ v_description cr_extlinks.description%TYPE;
+ v_label cr_extlinks.label%TYPE;
+ v_extlink_id cr_extlinks.extlink_id%TYPE;
+begin
+
+ if content_folder__is_folder(copy__target_folder_id) = ''t'' then
+ select
+ parent_id
+ into
+ v_current_folder_id
+ from
+ cr_items
+ where
+ item_id = copy__extlink_id;
+
+ -- can''t copy to the same folder
+
+ select
+ i.name, e.url, e.description, e.label
+ into
+ v_name, v_url, v_description, v_label
+ from
+ cr_extlinks e, cr_items i
+ where
+ e.extlink_id = i.item_id
+ and
+ e.extlink_id = copy__extlink_id;
+
+ -- copy to a different folder, or same folder if name
+ -- is different
+ if copy__target_folder_id != v_current_folder_id or ( v_name <> copy__name and copy__name is not null ) then
+
+ if content_folder__is_registered(copy__target_folder_id,
+ ''content_extlink'',''f'') = ''t'' then
+
+ v_extlink_id := content_extlink__new(
+ coalesce (copy__name, v_name),
+ v_url,
+ v_label,
+ v_description,
+ copy__target_folder_id,
+ null,
+ current_timestamp,
+ copy__creation_user,
+ copy__creation_ip,
+ null
+ );
+
+ end if;
+ end if;
+ end if;
+
+ return 0;
+end;' language 'plpgsql' stable;
+