Index: openacs-4/packages/search/lib/navbar.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/search/lib/navbar.tcl,v diff -u -N -r1.6 -r1.6.2.1 --- openacs-4/packages/search/lib/navbar.tcl 7 Aug 2017 23:48:29 -0000 1.6 +++ openacs-4/packages/search/lib/navbar.tcl 6 Oct 2019 16:21:41 -0000 1.6.2.1 @@ -1,16 +1,33 @@ +ad_include_contract { + + A navbar chunk for search. + +} { + {q ""} + {paginator_class:token "list-paginator-bottom"} + {count:integer} + {low:integer} + {high:integer} + {offset:naturalnum,notnull 0} + {num:range(0|200) 0} + {search_package_id:naturalnum ""} +} + set package_id [ad_conn package_id] set limit [parameter::get -package_id $package_id -parameter LimitDefault] set pages_per_group [parameter::get -package_id $package_id -parameter PagesPerGroup] set current_result_page [expr {$low / $limit}] -set from_result_page [expr {($current_result_page / $pages_per_group) * $pages_per_group}] -set last_result_page [expr {($count + $limit - 1)/ $limit - 1}] -set to_result_page [expr {($last_result_page < $pages_per_group + $from_result_page - 1 ? $last_result_page : $pages_per_group + $from_result_page - 1)} ] -set current_page_group [expr { int($current_result_page / $pages_per_group) }] -set last_page_group [expr { int($last_result_page / $pages_per_group) }] +set from_result_page [expr {($current_result_page / $pages_per_group) * $pages_per_group}] +set last_result_page [expr {($count + $limit - 1)/ $limit - 1}] +set to_result_page [expr {($last_result_page < $pages_per_group + $from_result_page - 1) + ? $last_result_page + : $pages_per_group + $from_result_page - 1} ] +set current_page_group [expr { int($current_result_page / $pages_per_group) }] +set last_page_group [expr { int($last_result_page / $pages_per_group) }] set first_page_in_group [expr { $current_page_group * $pages_per_group }] -set last_page_in_group [expr { ($current_page_group + 1) * $pages_per_group - 1 }] +set last_page_in_group [expr { ($current_page_group + 1) * $pages_per_group - 1 }] security::csrf::new if {[info exists ::__csrf_token]} {set __csrf_token $::__csrf_token} @@ -29,14 +46,14 @@ set url_next_group "" } -if { $current_result_page > 0 } { +if { $current_result_page > 0 } { set offset [expr {($current_result_page - 1) * $limit}] set url_previous [export_vars -base search {q search_package_id offset num __csrf_token}] } else { set url_previous "" } -if { $current_result_page < $last_result_page } { +if { $current_result_page < $last_result_page } { set offset [expr {$current_result_page * $limit + $limit}] set url_next [export_vars -base search {q search_package_id offset num __csrf_token}] } else {