maltes
committed
on 13 Jun 06
Performance tuning to get rid of all these content_type data link queries
openacs-4/.../mail-tracking/lib/messages.tcl (+6 -15)
233 233         set result ""
234 234         for { set i 0 } { $i < [string length $quoted] } { incr i } {
235 235             set current [string index $quoted $i]
236 236             if {$current == "="} {
237 237                 incr i
238 238                 set high [string index $quoted $i]
239 239                 incr i
240 240                 set low [string index $quoted $i]
241 241                 set current [binary format H2 "$high$low"]
242 242             } elseif {[string eq $current "_"]} {
243 243                 set current " "
244 244             }
245 245             append result $current
246 246         }
247 247         set subject "$before$result$after"
248 248     }
249 249
250 250     set files [list]
251 251     # We get the related files for all the object_types
252 252     set content_types [list content_revision content_item file_storage_object image]
253       foreach content_type $content_types {
254  
255           foreach file [application_data_link::get_linked -from_object_id $log_id -to_object_type "$content_type"] {
  253     db_foreach files {} {
256 254         if { [string equal $content_type "content_revision"] } {
257                   lappend files [item::get_item_from_revision $file]
  255             set file [item::get_item_from_revision $file_id]
258 256         } else {
259                   lappend files $file
  257             set file $file_id
260 258         }
261           }
262       }
263      
264       set download_files ""
265      
266       foreach file $files {
267 259         set title [content::item::get_title -item_id $file]
268 260         if { [empty_string_p $title] } {
269 261             set title [acs_object_name $file]
270 262         }
271           # Creating the link to dowload the files
272 263         append download_files "<a href=\"[export_vars -base "${tracking_url}download/$title" -url {{file_id $file}}]\">$title</a><br>"
273 264     }
274 265
275 266     set object_url "/o/$object_id"
276 267 }
277 268
278 269
279 270  
280 271 ad_return_template