Index: openacs-4/packages/file-storage/tcl/file-storage-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/tcl/file-storage-procs.tcl,v
diff -u -r1.48.2.13 -r1.48.2.14
--- openacs-4/packages/file-storage/tcl/file-storage-procs.tcl 8 Mar 2006 17:11:37 -0000 1.48.2.13
+++ openacs-4/packages/file-storage/tcl/file-storage-procs.tcl 2 Apr 2006 22:11:48 -0000 1.48.2.14
@@ -714,21 +714,40 @@
}
set do_notify_here_p "t"
} else {
+ # th: fixed to set old item_id if item already exists and no new item needed to be created
+ db_1row get_old_item ""
set do_notify_here_p "f"
}
- set revision_id [fs::add_version \
- -name $name \
- -tmp_filename $tmp_filename \
- -package_id $package_id \
- -item_id $item_id \
- -creation_user $creation_user \
- -creation_ip $creation_ip \
- -title $title \
- -description $description \
- -suppress_notify_p $do_notify_here_p \
- -storage_type $storage_type \
- -mime_type $mime_type
- ]
+ if {$no_callback_p} {
+ set revision_id [fs::add_version \
+ -name $name \
+ -tmp_filename $tmp_filename \
+ -package_id $package_id \
+ -item_id $item_id \
+ -creation_user $creation_user \
+ -creation_ip $creation_ip \
+ -title $title \
+ -description $description \
+ -suppress_notify_p $do_notify_here_p \
+ -storage_type $storage_type \
+ -mime_type $mime_type \
+ -no_callback
+ ]
+ } else {
+ set revision_id [fs::add_version \
+ -name $name \
+ -tmp_filename $tmp_filename \
+ -package_id $package_id \
+ -item_id $item_id \
+ -creation_user $creation_user \
+ -creation_ip $creation_ip \
+ -title $title \
+ -description $description \
+ -suppress_notify_p $do_notify_here_p \
+ -storage_type $storage_type \
+ -mime_type $mime_type
+ ]
+ }
if {[string is true $do_notify_here_p]} {
fs::do_notifications -folder_id $parent_id -filename $title -item_id $revision_id -action "new_file" -package_id $package_id
@@ -836,7 +855,7 @@
if {[empty_string_p $creation_ip]} {
set creation_ip [ns_conn peeraddr]
}
- set parent_id [get_parent -item_id $item_id]
+ set parent_id [fs::get_parent -item_id $item_id]
if {[string equal "" $storage_type]} {
set storage_type [db_string get_storage_type "select storage_type from cr_items where item_id=:item_id"]
}
@@ -922,7 +941,7 @@
}
set tmp_size [file size $tmp_filename]
- set parent_id [get_parent -item_id $item_id]
+ set parent_id [fs::get_parent -item_id $item_id]
set revision_id [cr_import_content \
-item_id $item_id \
-storage_type $storage_type \
@@ -969,7 +988,7 @@
set version_name [get_object_name -object_id $item_id]
if {[empty_string_p $parent_id]} {
- set parent_id [get_parent -item_id $item_id]
+ set parent_id [fs::get_parent -item_id $item_id]
}
set folder_info [fs::get_folder_package_and_root $parent_id]
@@ -995,7 +1014,7 @@
db_exec_plsql delete_folder ""
if {[empty_string_p $parent_id]} {
- set parent_id [get_parent -item_id $folder_id]
+ set parent_id [fs::get_parent -item_id $folder_id]
}
fs::do_notifications -folder_id $parent_id -filename $version_name -item_id $folder_id -action "delete_folder"
Index: openacs-4/packages/file-storage/tcl/file-storage-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/tcl/file-storage-procs.xql,v
diff -u -r1.16.2.2 -r1.16.2.3
--- openacs-4/packages/file-storage/tcl/file-storage-procs.xql 16 Aug 2005 11:05:23 -0000 1.16.2.2
+++ openacs-4/packages/file-storage/tcl/file-storage-procs.xql 2 Apr 2006 22:11:48 -0000 1.16.2.3
@@ -117,6 +117,14 @@
+
+
+ select item_id from cr_items
+ where name=:name
+ and parent_id=:parent_id
+
+
+
select parent_id from cr_items where item_id=:item_id
Index: openacs-4/packages/file-storage/www/copy-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/copy-postgresql.xql,v
diff -u -r1.4 -r1.4.2.1
--- openacs-4/packages/file-storage/www/copy-postgresql.xql 20 Mar 2005 15:44:29 -0000 1.4
+++ openacs-4/packages/file-storage/www/copy-postgresql.xql 2 Apr 2006 22:11:49 -0000 1.4.2.1
@@ -60,7 +60,7 @@
where m.object_id = cf.folder_id
and m.party_id = :user_id
and m.privilege = 'write')
- order by tree_level(ci1.tree_sortkey), cf.label
+ order by ci1.tree_sortkey, cf.label
Index: openacs-4/packages/file-storage/www/copy.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/copy.tcl,v
diff -u -r1.5 -r1.5.2.1
--- openacs-4/packages/file-storage/www/copy.tcl 20 Mar 2005 15:44:29 -0000 1.5
+++ openacs-4/packages/file-storage/www/copy.tcl 2 Apr 2006 22:11:49 -0000 1.5.2.1
@@ -10,6 +10,7 @@
object_id:notnull,integer,multiple
folder_id:integer,optional
{return_url ""}
+ {root_folder_id ""}
{redirect_to_folder:boolean 0}
{show_items:boolean 0}
}
@@ -21,6 +22,7 @@
set peer_addr [ad_conn peeraddr]
set allowed_count 0
set not_allowed_count 0
+set package_id [ad_conn package_id]
db_multirow -extend {copy_message} copy_objects get_copy_objects "" {
if {$copy_p} {
@@ -53,7 +55,15 @@
template::multirow foreach copy_objects {
db_transaction {
if {![string equal $type "folder"] } {
- db_exec_plsql copy_item {}
+ set file_rev_id [db_exec_plsql copy_item {}]
+ set file_id [content::revision::item_id -revision_id $file_rev_id]
+ set object_rev_id [content::item::get_best_revision -item_id $object_id]
+
+ set object_path "[cr_fs_path][cr_create_content_file_path $object_id $object_rev_id]"
+ set file_path [cr_create_content_file_path $file_id $file_rev_id]
+ cr_create_content_file $file_id $file_rev_id $object_path
+
+ callback fs::file_revision_new -package_id $package_id -file_id $file_id -parent_id $folder_id
} else {
db_exec_plsql copy_folder {}
}
@@ -87,7 +97,10 @@
display_template {
@folder_tree.label@
}
}
}
- set root_folder_id [fs::get_root_folder]
+
+ if {[empty_string_p $root_folder_id]} {
+ set root_folder_id [fs::get_root_folder]
+ }
set object_id $objects_to_copy
db_multirow -extend {copy_url} folder_tree get_folder_tree "" {
set copy_url [export_vars -base "copy" { object_id:multiple folder_id return_url }]
Index: openacs-4/packages/file-storage/www/file.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/file.tcl,v
diff -u -r1.25 -r1.25.2.1
--- openacs-4/packages/file-storage/www/file.tcl 7 Mar 2005 15:32:12 -0000 1.25
+++ openacs-4/packages/file-storage/www/file.tcl 2 Apr 2006 22:11:49 -0000 1.25.2.1
@@ -96,8 +96,10 @@
}
if {![string equal $version_id $live_revision]} {
set version_url "view/${file_url}?[export_vars {{revision_id $version_id}}]"
+ set version_url [export_vars -base "download/$title" {version_id}]
} else {
set version_url "view/${file_url}"
+ set version_url [export_vars -base "download/$title" {file_id}]
}
set version_delete [_ file-storage.Delete_Version]
set version_delete_url "version-delete?[export_vars version_id]"
Index: openacs-4/packages/file-storage/www/folder-chunk.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/folder-chunk.tcl,v
diff -u -r1.31.2.16 -r1.31.2.17
--- openacs-4/packages/file-storage/www/folder-chunk.tcl 14 Dec 2005 13:55:28 -0000 1.31.2.16
+++ openacs-4/packages/file-storage/www/folder-chunk.tcl 2 Apr 2006 22:11:50 -0000 1.31.2.17
@@ -149,7 +149,6 @@
set bulk_actions ""
}
-
if {$format eq "list"} {
set actions {}
}
@@ -246,6 +245,7 @@
set download_link [_ file-storage.Download]
if {$like_filesystem_p} {
set download_url "${fs_url}download/$title?[export_vars {{file_id $object_id}}]"
+ set file_url $download_url
} else {
set download_url "${fs_url}download/$name?[export_vars {{file_id $object_id}}]"
}
Index: openacs-4/packages/file-storage/www/move-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/Attic/move-postgresql.xql,v
diff -u -r1.4 -r1.4.2.1
--- openacs-4/packages/file-storage/www/move-postgresql.xql 13 Jan 2005 13:58:13 -0000 1.4
+++ openacs-4/packages/file-storage/www/move-postgresql.xql 2 Apr 2006 22:11:50 -0000 1.4.2.1
@@ -47,7 +47,7 @@
where m.object_id = cf.folder_id
and m.party_id = :user_id
and m.privilege = 'write')
- order by tree_level(ci1.tree_sortkey), cf.label
+ order by ci1.tree_sortkey, cf.label
Index: openacs-4/packages/file-storage/www/move.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/move.tcl,v
diff -u -r1.5 -r1.5.2.1
--- openacs-4/packages/file-storage/www/move.tcl 13 Jan 2005 13:58:13 -0000 1.5
+++ openacs-4/packages/file-storage/www/move.tcl 2 Apr 2006 22:11:50 -0000 1.5.2.1
@@ -10,6 +10,7 @@
object_id:notnull,integer,multiple
folder_id:integer,optional
{return_url ""}
+ {root_folder_id ""}
{redirect_to_folder:boolean 0}
{show_items:boolean 0}
}
@@ -85,7 +86,10 @@
display_template {@folder_tree.label@
}
}
}
- set root_folder_id [fs::get_root_folder]
+
+ if {[empty_string_p $root_folder_id]} {
+ set root_folder_id [fs::get_root_folder]
+ }
set object_id $objects_to_move
db_multirow -extend {move_url level} folder_tree get_folder_tree "" {
# teadams 2003-08-22 - change level to level num to avoid
Index: openacs-4/packages/file-storage/www/download/index.vuh
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/download/index.vuh,v
diff -u -r1.4.2.2 -r1.4.2.3
--- openacs-4/packages/file-storage/www/download/index.vuh 23 Feb 2006 14:29:35 -0000 1.4.2.2
+++ openacs-4/packages/file-storage/www/download/index.vuh 2 Apr 2006 22:11:50 -0000 1.4.2.3
@@ -29,5 +29,8 @@
ad_require_permission $version_id "read"
-# cr_write_content -revision_id $version_id
-cr_write_content -item_id $file_id
\ No newline at end of file
+if {[exists_and_not_null file_id]} {
+ cr_write_content -item_id $file_id
+} else {
+ cr_write_content -revision_id $version_id
+}