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.112 -r1.113
--- openacs-4/packages/acs-content-repository/acs-content-repository.info 4 Sep 2017 06:23:58 -0000 1.112
+++ openacs-4/packages/acs-content-repository/acs-content-repository.info 25 Oct 2017 07:33:25 -0000 1.113
@@ -7,7 +7,7 @@
t
t
-
+
f
t
OpenACS
@@ -21,7 +21,7 @@
GPL
3
-
+
Index: openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.10.0d2-5.10.0d3.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.10.0d2-5.10.0d3.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.10.0d2-5.10.0d3.sql 25 Oct 2017 07:33:25 -0000 1.1
@@ -0,0 +1,207 @@
+--
+-- For whatever reason, old installations with many upgrades
+-- (e.g. openacs.org) might have still the very old definition without
+-- the named parameters.
+--
+DROP FUNCTION IF EXISTS image__new(character varying, integer, integer, integer, character varying, integer, character varying, character varying, character varying, character varying, boolean, timestamp without time zone, character varying, integer, integer, integer);
+
+--
+-- Some installations (e.g. learn) have a version where the p_storage_type is still varchar
+--
+DROP FUNCTION IF EXISTS image__new(character varying, integer, integer, integer, character varying, integer, character varying, character varying, character varying, character varying, character varying, character varying, timestamp with time zone, integer, integer, integer);
+
+--
+-- To be on the safe side, update both versions (same functions as in the 5.9.1 release)
+--
+
+--
+-- procedure image__new/17
+--
+CREATE OR REPLACE FUNCTION image__new(
+ new__name varchar,
+ new__parent_id integer, -- default null
+ new__item_id integer, -- default null
+ new__revision_id integer, -- default null
+ new__mime_type varchar, -- default jpeg
+ new__creation_user integer, -- default null
+ new__creation_ip varchar, -- default null
+ new__relation_tag varchar, -- default null
+ new__title varchar, -- default null
+ new__description varchar, -- default null
+ new__is_live boolean, -- default f
+ new__publish_date timestamptz, -- default now()
+ new__path varchar,
+ new__file_size integer,
+ new__height integer,
+ new__width integer,
+ new__package_id integer default null
+
+) RETURNS integer AS $$
+DECLARE
+
+ new__locale varchar default null;
+ new__nls_language varchar default null;
+ new__creation_date timestamptz default current_timestamp;
+ new__context_id integer;
+
+ v_item_id cr_items.item_id%TYPE;
+ v_package_id acs_objects.package_id%TYPE;
+ v_revision_id cr_revisions.revision_id%TYPE;
+ BEGIN
+ new__context_id := new__parent_id;
+
+ 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_item_id := 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,
+ 'content_item',
+ 'image',
+ null,
+ new__description,
+ new__mime_type,
+ new__nls_language,
+ null,
+ 'file', -- storage_type
+ v_package_id
+ );
+
+ -- update cr_child_rels to have the correct relation_tag
+ update cr_child_rels
+ set relation_tag = new__relation_tag
+ where parent_id = new__parent_id
+ and child_id = new__item_id
+ and relation_tag = content_item__get_content_type(new__parent_id) || '-' || 'image';
+
+ v_revision_id := content_revision__new (
+ new__title,
+ new__description,
+ new__publish_date,
+ new__mime_type,
+ new__nls_language,
+ new__path,
+ v_item_id,
+ new__revision_id,
+ new__creation_date,
+ new__creation_user,
+ new__creation_ip,
+ new__file_size,
+ v_package_id
+ );
+
+ insert into images
+ (image_id, height, width)
+ values
+ (v_revision_id, new__height, new__width);
+
+ -- is_live => 't' not used as part of content_item.new
+ -- because content_item.new does not let developer specify revision_id,
+ -- revision_id is determined in advance
+
+ if new__is_live = 't' then
+ PERFORM content_item__set_live_revision (v_revision_id);
+ end if;
+
+ return v_item_id;
+END;
+$$ LANGUAGE plpgsql;
+
+-- DRB's version
+--
+-- procedure image__new/16
+--
+-- compared to image_new/17:
+-- * has no relation_tag, is_live, path, file_size
+-- * but has storage_type, content_type, nls_language
+--
+CREATE OR REPLACE FUNCTION image__new(
+ p_name varchar,
+ p_parent_id integer, -- default null
+ p_item_id integer, -- default null
+ p_revision_id integer, -- default null
+ p_mime_type varchar, -- default jpeg
+ p_creation_user integer, -- default null
+ p_creation_ip varchar, -- default null
+ p_title varchar, -- default null
+ p_description varchar, -- default null
+ p_storage_type cr_items.storage_type%TYPE,
+ p_content_type varchar,
+ p_nls_language varchar,
+ p_publish_date timestamptz,
+ p_height integer,
+ p_width integer,
+ p_package_id integer default null
+
+) RETURNS integer AS $$
+DECLARE
+ v_item_id cr_items.item_id%TYPE;
+ v_revision_id cr_revisions.revision_id%TYPE;
+ v_package_id acs_objects.package_id%TYPE;
+ BEGIN
+
+ if content_item__is_subclass(p_content_type, 'image') = 'f' then
+ raise EXCEPTION '-20000: image__new can only be called for an image type';
+ end if;
+
+ if p_package_id is null then
+ v_package_id := acs_object__package_id(p_parent_id);
+ else
+ v_package_id := p_package_id;
+ end if;
+
+ v_item_id := content_item__new (
+ p_name,
+ p_parent_id,
+ p_item_id,
+ null,
+ current_timestamp,
+ p_creation_user,
+ p_parent_id,
+ p_creation_ip,
+ 'content_item',
+ p_content_type,
+ null,
+ null,
+ null,
+ null,
+ null,
+ p_storage_type,
+ v_package_id
+ );
+
+ -- We will let the caller fill in the LOB data or file path.
+
+ v_revision_id := content_revision__new (
+ p_title,
+ p_description,
+ p_publish_date,
+ p_mime_type,
+ p_nls_language,
+ null, -- text
+ v_item_id,
+ p_revision_id,
+ current_timestamp,
+ p_creation_user,
+ p_creation_ip,
+ null, -- content_length
+ v_package_id
+ );
+
+ insert into images
+ (image_id, height, width)
+ values
+ (v_revision_id, p_height, p_width);
+
+ return v_item_id;
+END;
+$$ LANGUAGE plpgsql;
Index: openacs-4/packages/acs-content-repository/www/index.vuh
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/index.vuh,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/acs-content-repository/www/index.vuh 7 Aug 2017 23:47:47 -0000 1.12
+++ openacs-4/packages/acs-content-repository/www/index.vuh 25 Oct 2017 07:33:25 -0000 1.13
@@ -10,7 +10,7 @@
} {
{ revision_id "" }
}
-
+ns_log notice "======= index.vuh"
# Get the paths
set the_root $::acs::pageroot
set the_url [ad_conn path_info]