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

(-)a/C4/Search.pm (-2 / +2 lines)
Lines 443-449 sub getRecords { Link Here
443
                # loop through the results
443
                # loop through the results
444
                $results_hash->{'hits'} = $size;
444
                $results_hash->{'hits'} = $size;
445
                my $times;
445
                my $times;
446
                if ( $offset + $results_per_page <= $size ) {
446
                if ( $results_per_page != 'all' && ($offset + $results_per_page <= $size) ) {
447
                    $times = $offset + $results_per_page;
447
                    $times = $offset + $results_per_page;
448
                }
448
                }
449
                else {
449
                else {
Lines 1873-1879 sub searchResults { Link Here
1873
1873
1874
    # handle which records to actually retrieve
1874
    # handle which records to actually retrieve
1875
    my $times;
1875
    my $times;
1876
    if ( $hits && $offset + $results_per_page <= $hits ) {
1876
    if ( $hits && $results_per_page != 'all' && ($offset + $results_per_page <= $hits) ) {
1877
        $times = $offset + $results_per_page;
1877
        $times = $offset + $results_per_page;
1878
    }
1878
    }
1879
    else {
1879
    else {
(-)a/catalogue/search.pl (-4 / +4 lines)
Lines 451-460 for (my $ii = 0; $ii < @operands; ++$ii) Link Here
451
# Params that can only have one value
451
# Params that can only have one value
452
my $scan = $params->{'scan'};
452
my $scan = $params->{'scan'};
453
my $count = C4::Context->preference('numSearchResults') || 20;
453
my $count = C4::Context->preference('numSearchResults') || 20;
454
my $results_per_page = $params->{'count'} || $count;
454
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
455
my $offset = $params->{'offset'} || 0;
456
my $page = $cgi->param('page') || 1;
455
my $page = $cgi->param('page') || 1;
457
#my $offset = ($page-1)*$results_per_page;
456
my $offset = $results_per_page != 'all' ? ($page-1)*$results_per_page : 0;
458
my $hits;
457
my $hits;
459
my $expanded_facet = $params->{'expand'};
458
my $expanded_facet = $params->{'expand'};
460
459
Lines 541-546 for (my $i=0;$i<@servers;$i++) { Link Here
541
    my $server = $servers[$i];
540
    my $server = $servers[$i];
542
    if ($server =~/biblioserver/) { # this is the local bibliographic server
541
    if ($server =~/biblioserver/) { # this is the local bibliographic server
543
        $hits = $results_hashref->{$server}->{"hits"};
542
        $hits = $results_hashref->{$server}->{"hits"};
543
        $results_per_page = $hits if $results_per_page == 'all';
544
        my $page = $cgi->param('page') || 0;
544
        my $page = $cgi->param('page') || 0;
545
        my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan,
545
        my @newresults = searchResults('intranet', $query_desc, $hits, $results_per_page, $offset, $scan,
546
                                       $results_hashref->{$server}->{"RECORDS"});
546
                                       $results_hashref->{$server}->{"RECORDS"});
Lines 604-610 for (my $i=0;$i<@servers;$i++) { Link Here
604
            if ($query_desc || $limit_desc) {
604
            if ($query_desc || $limit_desc) {
605
                $template->param(searchdesc => 1);
605
                $template->param(searchdesc => 1);
606
            }
606
            }
607
            $template->param(results_per_page =>  $results_per_page);
607
            $template->param(results_per_page =>  $results_per_page == $hits ? 'all' : $results_per_page);
608
            # must define a value for size if not present in DB
608
            # must define a value for size if not present in DB
609
            # in order to avoid problems generated by the default size value in TT
609
            # in order to avoid problems generated by the default size value in TT
610
            foreach my $line (@newresults) {
610
            foreach my $line (@newresults) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt (-4 / +19 lines)
Lines 95-103 $("#forgetholdfor").click(function(){ Link Here
95
    $(".btn-group").removeClass("open");
95
    $(".btn-group").removeClass("open");
96
    return false;
96
    return false;
97
});
97
});
98
$('#sortbyform').find("input:submit").hide();
98
$('#resultoptionsform').find("input:submit").hide();
99
$('#sort_by').change(function() {
99
$('#sort_by').change(function() {
100
        $('#sortbyform').submit();
100
        $('#resultoptionsform').submit();
101
    });
102
$('#results_per_page').change(function() {
103
        $.cookie('results_per_page', $(this).val());
104
        $('#resultoptionsform').submit();
101
    });
105
    });
102
        var param1 = "<label for=\"addto\">"+_("Add to:")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
106
        var param1 = "<label for=\"addto\">"+_("Add to:")+"<\/label><select name=\"addto\" id=\"addto\"><option value=\"\"><\/option>";
103
        [% IF ( intranetbookbag ) %]     param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>"; [% END %]
107
        [% IF ( intranetbookbag ) %]     param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>"; [% END %]
Lines 342-348 var holdForPatron = function () { Link Here
342
346
343
    [% IF ( total ) %]
347
    [% IF ( total ) %]
344
        <div id="searchheader">
348
        <div id="searchheader">
345
            <form action="/cgi-bin/koha/catalogue/search.pl" method="get" id="sortbyform">
349
            <form action="/cgi-bin/koha/catalogue/search.pl" method="get" id="resultoptionsform">
346
                [% IF ( searchdesc ) %]
350
                [% IF ( searchdesc ) %]
347
                    [% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
351
                    [% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
348
                    <input type="hidden" name="[% QUERY_INPUT.input_name |html %]" value="[% QUERY_INPUT.input_value |html %]"/>
352
                    <input type="hidden" name="[% QUERY_INPUT.input_name |html %]" value="[% QUERY_INPUT.input_value |html %]"/>
Lines 356-363 var holdForPatron = function () { Link Here
356
                    <select id="sort_by" name="sort_by">
360
                    <select id="sort_by" name="sort_by">
357
                    [% INCLUDE 'resort_form.inc' %]
361
                    [% INCLUDE 'resort_form.inc' %]
358
                    </select>
362
                    </select>
359
                    <input type="submit" value="Go" />
360
                <!-- RESORT END -->
363
                <!-- RESORT END -->
364
                <!-- RESULTS_PER_PAGE START -->
365
                    <label for="results_per_page">Results per page: </label>
366
                    <select id="results_per_page" name="results_per_page">
367
                        <option value="20" [% 'SELECTED' IF results_per_page == '20' %]>20</option>
368
                        <option value="40" [% 'SELECTED' IF results_per_page == '40' %]>40</option>
369
                        <option value="60" [% 'SELECTED' IF results_per_page == '60' %]>60</option>
370
                        <option value="80" [% 'SELECTED' IF results_per_page == '80' %]>80</option>
371
                        <option value="100" [% 'SELECTED' IF results_per_page == '100' %]>100</option>
372
                        <option value="all" [% 'SELECTED' IF results_per_page == 'all' %]>all</option>
373
                    </select>
374
                <!-- RESULTS_PER_PAGE END -->
375
                    <input type="submit" value="Go" />
361
            </form>
376
            </form>
362
            <h3>
377
            <h3>
363
                [% 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;
378
                [% 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 786-791 $(document).ready(function(){ Link Here
786
    $('.resort').change(function() {
797
    $('.resort').change(function() {
787
        $('#bookbag_form').submit();
798
        $('#bookbag_form').submit();
788
    });
799
    });
800
    $('#results_per_page').change(function() {
801
        $.cookie('results_per_page', $(this).val());
802
        $('#bookbag_form').submit();
803
    });
789
    $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
804
    $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
790
    $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
805
    $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
791
806
(-)a/opac/opac-search.pl (-6 / +11 lines)
Lines 522-531 if ($params->{'limit-yr'}) { Link Here
522
my $scan = $params->{'scan'};
522
my $scan = $params->{'scan'};
523
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
523
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
524
my $countRSS         = C4::Context->preference('numSearchRSSResults') || 50;
524
my $countRSS         = C4::Context->preference('numSearchRSSResults') || 50;
525
my $results_per_page = $params->{'count'} || $count;
525
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
526
my $offset = $params->{'offset'} || 0;
527
my $page = $cgi->param('page') || 1;
526
my $page = $cgi->param('page') || 1;
528
$offset = ($page-1)*$results_per_page if $page>1;
527
my $offset = $results_per_page != 'all' ? ($page-1)*$results_per_page : 0;
529
my $hits;
528
my $hits;
530
my $expanded_facet = $params->{'expand'};
529
my $expanded_facet = $params->{'expand'};
531
530
Lines 607-613 if ($tag) { Link Here
607
    # FIXME: No facets for tags search.
606
    # FIXME: No facets for tags search.
608
} elsif ($build_grouped_results) {
607
} elsif ($build_grouped_results) {
609
    eval {
608
    eval {
610
        ($error, $results_hashref, $facets) = C4::Search::pazGetRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,undef,$query_type,$scan);
609
        unless($results_per_page =~ /\d+/) { # all
610
            # pazpar2 expects $results_per_page to be an integer, we hack around
611
            # this by setting $results_per_page to the max value of a 32bit
612
            # signed int - as defined by parpaz2 session.c:perform_termlist()
613
            $results_per_page = 2147483647;
614
        }
615
        ($error, $results_hashref, $facets) = C4::Search::pazGetRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$branches,$query_type,$scan);
611
    };
616
    };
612
} else {
617
} else {
613
    $pasarParams .= '&amp;query=' . uri_escape_utf8($query);
618
    $pasarParams .= '&amp;query=' . uri_escape_utf8($query);
Lines 633-638 for (my $i=0;$i<@servers;$i++) { Link Here
633
    my $server = $servers[$i];
638
    my $server = $servers[$i];
634
    if ($server && $server =~/biblioserver/) { # this is the local bibliographic server
639
    if ($server && $server =~/biblioserver/) { # this is the local bibliographic server
635
        $hits = $results_hashref->{$server}->{"hits"};
640
        $hits = $results_hashref->{$server}->{"hits"};
641
        $results_per_page = $hits if $results_per_page == 'all';
636
        my $page = $cgi->param('page') || 0;
642
        my $page = $cgi->param('page') || 0;
637
        my @newresults;
643
        my @newresults;
638
        if ($build_grouped_results) {
644
        if ($build_grouped_results) {
Lines 789-795 for (my $i=0;$i<@servers;$i++) { Link Here
789
            if ($query_desc || $limit_desc) {
795
            if ($query_desc || $limit_desc) {
790
                $template->param(searchdesc => 1);
796
                $template->param(searchdesc => 1);
791
            }
797
            }
792
            $template->param(results_per_page =>  $results_per_page);
798
            $template->param(results_per_page =>  $results_per_page == $hits ? 'all' : $results_per_page);
793
            my $hide = C4::Context->preference('OpacHiddenItems');
799
            my $hide = C4::Context->preference('OpacHiddenItems');
794
            $hide = ($hide =~ m/\S/) if $hide; # Just in case it has some spaces/new lines
800
            $hide = ($hide =~ m/\S/) if $hide; # Just in case it has some spaces/new lines
795
            my $branch = '';
801
            my $branch = '';
796
- 

Return to bug 14715