hectorr
committed
on 19 Aug 20
file fs-portlet-procs.tcl was initially added on branch oacs-5-10.
openacs-4/.../fs-portlet/www/fs-portlet.tcl (+3 -2)
33 33     admin_p:onevalue
34 34     delete_p:onevalue
35 35     url:onevalue
36 36     folders:multirow
37 37     n_folders:onevalue
38 38 }
39 39
40 40 array set config $cf
41 41 set user_id [ad_conn user_id]
42 42 set list_of_folder_ids $config(folder_id)
43 43 set n_folders [llength $list_of_folder_ids]
44 44 set scoped_p [ad_decode $config(scoped_p) t 1 0]
45 45
46 46 set user_root_folder [dotlrn_fs::get_user_root_folder -user_id $user_id]
47 47 set user_root_folder_present_p 0
48 48
49 49 if {$user_root_folder ne "" && $user_root_folder in $list_of_folder_ids} {
50 50     set folder_id $user_root_folder
51 51     set user_root_folder_present_p 1
52 52     set use_ajaxfs_p 0
  53     set file_storage_package_id ""
53 54 } else {
54 55     set folder_id [lindex $list_of_folder_ids 0]
55 56     set file_storage_node_id [site_node::get_node_id_from_object_id \
56 57                              -object_id [ad_conn package_id]]
57 58     set file_storage_package_id [site_node::get_children \
58 59                                 -package_key file-storage \
59 60                                 -node_id $file_storage_node_id \
60 61                                 -element package_id]
61 62     set use_ajaxfs_p [parameter::get -package_id $file_storage_package_id -parameter UseAjaxFs -default 0]
62 63
63 64 }
64 65
65 66 set url [site_node_object_map::get_url -object_id $folder_id]
66 67 set contents_url [lindex $config(contents_url) 0]
67 68
68 69 if {$contents_url eq ""} {
69 70     set recurse_p 1
70 71     set contents_url [export_vars -base ${url}folder-contents {folder_id recurse_p}]&
71 72 } else {
72 73     set contents_url "${contents_url}?"
 
141 142                 </elseif>
142 143                 <else>
143 144                 @folders.content_size@ <if @folders.content_size eq 1>#fs-portlet.byte#</if><else>#fs-portlet.bytes#</else>
144 145                 \[<a href="@folders.url@file?file_id=@folders.object_id@">#fs-portlet.view_details#</a>\]
145 146                 </else>
146 147             }
147 148         }
148 149     }
149 150
150 151     db_multirow folders $query {
151 152         # The name of the folder may contain message keys that need to be localized on the fly
152 153         set name [lang::util::localize $name]
153 154     }
154 155 }
155 156
156 157 # Enable Notifications
157 158
158 159 set folder_name [fs_get_folder_name $folder_id]
159 160 set folder_url [ad_conn url]?[ad_conn query]&folder_id=$folder_id
160 161
161   if {([info exists file_storage_package_id] && $file_storage_package_id ne "")} {
  162 if {$file_storage_package_id ne ""} {
162 163     set use_webdav_p  [parameter::get -package_id $file_storage_package_id -parameter "UseWebDavP"]
163 164    
164 165     if { $use_webdav_p == 1} {
165 166         set webdav_url [fs::webdav_url -item_id $folder_id -package_id $file_storage_package_id]
166 167         regsub -all {/\$} $webdav_url {/\\$} webdav_url
167 168     }
168 169 }
169 170
170 171 ad_return_template
171 172
172 173 # Local variables:
173 174 #    mode: tcl
174 175 #    tcl-indent-level: 4
175 176 #    indent-tabs-mode: nil
176 177 # End: