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 -r1.2 -r1.3
--- openacs-4/packages/lorsm/www/delivery/delivery-context-bar.tcl 16 Jan 2008 16:54:45 -0000 1.2
+++ openacs-4/packages/lorsm/www/delivery/delivery-context-bar.tcl 17 Nov 2008 13:38:36 -0000 1.3
@@ -1,7 +1,7 @@
# packages/lorsm/www/delivery/delivery-context-bar.tcl
ad_page_contract {
-
+
} {
{__include ""}
} -properties {
@@ -11,21 +11,23 @@
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]
+\# -user_id $user_id \
+\# -community_id $community_id \
+\# -course_id $man_id]
#} else {
set track_id 0
#}
@@ -35,45 +37,71 @@
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_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 last_item_viewed [db_string select_last_item_viewed {
+ select ims_item_id
+ from views_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 ""
+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}
+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_url "
+ "
-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 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
+}