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

(-)a/C4/Search.pm (-2 / +2 lines)
Lines 441-447 sub getRecords { Link Here
441
                # loop through the results
441
                # loop through the results
442
                $results_hash->{'hits'} = $size;
442
                $results_hash->{'hits'} = $size;
443
                my $times;
443
                my $times;
444
                if ( $offset + $results_per_page <= $size ) {
444
                if ( $results_per_page != 'all' && ($offset + $results_per_page <= $size) ) {
445
                    $times = $offset + $results_per_page;
445
                    $times = $offset + $results_per_page;
446
                }
446
                }
447
                else {
447
                else {
Lines 1902-1908 sub searchResults { Link Here
1902
1902
1903
    # handle which records to actually retrieve
1903
    # handle which records to actually retrieve
1904
    my $times;
1904
    my $times;
1905
    if ( $hits && $offset + $results_per_page <= $hits ) {
1905
    if ( $hits && $results_per_page != 'all' && ($offset + $results_per_page <= $hits) ) {
1906
        $times = $offset + $results_per_page;
1906
        $times = $offset + $results_per_page;
1907
    }
1907
    }
1908
    else {
1908
    else {
(-)a/catalogue/search.pl (-4 / +4 lines)
Lines 474-483 for (my $ii = 0; $ii < @operands; ++$ii) Link Here
474
# Params that can only have one value
474
# Params that can only have one value
475
my $scan = $params->{'scan'};
475
my $scan = $params->{'scan'};
476
my $count = C4::Context->preference('numSearchResults') || 20;
476
my $count = C4::Context->preference('numSearchResults') || 20;
477
my $results_per_page = $params->{'count'} || $count;
477
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
478
my $offset = $params->{'offset'} || 0;
479
my $page = $cgi->param('page') || 1;
478
my $page = $cgi->param('page') || 1;
480
#my $offset = ($page-1)*$results_per_page;
479
my $offset = $results_per_page != 'all' ? ($page-1)*$results_per_page : 0;
481
my $hits;
480
my $hits;
482
my $expanded_facet = $params->{'expand'};
481
my $expanded_facet = $params->{'expand'};
483
482
Lines 552-557 for (my $i=0;$i<@servers;$i++) { Link Here
552
    my $server = $servers[$i];
551
    my $server = $servers[$i];
553
    if ($server =~/biblioserver/) { # this is the local bibliographic server
552
    if ($server =~/biblioserver/) { # this is the local bibliographic server
554
        $hits = $results_hashref->{$server}->{"hits"};
553
        $hits = $results_hashref->{$server}->{"hits"};
554
        $results_per_page = $hits if $results_per_page == 'all';
555
        my $page = $cgi->param('page') || 0;
555
        my $page = $cgi->param('page') || 0;
556
        my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan,
556
        my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan,
557
                                       $results_hashref->{$server}->{"RECORDS"});
557
                                       $results_hashref->{$server}->{"RECORDS"});
Lines 616-622 for (my $i=0;$i<@servers;$i++) { Link Here
616
                $template->param(searchdesc => 1);
616
                $template->param(searchdesc => 1);
617
            }
617
            }
618
            $template->param(stopwords_removed => "@$stopwords_removed") if $stopwords_removed;
618
            $template->param(stopwords_removed => "@$stopwords_removed") if $stopwords_removed;
619
            $template->param(results_per_page =>  $results_per_page);
619
            $template->param(results_per_page =>  $results_per_page == $hits ? 'all' : $results_per_page);
620
            # must define a value for size if not present in DB
620
            # must define a value for size if not present in DB
621
            # in order to avoid problems generated by the default size value in TT
621
            # in order to avoid problems generated by the default size value in TT
622
            foreach my $line (@newresults) {
622
            foreach my $line (@newresults) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt (-4 / +19 lines)
Lines 85-93 $("#forgetholdfor").click(function(){ Link Here
85
    $(".btn-group").removeClass("open");
85
    $(".btn-group").removeClass("open");
86
    return false;
86
    return false;
87
});
87
});
88
$('#sortbyform').find("input:submit").hide();
88
$('#resultoptionsform').find("input:submit").hide();
89
$('#sort_by').change(function() {
89
$('#sort_by').change(function() {
90
        $('#sortbyform').submit();
90
        $('#resultoptionsform').submit();
91
    });
92
$('#results_per_page').change(function() {
93
        $.cookie('results_per_page', $(this).val());
94
        $('#resultoptionsform').submit();
91
    });
95
    });
92
        var param1 = "<label for=\"addto\">"+_("Add to:")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
96
        var param1 = "<label for=\"addto\">"+_("Add to:")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
93
        [% IF ( intranetbookbag ) %]     param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>"; [% END %]
97
        [% IF ( intranetbookbag ) %]     param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>"; [% END %]
Lines 286-292 var holdForPatron = function () { Link Here
286
290
287
    [% IF ( total ) %]
291
    [% IF ( total ) %]
288
        <div id="searchheader">
292
        <div id="searchheader">
289
            <form action="/cgi-bin/koha/catalogue/search.pl" method="get" id="sortbyform">
293
            <form action="/cgi-bin/koha/catalogue/search.pl" method="get" id="resultoptionsform">
290
                [% IF ( searchdesc ) %]
294
                [% IF ( searchdesc ) %]
291
                    [% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
295
                    [% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
292
                    <input type="hidden" name="[% QUERY_INPUT.input_name |html %]" value="[% QUERY_INPUT.input_value |html %]"/>
296
                    <input type="hidden" name="[% QUERY_INPUT.input_name |html %]" value="[% QUERY_INPUT.input_value |html %]"/>
Lines 300-307 var holdForPatron = function () { Link Here
300
                    <select id="sort_by" name="sort_by">
304
                    <select id="sort_by" name="sort_by">
301
                    [% INCLUDE 'resort_form.inc' %]
305
                    [% INCLUDE 'resort_form.inc' %]
302
                    </select>
306
                    </select>
303
                    <input type="submit" value="Go" />
304
                <!-- RESORT END -->
307
                <!-- RESORT END -->
308
                <!-- RESULTS_PER_PAGE START -->
309
                    <label for="results_per_page">Results per page: </label>
310
                    <select id="results_per_page" name="results_per_page">
311
                        <option value="20" [% 'SELECTED' IF results_per_page == '20' %]>20</option>
312
                        <option value="40" [% 'SELECTED' IF results_per_page == '40' %]>40</option>
313
                        <option value="60" [% 'SELECTED' IF results_per_page == '60' %]>60</option>
314
                        <option value="80" [% 'SELECTED' IF results_per_page == '80' %]>80</option>
315
                        <option value="100" [% 'SELECTED' IF results_per_page == '100' %]>100</option>
316
                        <option value="all" [% 'SELECTED' IF results_per_page == 'all' %]>all</option>
317
                    </select>
318
                <!-- RESULTS_PER_PAGE END -->
319
                    <input type="submit" value="Go" />
305
            </form>
320
            </form>
306
            <h3>
321
            <h3>
307
                [% total %] result(s) found [% IF ( query_desc ) %]for <span style="font-weight: bold;">'[% query_desc |html %]'</span>[% END %][% IF limit_desc  %]&nbsp;with limit(s): <span style="font-weight: bold;">'[% limit_desc | html %]'</span>[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].<br />&nbsp;
322
                [% total %] result(s) found [% IF ( query_desc ) %]for <span style="font-weight: bold;">'[% query_desc |html %]'</span>[% END %][% IF limit_desc  %]&nbsp;with limit(s): <span style="font-weight: bold;">'[% limit_desc | html %]'</span>[% END %][% IF ( LibraryName ) %] in [% LibraryName %] Catalog[% END %].<br />&nbsp;
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt (+15 lines)
Lines 145-150 Link Here
145
                                    [% UNLESS tag %]
145
                                    [% UNLESS tag %]
146
                                        <div class="sort_by pull-right">
146
                                        <div class="sort_by pull-right">
147
                                            <select id="sort_by" class="resort" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select>
147
                                            <select id="sort_by" class="resort" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select>
148
149
                                            <label for="results_per_page">Results per page: </label>
150
                                            <select id="results_per_page" name="results_per_page">
151
                                                <option value="20" [% 'SELECTED' IF results_per_page == '20' %]>20</option>
152
                                                <option value="40" [% 'SELECTED' IF results_per_page == '40' %]>40</option>
153
                                                <option value="60" [% 'SELECTED' IF results_per_page == '60' %]>60</option>
154
                                                <option value="80" [% 'SELECTED' IF results_per_page == '80' %]>80</option>
155
                                                <option value="100" [% 'SELECTED' IF results_per_page == '100' %]>100</option>
156
                                                <option value="all" [% 'SELECTED' IF results_per_page == 'all' %]>all</option>
157
                                            </select>
158
148
                                            <input type="submit" class="btn btn-small clearfix" id="sortsubmit" value="Go" />
159
                                            <input type="submit" class="btn btn-small clearfix" id="sortsubmit" value="Go" />
149
                                        </div>
160
                                        </div>
150
                                    [% END %]
161
                                    [% END %]
Lines 778-783 $(document).ready(function(){ Link Here
778
    $('.resort').change(function() {
789
    $('.resort').change(function() {
779
        $('#bookbag_form').submit();
790
        $('#bookbag_form').submit();
780
    });
791
    });
792
    $('#results_per_page').change(function() {
793
        $.cookie('results_per_page', $(this).val());
794
        $('#bookbag_form').submit();
795
    });
781
    $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
796
    $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
782
    $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
797
    $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
783
798
(-)a/opac/opac-search.pl (-5 / +10 lines)
Lines 481-490 if ($params->{'limit-yr'}) { Link Here
481
my $scan = $params->{'scan'};
481
my $scan = $params->{'scan'};
482
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
482
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
483
my $countRSS         = C4::Context->preference('numSearchRSSResults') || 50;
483
my $countRSS         = C4::Context->preference('numSearchRSSResults') || 50;
484
my $results_per_page = $params->{'count'} || $count;
484
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
485
my $offset = $params->{'offset'} || 0;
486
my $page = $cgi->param('page') || 1;
485
my $page = $cgi->param('page') || 1;
487
$offset = ($page-1)*$results_per_page if $page>1;
486
my $offset = $results_per_page != 'all' ? ($page-1)*$results_per_page : 0;
488
my $hits;
487
my $hits;
489
my $expanded_facet = $params->{'expand'};
488
my $expanded_facet = $params->{'expand'};
490
489
Lines 565-570 if ($tag) { Link Here
565
    # FIXME: No facets for tags search.
564
    # FIXME: No facets for tags search.
566
} elsif ($build_grouped_results) {
565
} elsif ($build_grouped_results) {
567
    eval {
566
    eval {
567
        unless($results_per_page =~ /\d+/) { # all
568
            # pazpar2 expects $results_per_page to be an integer, we hack around
569
            # this by setting $results_per_page to the max value of a 32bit 
570
            # signed int - as defined by parpaz2 session.c:perform_termlist()
571
            $results_per_page = 2147483647;
572
        }
568
        ($error, $results_hashref, $facets) = C4::Search::pazGetRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$branches,$query_type,$scan);
573
        ($error, $results_hashref, $facets) = C4::Search::pazGetRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$branches,$query_type,$scan);
569
    };
574
    };
570
} else {
575
} else {
Lines 598-603 for (my $i=0;$i<@servers;$i++) { Link Here
598
    my $server = $servers[$i];
603
    my $server = $servers[$i];
599
    if ($server && $server =~/biblioserver/) { # this is the local bibliographic server
604
    if ($server && $server =~/biblioserver/) { # this is the local bibliographic server
600
        $hits = $results_hashref->{$server}->{"hits"};
605
        $hits = $results_hashref->{$server}->{"hits"};
606
        $results_per_page = $hits if $results_per_page == 'all';
601
        my $page = $cgi->param('page') || 0;
607
        my $page = $cgi->param('page') || 0;
602
        my @newresults;
608
        my @newresults;
603
        if ($build_grouped_results) {
609
        if ($build_grouped_results) {
Lines 750-756 for (my $i=0;$i<@servers;$i++) { Link Here
750
                $template->param(searchdesc => 1);
756
                $template->param(searchdesc => 1);
751
            }
757
            }
752
            $template->param(stopwords_removed => "@$stopwords_removed") if $stopwords_removed;
758
            $template->param(stopwords_removed => "@$stopwords_removed") if $stopwords_removed;
753
            $template->param(results_per_page =>  $results_per_page);
759
            $template->param(results_per_page =>  $results_per_page == $hits ? 'all' : $results_per_page);
754
            my $hide = C4::Context->preference('OpacHiddenItems');
760
            my $hide = C4::Context->preference('OpacHiddenItems');
755
            $hide = ($hide =~ m/\S/) if $hide; # Just in case it has some spaces/new lines
761
            $hide = ($hide =~ m/\S/) if $hide; # Just in case it has some spaces/new lines
756
            my $branch = '';
762
            my $branch = '';
757
- 

Return to bug 14715