Index: openacs-4/packages/ajax-filestorage-ui/lib/folder-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/ajax-filestorage-ui/lib/Attic/folder-postgresql.xql,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/ajax-filestorage-ui/lib/folder-postgresql.xql 13 Dec 2006 10:51:30 -0000 1.1
@@ -0,0 +1,32 @@
+
+
+
+ postgresql7.1
+
+
+ select package_id, instance_name,
+ (select file_storage__get_root_folder(package_id)) as root_folder
+ from apm_packages where package_key='file-storage'
+ and exists (select 1
+ from acs_object_party_privilege_map m
+ where m.object_id = fs_objects.object_id
+ and m.party_id = :viewing_user_id
+ and m.privilege = 'read')
+ ${exclude_sql}
+ order by instance_name
+
+
+
+
+
+ select count(*) from fs_objects
+ where parent_id = :root_folder and type='folder'
+ and exists (select 1
+ from acs_object_party_privilege_map m
+ where m.object_id = fs_objects.object_id
+ and m.party_id = :viewing_user_id
+ and m.privilege = 'read')
+
+
+
+
\ No newline at end of file
Index: openacs-4/packages/ajax-filestorage-ui/lib/folder.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/ajax-filestorage-ui/lib/Attic/folder.adp,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/ajax-filestorage-ui/lib/folder.adp 13 Dec 2006 10:51:30 -0000 1.1
@@ -0,0 +1,18 @@
+
+Classic View
+
+
+
+
+
+
Click on an item in the file tree to view its contents here.
+
+
+
+
+
+
+@js_script;noquote@
Index: openacs-4/packages/ajax-filestorage-ui/lib/folder.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/ajax-filestorage-ui/lib/Attic/folder.tcl,v
diff -u
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/ajax-filestorage-ui/lib/folder.tcl 13 Dec 2006 10:51:30 -0000 1.1
@@ -0,0 +1,66 @@
+# ajax-filestorage-ui/www/index.tcl
+
+ad_page_contract {
+
+ Ajax Based File Manager using OpenACS File Storage and Yahoo's Tree View Control.
+ Optionally specify a the package_id of the file storage instance you wish to manage
+ or optionally specify a folder_id in the query string to tell which folder to open
+
+ @author Hamilton Chua (ham@solutiongrove.com)
+ @creation-date 2006-02-04
+} {
+ {package_ids:integer,multiple,optional }
+ {folder_id:integer,optional }
+}
+
+# declare some variables
+set page_title "Ajax File Storage"
+
+# load yahoo events sources
+# this is needed for functions inside ajaxfs.js
+set js_sources [ah::yui::js_sources -source "connection"]
+
+# where is afs mounted
+set afs_url [afs::get_url]
+
+# who is viewing, used to check permissions
+set viewing_user_id [auth::require_login]
+
+# holds counter for number of folders
+set count_folders 0
+
+# variable name for the tree view control
+set treevarname "tree"
+
+# refine query
+set exclude_sql ""
+# did we get a package_id from querystring
+if { [exists_and_not_null package_ids] } {
+ set package_ids_list [join $package_ids ","]
+ set exclude_sql "and package_id in ($package_ids_list)"
+}
+
+# create the nodes for our tree
+set nodes [list]
+db_foreach "get_fs_instances" "" {
+
+ # verify if the folder has contents
+ if { [db_string "countcontent" ""] > 0 } {
+ set dyn_load_script "loadDataForNode"
+ } else {
+ set dyn_load_script ""
+ }
+
+ # create the node
+ lappend nodes [list "$root_folder" "$instance_name" "$treevarname" "javascript:showFolderContents('${root_folder}',$treevarname)" "" "${dyn_load_script}"]
+
+ incr count_folders
+
+}
+
+set js_script [ah::yui::create_tree -element "folders" \
+ -nodes $nodes \
+ -varname "tree" \
+ -css "/resources/ajax-filestorage-ui/tree.css" ]
+
+set js_script [ah::enclose_in_script -script $js_script]
\ No newline at end of file