Index: openacs-4/packages/lorsm/www/delivery/delivery-context-bar.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/delivery/delivery-context-bar.adp,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lorsm/www/delivery/delivery-context-bar.adp 27 Jun 2006 16:33:21 -0000 1.1 @@ -0,0 +1,18 @@ + + +@current_title@ + + + +

@current_title@

+

item_id @item_id@

+

[@progress_list:item@][@progress_list:item@] +

+ + + +NEXT + + \ No newline at end of file Index: openacs-4/packages/lorsm/www/delivery/delivery-context-bar.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/delivery/delivery-context-bar.tcl,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/lorsm/www/delivery/delivery-context-bar.tcl 27 Jun 2006 16:33:21 -0000 1.1 @@ -0,0 +1,79 @@ +# packages/lorsm/www/delivery/delivery-context-bar.tcl + +ad_page_contract { + +} { + {__include ""} +} -properties { +} -validate { +} -errors { +} +if {![info exists man_id] || $man_id eq ""} { + set man_id [ad_get_client_property lorsm man_id] +} +if {![info exists item_id]} { + set item_id [ad_get_client_property lorsm ims_id] +} +set community_id [dotlrn_community::get_community_id] +set user_id [ad_conn user_id] +set lorsm_url [dotlrn_community::get_community_url $community_id]lorsm/delivery + +# Student tracking +set package_id [ad_conn package_id] +#if {[lorsm::track::istrackable -course_id $man_id -package_id $package_id]} { + +# set track_id [lorsm::track::new \ +\# -user_id $user_id \ +\# -community_id $community_id \ +\# -course_id $man_id] +#} else { + set track_id 0 +#} + +# return_url +set return_url [dotlrn_community::get_community_url [dotlrn_community::get_community_id]] + +set item_list [lorsm::get_item_list $man_id $user_id] + +set last_item_viewed [db_string select_last_item_viewed { + select ims_item_id + from views v, + ims_cp_items i, + ims_cp_organizations o + where v.viewer_id = :user_id + and v.object_id = i.ims_item_id + and i.org_id = o.org_id + and o.man_id = :man_id + order by v.last_viewed desc + limit 1 +} -default ""] + + +set first_item_id [lindex $item_list 0] +set first_item_url "" +if {$item_id eq ""} { + set item_id $first_item_id + ad_returnredirect [export_vars -base ${lorsm_url}/record-view {man_id item_id}] + ad_script_abort +} +#set curr_index [expr [lsearch -exact $item_list $last_item_viewed]] +set curr_index [expr [lsearch -exact $item_list $item_id]] +if {$curr_index < 1} {set curr_index 0} + +set prev_item_id [lindex $item_list [expr $curr_index - 1]] +set next_item_id [lindex $item_list [expr $curr_index + 1]] +set prev_url "" +set next_url [export_vars -base "${lorsm_url}/record-view" -url {{item_id $next_item_id} man_id}] + +set prev_title [db_string get_title "select item_title from ims_cp_items where ims_item_id=:prev_item_id" -default ""] +set next_title [db_string get_title "select item_title from ims_cp_items where ims_item_id=:next_item_id" -default ""] +set current_title [db_string get_title "select item_title from ims_cp_items where ims_item_id=:last_item_viewed" -default ""] + +set progress_list [template::util::number_list [llength $item_list] 1] +set progress_index [expr {$curr_index + 1}] + +if {[string match "*assessment*" $__include]} { + set show_next 0 +} else { + show_next 1 +} \ No newline at end of file Index: openacs-4/packages/lorsm/www/delivery/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/delivery/index.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/lorsm/www/delivery/index.tcl 12 Jun 2006 02:06:10 -0000 1.6 +++ openacs-4/packages/lorsm/www/delivery/index.tcl 27 Jun 2006 16:33:21 -0000 1.7 @@ -92,3 +92,7 @@ ad_set_client_property lorsm studenttrack 0 } + +## FIXME + +set folder_name delivery-context-bar \ No newline at end of file Index: openacs-4/packages/lorsm/www/delivery/index.vuh =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/delivery/index.vuh,v diff -u -r1.2 -r1.3 --- openacs-4/packages/lorsm/www/delivery/index.vuh 13 Jun 2006 01:25:02 -0000 1.2 +++ openacs-4/packages/lorsm/www/delivery/index.vuh 27 Jun 2006 16:33:21 -0000 1.3 @@ -32,8 +32,9 @@ } -default "no_item"] set first_item_id [lindex $item_list 0] -set first_item_url "" +set first_item_url "" + set curr_index [expr [lsearch -exact $item_list $last_item_viewed]] set prev_item_id [lindex $item_list [expr $curr_index - 1]] set next_item_id [lindex $item_list [expr $curr_index + 1]] @@ -42,11 +43,12 @@ if {$next_item_id eq ""} { set next_url [export_vars -base ${lorsm_url}/body {man_id}] } +set form [rp_getform] +ns_set delkey $form next_url rp_form_put next_url $next_url # ########## -upvar #[template::adp_level] __adp_master adp_master -set adp_master [template::util::url_to_file "/www/blank-master"] + switch $base { assessment { # find assessment package_id @@ -63,16 +65,15 @@ set path [join [lrange $path_list 1 end] /] if {[file exists [acs_root_dir]/packages/assessment/lib/${path}.tcl]} { rp_form_put __include /packages/assessment/lib/$path - rp_internal_redirect /packages/lorsm/lib/include +# rp_internal_redirect /packages/lorsm/lib/include + rp_internal_redirect /packages/lorsm/www/delivery/delivery-context-bar } else { - ns_log notice "NOPE $path" rp_internal_redirect "/packages/assessment/www/$path" } ad_script_abort } wiki { rp_form_put __include /packages/xowiki/lib/view - rp_internal_redirect "/packages/assessment/www/$path" ad_script_abort } default { Index: openacs-4/packages/lorsm/www/delivery/record-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/lorsm/www/delivery/record-view.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/lorsm/www/delivery/record-view.tcl 13 Jun 2006 01:25:02 -0000 1.6 +++ openacs-4/packages/lorsm/www/delivery/record-view.tcl 27 Jun 2006 16:33:21 -0000 1.7 @@ -1,5 +1,4 @@ # packages/lorsm/www/delivery4/record-view.tcl - ad_page_contract { records a view for this ims_cp_item and redirects to its url @@ -66,7 +65,8 @@ set form [rp_getform] ns_set delkey $form item_id rp_form_put item_id [string trimleft $href "/o/"] - rp_internal_redirect "/packages/xowiki/lib/view" + rp_form_put __include /packages/xowiki/lib/view + rp_internal_redirect "/packages/lorsm/www/delivery/delivery-context-bar" } default { set cr_item_id [lors::cr::get_item_id -folder_id $content_root -name $href]