Index: openacs-4/packages/xowiki/www/view-book.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/view-book.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/xowiki/www/view-book.tcl 13 Nov 2007 11:36:12 -0000 1.7 +++ openacs-4/packages/xowiki/www/view-book.tcl 1 Mar 2008 16:25:51 -0000 1.8 @@ -1,18 +1,17 @@ set title [[$package_id folder_id] title] -set toc [$page include [list toc -open_page $name -decoration plain -remove_levels 1]] -set i [$page set __last_includelet] +set toc [$page include [list toc -open_page $name -decoration plain -remove_levels 1]] +set i [$page set __last_includelet] #my log "--last includelet = $i, class=[$i info class] [$page exists __is_book_page]" +# prevent recursive books if {$i ne "" && ![$page exists __is_book_page]} { - set p [$i position] + set p [$i position] set count [$i count] - #my log "--toc count=$count size=[$i array size page_name] indices=[lsort -integer [$i array names page_name]]" + if {$count > 0} { set book_relpos [format %.2f%% [expr {100.0 * $p / $count}]] - if {$p>1} {set book_prev_link [$package_id pretty_link [$i page_name [expr {$p - 1}]]]} if {$p<$count} {set book_next_link [$package_id pretty_link [$i page_name [expr {$p + 1}]]]} - #ns_log notice "--p=$p, count=$count, relpos=$book_relpos, {100.0 * $p / $count} next=[info exists next_link], prev=[info exists prev_link]" set page_title "

[$i current] $title

" } else { set book_relpos 0.0%