Index: openacs-4/packages/assessment/sql/postgresql/assessment-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/sql/postgresql/assessment-create.sql,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/assessment/sql/postgresql/assessment-create.sql 9 Aug 2004 09:15:35 -0000 1.12
+++ openacs-4/packages/assessment/sql/postgresql/assessment-create.sql 25 Oct 2004 16:05:10 -0000 1.13
@@ -9,3 +9,4 @@
\i assessment-item-create.sql
\i assessment-section-create.sql
\i assessment-collected-data-create.sql
+\i assessment-files.sql
Index: openacs-4/packages/assessment/sql/postgresql/assessment-files.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/sql/postgresql/Attic/assessment-files.sql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/assessment/sql/postgresql/assessment-files.sql 25 Oct 2004 16:05:10 -0000 1.1
@@ -0,0 +1,53 @@
+--
+-- Assessment Package
+--
+-- @author eperez@it.uc3m.es
+-- @creation-date 2004-10-25
+--
+
+create table as_files (
+ file_id integer
+ constraint as_files_file_id_pk
+ primary key
+ constraint as_files_file_id_fk
+ references cr_revisions(revision_id)
+);
+
+select content_type__create_type (
+ 'as_files', -- content_type
+ 'content_revision', -- super_type
+ 'Assessment File', -- pretty_name
+ 'Assessment Files', -- pretty_plural
+ 'as_files', -- table_name
+ 'file_id', -- id_column
+ null -- name_method
+);
+
+create or replace function inline_0 ()
+returns integer as'
+declare
+ template_id integer;
+begin
+
+ -- Create the (default) content type template
+
+ template_id := content_template__new(
+ ''as_files_default'', -- name
+ ''@text;noquote@'', -- text
+ true -- is_live
+ );
+
+ -- Register the template for the content type
+
+ perform content_type__register_template(
+ ''as_files'', -- content_type
+ template_id, -- template_id
+ ''public'', -- use_context
+ ''t'' -- is_default
+ );
+
+ return null;
+end;' language 'plpgsql';
+
+select inline_0();
+drop function inline_0();
Index: openacs-4/packages/assessment/tcl/as-file-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-file-procs.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/assessment/tcl/as-file-procs.tcl 25 Oct 2004 16:05:11 -0000 1.1
@@ -0,0 +1,35 @@
+ad_library {
+ File procs
+ @author eperez@it.uc3m.es
+ @creation-date 2004-10-25
+}
+
+namespace eval as::file {}
+
+ad_proc -public as::file::new {
+ {-file_pathname:required}
+} {
+ @author eperez@it.uc3m.es
+ @creation-date 2004-10-25
+
+ New as_file to the CR
+} {
+ set package_id [ad_conn package_id]
+ set folder_id [db_string get_folder_id "select folder_id from cr_folders where package_id=:package_id"]
+
+ # Get the filename part of the upload file
+ if { ![regexp {[^//\\]+$} $file_pathname file_name] } {
+ # no match
+ set file_name $file_pathname
+ }
+ # TODO make the CR name be a SHA1 of the file to prevent too much files repeated
+ set file_item_id [content::item::new -parent_id $folder_id -content_type {as_files} -name [ad_generate_random_string] -title $file_name]
+ set file_revision_id [content::revision::new -item_id $file_item_id -content_type {as_files} -title $file_name ]
+ set filename [cr_create_content_file $file_item_id $file_revision_id $file_pathname]
+ set title [template::util::file::get_property filename $file_pathname]
+ set mime_type [cr_filename_to_mime_type -create $title]
+ set content_length [file size $file_pathname]
+ db_dml set_file_content { update cr_revisions set content = :filename, mime_type = :mime_type, content_length = :content_length where revision_id = :file_revision_id }
+
+ return $file_revision_id
+}
Index: openacs-4/packages/assessment/tcl/as-install-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/tcl/as-install-procs.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/assessment/tcl/as-install-procs.tcl 14 Oct 2004 11:44:51 -0000 1.1
+++ openacs-4/packages/assessment/tcl/as-install-procs.tcl 25 Oct 2004 16:05:11 -0000 1.2
@@ -191,5 +191,6 @@
content::folder::register_content_type -folder_id $folder_id -content_type {as_sessions} -include_subtypes t
content::folder::register_content_type -folder_id $folder_id -content_type {as_section_data} -include_subtypes t
content::folder::register_content_type -folder_id $folder_id -content_type {as_item_data} -include_subtypes t
+ content::folder::register_content_type -folder_id $folder_id -content_type {as_files} -include_subtypes t
}
Index: openacs-4/packages/assessment/www/view/index-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/view/index-postgresql.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/assessment/www/view/index-postgresql.xql 25 Oct 2004 16:05:11 -0000 1.1
@@ -0,0 +1,15 @@
+
+
+