View | Details | Raw Unified | Return to bug 18008
Collapse All | Expand All

(-)a/acqui/neworderbiblio.pl (-1 / +7 lines)
Lines 144-149 foreach my $r (@{$budgets}) { Link Here
144
    last;
144
    last;
145
}
145
}
146
146
147
my $pagination = {
148
    base_url     => "/cgi-bin/koha/acqui/neworderbiblio.pl?q=$query&booksellerid=$booksellerid&basketno=$basketno&page=",
149
    pages        => getnbpages( $total_hits, $results_per_page ),
150
    current_page => $page,
151
};
152
147
$template->param(
153
$template->param(
148
    has_budgets          => $has_budgets,
154
    has_budgets          => $has_budgets,
149
    basketno             => $basketno,
155
    basketno             => $basketno,
Lines 152-158 $template->param( Link Here
152
    resultsloop          => \@results,
158
    resultsloop          => \@results,
153
    total                => $total_hits,
159
    total                => $total_hits,
154
    query                => $query,
160
    query                => $query,
155
    pagination_bar       => pagination_bar( "/cgi-bin/koha/acqui/neworderbiblio.pl?q=$query&booksellerid=$booksellerid&basketno=$basketno&", getnbpages( $total_hits, $results_per_page ), $page, 'page' ),
161
    pagination           => $pagination,
156
);
162
);
157
163
158
# BUILD THE TEMPLATE
164
# BUILD THE TEMPLATE
(-)a/authorities/authorities-home.pl (-4 / +7 lines)
Lines 180-190 if ( $op eq "do_search" ) { Link Here
180
180
181
    $template->param( result => $results ) if $results;
181
    $template->param( result => $results ) if $results;
182
182
183
    my $pagination = {
184
        base_url     => "$base_url&startfrom=",
185
        pages        => getnbpages( $total, $resultsperpage ),
186
        current_page => $startfrom,
187
    };
188
183
    $template->param(
189
    $template->param(
184
        pagination_bar => pagination_bar(
190
        pagination => $pagination,
185
            $base_url,  int( $total / $resultsperpage ) + 1,
186
            $startfrom, 'startfrom'
187
        ),
188
        total     => $total,
191
        total     => $total,
189
        from      => $from,
192
        from      => $from,
190
        to        => $to,
193
        to        => $to,
(-)a/cataloguing/addbooks.pl (-1 / +8 lines)
Lines 91-101 if ($query) { Link Here
91
    # SimpleSearch() give the results per page we want, so 0 offet here
91
    # SimpleSearch() give the results per page we want, so 0 offet here
92
    my $total = @{$marcresults};
92
    my $total = @{$marcresults};
93
    my @newresults = searchResults( 'intranet', $query, $total, $results_per_page, 0, 0, $marcresults );
93
    my @newresults = searchResults( 'intranet', $query, $total, $results_per_page, 0, 0, $marcresults );
94
95
    my $pagination = {
96
        base_url     => "/cgi-bin/koha/cataloguing/addbooks.pl?q=$query&page=",
97
        pages        => getnbpages( $total_hits, $results_per_page ),
98
        current_page => $page,
99
    };
100
94
    $template->param(
101
    $template->param(
95
        total          => $total_hits,
102
        total          => $total_hits,
96
        query          => $query,
103
        query          => $query,
97
        resultsloop    => \@newresults,
104
        resultsloop    => \@newresults,
98
        pagination_bar => pagination_bar( "/cgi-bin/koha/cataloguing/addbooks.pl?q=$query&", getnbpages( $total_hits, $results_per_page ), $page, 'page' ),
105
        pagination     => $pagination,
99
    );
106
    );
100
}
107
}
101
108
(-)a/cataloguing/value_builder/marc21_linking_section.pl (-8 lines)
Lines 274-287 my $launcher = sub { Link Here
274
        #           foreach my $sort (@sort_by){
274
        #           foreach my $sort (@sort_by){
275
        #             $link.="&sort_by=".$sort."&";
275
        #             $link.="&sort_by=".$sort."&";
276
        #           }
276
        #           }
277
        #           $template->param(
278
        #             pagination_bar => pagination_bar(
279
        #                     $link,
280
        #                     getnbpages($hits, $results_per_page),
281
        #                     $page,
282
        #                     'page'
283
        #             ),
284
        #           );
285
        $template->param(
277
        $template->param(
286
            result         => \@arrayresults,
278
            result         => \@arrayresults,
287
            index          => scalar $query->param('index') . "",
279
            index          => scalar $query->param('index') . "",
(-)a/cataloguing/value_builder/unimarc_field_210c.pl (-6 / +7 lines)
Lines 107-124 my ($input) = @_; Link Here
107
107
108
        $template->param(result => $results) if $results;
108
        $template->param(result => $results) if $results;
109
        $template->param('index' => scalar $query->param('index'));
109
        $template->param('index' => scalar $query->param('index'));
110
111
        my $pagination = {
112
            base_url     => "$link&startfrom=",
113
            pages        => getnbpages($total, $resultsperpage),
114
            current_page => $startfrom,
115
        };
110
        $template->param(
116
        $template->param(
111
                                total=>$total,
117
                                total=>$total,
112
                                from=>$from,
118
                                from=>$from,
113
                                to=>$to,
119
                                to=>$to,
114
                                authtypecode =>$authtypecode,
120
                                authtypecode =>$authtypecode,
115
                                resultstring =>$value[0],
121
                                resultstring =>$value[0],
116
                                pagination_bar => pagination_bar(
122
                                pagination => $pagination,
117
                                    $link,
118
                                    getnbpages($total, $resultsperpage),
119
                                    $startfrom,
120
                                    'startfrom'
121
                                ),
122
                                );
123
                                );
123
    } else {
124
    } else {
124
        ($template, $loggedinuser, $cookie)
125
        ($template, $loggedinuser, $cookie)
(-)a/cataloguing/value_builder/unimarc_field_4XX.pl (-8 lines)
Lines 476-489 sub plugin { Link Here
476
#           foreach my $sort (@sort_by){
476
#           foreach my $sort (@sort_by){
477
#             $link.="&sort_by=".$sort."&";
477
#             $link.="&sort_by=".$sort."&";
478
#           }
478
#           }
479
#           $template->param(
480
#             pagination_bar => pagination_bar(
481
#                     $link,
482
#                     getnbpages($hits, $results_per_page),
483
#                     $page,
484
#                     'page'
485
#             ),
486
#           );
487
        $template->param(
479
        $template->param(
488
            result         => \@arrayresults,
480
            result         => \@arrayresults,
489
            index          => scalar $query->param('index') . "",
481
            index          => scalar $query->param('index') . "",
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/pagination.inc (+60 lines)
Line 0 Link Here
1
[%# this is template for generating pagination %]
2
[%# it needed an array named "pagination" with this structure: %]
3
[%#     pagination.pages => total number of pages %]
4
[%#     pagination.base_url => url with all needed parameters and with parameter specifiyng page at the end %]
5
[%#     pagination.current_page => number of current active page %]
6
7
[% IF pagination && ( pagination.pages > 1 ) %]
8
9
<nav><ul class="pagination">
10
[% IF pagination.current_page != 1 %]
11
    <li><a href="[% pagination.base_url | url %][% pagination.current_page - 1 | uri %]">&laquo; Previous</a></li>
12
[% END %]
13
14
[% IF pagination.pages > 8 %]
15
    [% start_page = pagination.current_page - 3 %]
16
    [% end_page = pagination.current_page + 4 %]
17
    [% IF start_page < 1 %]
18
       [% start_page = 1 %]
19
       [% end_page = 8 %]
20
    [% END %]
21
    [% IF end_page > pagination.pages %]
22
        [% start_page = pagination.pages - 7 %]
23
        [% end_page = pagination.pages %]
24
    [% END %]
25
[% ELSE %]
26
    [% start_page = 1 %]
27
    [% end_page = pagination.pages %]
28
[% END %]
29
30
[% IF start_page > 1 %]
31
    <li><a href="[% pagination.base_url | url %]1">1</a></li>
32
    [% IF start_page != 2 %]
33
      <li class="disabled"><span>&hellip;</span></li>
34
    [% END %]
35
[% END %]
36
37
[% page_number = start_page %]
38
[% WHILE page_number <= end_page %]
39
    [% IF page_number == pagination.current_page %]
40
        <li class="active"><a href="[% pagination.base_url | url %][% page_number | uri %]">[% page_number %]</a></li>
41
    [% ELSE %]
42
        <li><a href="[% pagination.base_url | url %][% page_number | uri %]">[% page_number %]</a></li>
43
    [% END %]
44
    [% page_number = page_number + 1  %]
45
[% END %]
46
47
[% IF end_page < pagination.pages %]
48
    [% IF end_page != pagination.pages - 1 %]
49
        <li class="disabled"><span>&hellip;</span></li>
50
    [% END %]
51
    <li><a href="[% pagination.base_url | url %][% pagination.pages | uri %]">[% pagination.pages %]</a></li>
52
[% END %]
53
54
[% IF pagination.current_page != pagination.pages %]
55
    <li><a href="[% pagination.base_url | url %][% pagination.current_page + 1 | uri %]">Next &raquo;</a></li>
56
[% END %]
57
58
</ul></nav>
59
60
[% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt (-2 / +2 lines)
Lines 22-29 Link Here
22
22
23
23
24
[% IF ( total ) %]
24
[% IF ( total ) %]
25
<b>[% total | html %] results found </b> 
25
    <b>[% total | html %] results found </b>
26
<div class="pages">[% pagination_bar | $raw %]</div>
26
    [% INCLUDE 'pagination.inc' %]
27
[% ELSE %]
27
[% ELSE %]
28
<h3> No results found</h3>
28
<h3> No results found</h3>
29
<p>
29
<p>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/matching-rules.tt (-2 lines)
Lines 466-473 Link Here
466
  [% END %]
466
  [% END %]
467
</table>[% ELSE %]<p>There are no saved matching rules.</p>[% END %]
467
</table>[% ELSE %]<p>There are no saved matching rules.</p>[% END %]
468
468
469
<div class="pages">[% pagination_bar | $raw %]</div>
470
471
[% END %]
469
[% END %]
472
 [% IF ( matching_rule_form ) %]
470
 [% IF ( matching_rule_form ) %]
473
<div id="mp_template" class="matchgroup" style="display:none;">
471
<div id="mp_template" class="matchgroup" style="display:none;">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/patron-attr-types.tt (-2 lines)
Lines 288-295 Link Here
288
  <p>There are no saved patron attribute types.</p>
288
  <p>There are no saved patron attribute types.</p>
289
[% END %]
289
[% END %]
290
290
291
<div class="pages">[% pagination_bar | $raw %]</div>
292
293
[% END %]
291
[% END %]
294
292
295
            </main>
293
            </main>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist.tt (-2 / +2 lines)
Lines 21-27 Link Here
21
21
22
<div id="merge_in_progress"></div>
22
<div id="merge_in_progress"></div>
23
[% IF ( total ) %]
23
[% IF ( total ) %]
24
<div class="pages">[% pagination_bar | $raw %]</div>
24
[% INCLUDE 'pagination.inc' %]
25
25
26
<p id="authorities_searchresultlist_current_page_info">
26
<p id="authorities_searchresultlist_current_page_info">
27
  Results [% from | html %] to [% to | html %] of [% total | html %]
27
  Results [% from | html %] to [% to | html %] of [% total | html %]
Lines 71-77 Link Here
71
  </table>
71
  </table>
72
</div>
72
</div>
73
73
74
<div class="pages">[% pagination_bar | $raw %]</div>
74
[% INCLUDE 'pagination.inc' %]
75
75
76
[% ELSE %]
76
[% ELSE %]
77
  No results found
77
  No results found
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbooks.tt (-1 / +1 lines)
Lines 62-68 Link Here
62
    [% total | html %] result(s) found in catalog,
62
    [% total | html %] result(s) found in catalog,
63
    <a href="#searchresult-breeding">[% breeding_count | html %] result(s) found in reservoir</a>
63
    <a href="#searchresult-breeding">[% breeding_count | html %] result(s) found in reservoir</a>
64
</div>
64
</div>
65
<div class="pages">[% pagination_bar | $raw %]</div>
65
[% INCLUDE 'pagination.inc' %]
66
<div class="searchresults">
66
<div class="searchresults">
67
    <table>
67
    <table>
68
        <tr>
68
        <tr>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_210c.tt (-6 / +4 lines)
Lines 43-51 Link Here
43
        </form>
43
        </form>
44
            [% IF ( total ) %]
44
            [% IF ( total ) %]
45
            <h3>Authority search results</h3>
45
            <h3>Authority search results</h3>
46
            <div class="pages">
46
            [% INCLUDE 'pagination.inc' %]
47
                          [% pagination_bar | $raw %]
47
            [% END %]
48
                        </div>[% END %]
49
            <p>
48
            <p>
50
                [% IF ( total ) %]
49
                [% IF ( total ) %]
51
                    &nbsp;<b>Results [% from | html %] to [% to | html %] of [% total | html %]</b><br /><br />
50
                    &nbsp;<b>Results [% from | html %] to [% to | html %] of [% total | html %]</b><br /><br />
Lines 76-84 Link Here
76
        </div>
75
        </div>
77
[% END %]
76
[% END %]
78
77
79
            [% IF ( total ) %]<div class="pages">
78
            [% IF ( total ) %]
80
                          [% pagination_bar | $raw %]
79
                [% INCLUDE 'pagination.inc' %]
81
                        </div>
82
            [% END %]
80
            [% END %]
83
81
84
[% MACRO jsinclude BLOCK %]
82
[% MACRO jsinclude BLOCK %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt (-1 lines)
Lines 722-728 canned reports and writing custom SQL reports.</p> Link Here
722
    </select>
722
    </select>
723
</form>
723
</form>
724
724
725
<div class="pages">[% pagination_bar | $raw %]</div>
726
[% UNLESS ( errors ) %]
725
[% UNLESS ( errors ) %]
727
    <form method="POST" action="/cgi-bin/koha/tools/batchMod.pl" id="report_results">
726
    <form method="POST" action="/cgi-bin/koha/tools/batchMod.pl" id="report_results">
728
        <input type="hidden" name="op" value="show" />
727
        <input type="hidden" name="op" value="show" />
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reviews/reviewswaiting.tt (-1 / +3 lines)
Lines 62-74 Link Here
62
    </tr>
62
    </tr>
63
    [% END %]</tbody>
63
    [% END %]</tbody>
64
</table>
64
</table>
65
 <div class="pages">[% pagination_bar | $raw %]</div>
65
66
[% ELSE %]
66
[% ELSE %]
67
[% IF ( status ) %]<p><b>No comments have been approved.</b></p>[% ELSE %]<p><b>No comments to moderate.</b></p>[% END %]
67
[% IF ( status ) %]<p><b>No comments have been approved.</b></p>[% ELSE %]<p><b>No comments to moderate.</b></p>[% END %]
68
[% END %]
68
[% END %]
69
</div>
69
</div>
70
</div>
70
</div>
71
71
72
[% INCLUDE 'pagination.inc' %]
73
72
</div>
74
</div>
73
</div>
75
</div>
74
<div class="yui-b">
76
<div class="yui-b">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tags/review.tt (-5 / +1 lines)
Lines 67-77 tr > td input,td input[type="submit"] { font-size: 85%; padding: 1px; } Link Here
67
        [% END %]
67
        [% END %]
68
  </div>
68
  </div>
69
  [% END %]
69
  [% END %]
70
  [% IF ( pagination_bar ) %]
70
71
  <div class="pages" id="pagination_top">
72
    [% pagination_bar | $raw %]
73
  </div>
74
  [% END %]
75
  [% IF ( tagloop ) %]
71
  [% IF ( tagloop ) %]
76
  <p class="check"></p>
72
  <p class="check"></p>
77
  <table id="tagst">
73
  <table id="tagst">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt (-2 / +3 lines)
Lines 131-137 Link Here
131
    [% IF itemsloop %]
131
    [% IF itemsloop %]
132
132
133
    <h3>Contents of <i>[% shelf.shelfname | html %]</i></h3>
133
    <h3>Contents of <i>[% shelf.shelfname | html %]</i></h3>
134
    <div class="pages">[% pagination_bar | $raw %]</div>
134
135
    <form action="/cgi-bin/koha/virtualshelves/shelves.pl" id="listform" method="post" class="checkboxed">
135
    <form action="/cgi-bin/koha/virtualshelves/shelves.pl" id="listform" method="post" class="checkboxed">
136
        <input type="hidden" name="op" value="remove_biblios" />
136
        <input type="hidden" name="op" value="remove_biblios" />
137
        <input type="hidden" name="referer" value="view" />
137
        <input type="hidden" name="referer" value="view" />
Lines 162-167 Link Here
162
    [% END %]
162
    [% END %]
163
</div>
163
</div>
164
164
165
    [% INCLUDE 'pagination.inc' %]
165
    <table id="searchresults">
166
    <table id="searchresults">
166
            <tr>
167
            <tr>
167
                [% IF ( itemsloop ) %]<th class="checkall">&nbsp;</th>[% END %]
168
                [% IF ( itemsloop ) %]<th class="checkall">&nbsp;</th>[% END %]
Lines 252-258 Link Here
252
			</tr>
253
			</tr>
253
		[% END %]<!-- /itemsloop -->
254
		[% END %]<!-- /itemsloop -->
254
    </table>
255
    </table>
255
    <div class="pages">[% pagination_bar | $raw %]</div>
256
    [% INCLUDE 'pagination.inc' %]
256
</form>
257
</form>
257
258
258
	[% END %]
259
	[% END %]
(-)a/reports/guided_reports.pl (-2 / +1 lines)
Lines 821-831 elsif ($phase eq 'Run this report'){ Link Here
821
                }
821
                }
822
            }
822
            }
823
823
824
            my $totpages = int($total/$limit) + (($total % $limit) > 0 ? 1 : 0);
825
            my $url = "/cgi-bin/koha/reports/guided_reports.pl?reports=$report_id&amp;phase=Run%20this%20report&amp;limit=$limit";
824
            my $url = "/cgi-bin/koha/reports/guided_reports.pl?reports=$report_id&amp;phase=Run%20this%20report&amp;limit=$limit";
826
            if (@sql_params) {
825
            if (@sql_params) {
827
                $url = join('&amp;sql_params=', $url, map { URI::Escape::uri_escape_utf8($_) } @sql_params);
826
                $url = join('&amp;sql_params=', $url, map { URI::Escape::uri_escape_utf8($_) } @sql_params);
828
            }
827
            }
828
829
            $template->param(
829
            $template->param(
830
                'results' => \@rows,
830
                'results' => \@rows,
831
                'sql'     => $sql,
831
                'sql'     => $sql,
Lines 835-841 elsif ($phase eq 'Run this report'){ Link Here
835
                'name'    => $name,
835
                'name'    => $name,
836
                'notes'   => $notes,
836
                'notes'   => $notes,
837
                'errors'  => defined($errors) ? [ $errors ] : undef,
837
                'errors'  => defined($errors) ? [ $errors ] : undef,
838
                'pagination_bar'  => pagination_bar($url, $totpages, scalar $input->param('page')),
839
                'unlimited_total' => $total,
838
                'unlimited_total' => $total,
840
                'sql_params'      => \@sql_params,
839
                'sql_params'      => \@sql_params,
841
                'param_names'     => \@param_names,
840
                'param_names'     => \@param_names,
(-)a/reviews/reviewswaiting.pl (-1 / +8 lines)
Lines 22-27 use C4::Auth; Link Here
22
use C4::Output;
22
use C4::Output;
23
use C4::Context;
23
use C4::Context;
24
use C4::Biblio;
24
use C4::Biblio;
25
use C4::Koha;
25
use Koha::Biblios;
26
use Koha::Biblios;
26
use Koha::Patrons;
27
use Koha::Patrons;
27
use Koha::Reviews;
28
use Koha::Reviews;
Lines 81-90 for my $review ( @$reviews ) { Link Here
81
82
82
my $url = "/cgi-bin/koha/reviews/reviewswaiting.pl?status=$status";
83
my $url = "/cgi-bin/koha/reviews/reviewswaiting.pl?status=$status";
83
84
85
my $pagination = {
86
    base_url     => "$url&page=",
87
    pages        => getnbpages( $total, $count ),
88
    current_page => $page,
89
};
90
84
$template->param(
91
$template->param(
85
    status => $status,
92
    status => $status,
86
    reviews => $reviews,
93
    reviews => $reviews,
87
    pagination_bar => pagination_bar( $url, ( int( $total / $count ) ) + ( ( $total % $count ) > 0 ? 1 : 0 ), $page, "page" )
94
    pagination => $pagination,
88
);
95
);
89
96
90
output_html_with_http_headers $query, $cookie, $template->output;
97
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/tags/review.pl (-5 / +2 lines)
Lines 29-35 use C4::Auth qw(:DEFAULT check_cookie_auth); Link Here
29
use C4::Context;
29
use C4::Context;
30
use Koha::DateUtils;
30
use Koha::DateUtils;
31
# use C4::Koha;
31
# use C4::Koha;
32
use C4::Output qw(:html :ajax pagination_bar);
32
use C4::Output qw(:html :ajax);
33
use C4::Debug;
33
use C4::Debug;
34
use C4::Tags qw(get_tags get_approval_rows approval_counts whitelist blacklist is_approved);
34
use C4::Tags qw(get_tags get_approval_rows approval_counts whitelist blacklist is_approved);
35
35
Lines 210-215 $qstring =~ s/^;+//; # remove leading delims Link Here
210
$qstring = "limit=$pagesize" . ($qstring ? '&amp;' . $qstring : '');
210
$qstring = "limit=$pagesize" . ($qstring ? '&amp;' . $qstring : '');
211
$debug and print STDERR "number of approval_rows: " . scalar(@$tagloop) . "rows\n";
211
$debug and print STDERR "number of approval_rows: " . scalar(@$tagloop) . "rows\n";
212
(scalar @errors) and $template->param(message_loop=>\@errors);
212
(scalar @errors) and $template->param(message_loop=>\@errors);
213
213
$template->param(
214
$template->param(
214
	offset => $offset,	# req'd for EXPR
215
	offset => $offset,	# req'd for EXPR
215
	op => $op,
216
	op => $op,
Lines 217-226 $template->param( Link Here
217
	script_name => $script_name,
218
	script_name => $script_name,
218
	approved => 0,		# dummy value (also EXPR)
219
	approved => 0,		# dummy value (also EXPR)
219
	tagloop => $tagloop,
220
	tagloop => $tagloop,
220
	pagination_bar => pagination_bar(
221
		"$script_name?$qstring\&amp;",
222
		ceil($counts->{approved_total}/$pagesize),	# $page, 'page'
223
	)
224
);
221
);
225
222
226
output_html_with_http_headers $input, $cookie, $template->output;
223
output_html_with_http_headers $input, $cookie, $template->output;
(-)a/virtualshelves/shelves.pl (-5 / +8 lines)
Lines 327-337 if ( $op eq 'view' ) { Link Here
327
            );
327
            );
328
            if ( $page ) {
328
            if ( $page ) {
329
                my $pager = $contents->pager;
329
                my $pager = $contents->pager;
330
331
                my $pagination = {
332
                    base_url     => "?op=view&shelfnumber=" . $shelf->shelfnumber . "&sortfield=$sortfield&direction=$direction&page=",
333
                    pages        => $pager->last_page - $pager->first_page + 1,
334
                    current_page => $page,
335
                };
336
330
                $template->param(
337
                $template->param(
331
                    pagination_bar => pagination_bar(
338
                    pagination => $pagination,
332
                        q||, $pager->last_page - $pager->first_page + 1,
333
                        $page, "page", { op => 'view', shelfnumber => $shelf->shelfnumber, sortfield => $sortfield, direction => $direction, }
334
                    ),
335
                );
339
                );
336
            }
340
            }
337
        } else {
341
        } else {
338
- 

Return to bug 18008