Index: openacs-4/packages/lorsm/lib/user-lorsm.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/lib/user-lorsm.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/lorsm/lib/user-lorsm.tcl 26 Apr 2005 08:56:23 -0000 1.7 +++ openacs-4/packages/lorsm/lib/user-lorsm.tcl 17 May 2005 17:03:39 -0000 1.8 @@ -1,4 +1,4 @@ -#packages/lorsm/www/test.tcl +# packages/lorsm/www/test.tcl ad_page_contract { @@ -15,24 +15,17 @@ } -errors { } -#set package_id $list_of_packages_ids - -# link_url_eval {[site_node::get_url_from_object_id -object_id $lorsm_instance_id]${folder_name}/?[export_vars man_id]} -# link_html {title "[_ lorsm.Access_Course]" target "_blank"} - - template::list::create \ -name d_courses \ - -pass_properties delivery_folder \ -multirow d_courses \ -html {width 100%} \ -key man_id \ -no_data "[_ lorsm.No_Courses]" \ -elements { course_name { label "[_ lorsm.Course_Name_1]" - display_template {@d_courses.course_url;noquote@} - html { width 70% } + display_template {@d_courses.course_url;noquote@} + html { width 70% } } subject { label "[_ lorsm.Subject]" @@ -54,76 +47,28 @@ } set user_id [ad_conn user_id] - +set community_id [dotlrn_community::get_community_id] +set extra_query "" +if {![empty_string_p $community_id]} { + set extra_query "and cpmc.community_id = :community_id" +} foreach package $package_id { - - db_multirow -extend { ims_md_id last_viewed total_item_count viewed_item_count viewed_percent course_url } -append d_courses select_d_courses { - select - cp.man_id, - cp.course_name, - cp.identifier, - cp.version, - cp.fs_package_id, - cp.folder_id, - acs.creation_user, - acs.creation_date, - pf.folder_name, - pf.format_name, - acs.context_id, - cpmc.community_id, - cpmc.lorsm_instance_id - from - ims_cp_manifests cp, acs_objects acs, ims_cp_manifest_class cpmc, lorsm_course_presentation_formats pf - where - cp.man_id = acs.object_id - and - cp.man_id = cpmc.man_id - and --- acs.context_id = :package - cpmc.lorsm_instance_id = :package - and - cpmc.isenabled = 't' - and - cp.course_presentation_format = pf.format_id - order by acs.creation_date desc - } { + db_multirow -extend { ims_md_id last_viewed total_item_count viewed_item_count viewed_percent course_url } -append d_courses select_d_courses { } { set ims_md_id $man_id - if { [string eq $format_name "default"] } { + if { [string eq $format_name "default"] } { set course_url "$course_name" - } else { + } else { set course_url "$course_name" - } - + } # DEDS: these are expensive # and for demo purposes only - db_0or1row get_last_viewed { - select v.last_viewed - from views v, - ims_cp_items i, - ims_cp_organizations o - where v.viewer_id = :user_id - and v.object_id = i.item_id - and i.org_id = o.org_id - and o.man_id = :man_id - order by v.last_viewed desc - limit 1 - } - set all_items [db_list get_total_items { - select i.item_id - from ims_cp_items i, - ims_cp_organizations o - where o.man_id = :man_id - and i.org_id = o.org_id - }] + db_0or1row get_last_viewed { } + set all_items [db_list get_total_items { }] set total_item_count [llength $all_items] - set viewed_items [db_list get_viewed_items " - select v.object_id - from views v - where v.viewer_id = :user_id - and v.object_id in ([join $all_items ,]) - "] + set viewed_items [db_list get_viewed_items { }] set viewed_item_count [llength $viewed_items] set viewed_percent [expr [expr $viewed_item_count * 1.00] / $total_item_count * 100] - - } + } } + +