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

(-)a/catalogue/search.pl (-9 / +4 lines)
Lines 148-154 use C4::Koha; Link Here
148
use URI::Escape;
148
use URI::Escape;
149
use POSIX qw(ceil floor);
149
use POSIX qw(ceil floor);
150
use C4::Search::History;
150
use C4::Search::History;
151
use String::Random;
152
use Koha::ItemTypes;
151
use Koha::ItemTypes;
153
use Koha::Library::Groups;
152
use Koha::Library::Groups;
154
use Koha::Patrons;
153
use Koha::Patrons;
Lines 454-467 for (my $ii = 0; $ii < @operands; ++$ii) Link Here
454
# Params that can only have one value
453
# Params that can only have one value
455
my $scan = $params->{'scan'};
454
my $scan = $params->{'scan'};
456
my $count = C4::Context->preference('numSearchResults') || 20;
455
my $count = C4::Context->preference('numSearchResults') || 20;
457
my @results_per_page_options = grep /^\d+$/,
456
my $results_per_page = $count;
458
                               map {s/\s+//g;$_;}
457
if ( C4::Context->preference('numSearchResultsDropdown') ){
459
                               split /,/, C4::Context->preference('numSearchResultsPerPage');
458
    $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page");
460
push(@results_per_page_options, $count);
459
}
461
@results_per_page_options = do { my %seen; grep { !$seen{$_}++ } @results_per_page_options };
462
@results_per_page_options = sort {$a <=> $b} @results_per_page_options;
463
464
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
465
my $page = $cgi->param('page') || 1;
460
my $page = $cgi->param('page') || 1;
466
my $offset = $params->{'offset'} || 0;
461
my $offset = $params->{'offset'} || 0;
467
$offset = 0 if $offset < 0;
462
$offset = 0 if $offset < 0;
(-)a/installer/data/mysql/atomicupdate/bug_14715-searchresults_syspref.sql (-2 lines)
Lines 1-2 Link Here
1
INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`,`type`) VALUES ('OPACnumSearchResultsPerPage', '10,20,40,60,80,100', NULL, 'Option list of number of results per page to show in OPAC search results','YesNo');
2
INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`,`type`) VALUES ('numSearchResultsPerPage', '10,20,40,60,80,100', NULL, 'Option list of number of results per page to show in staff client search results','YesNo');
(-)a/installer/data/mysql/atomicupdate/bug_14715_-_results_per_page_dropdown_sysprefs.sql (+3 lines)
Line 0 Link Here
1
INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`,`type`) VALUES
2
('OPACnumSearchResultsDropdown', 0, NULL, 'Option list of number of results per page to show in OPAC search results','YesNo'),
3
('numSearchResultsDropdown', 0, NULL, 'Option list of number of results per page to show in staff client search results','YesNo');
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref (+16 lines)
Lines 132-137 Searching: Link Here
132
            - 'the operator "phr" in the callnumber and standard number staff client searches'
132
            - 'the operator "phr" in the callnumber and standard number staff client searches'
133
    Results Display:
133
    Results Display:
134
        -
134
        -
135
            - pref: numSearchResultsDropdown
136
              type: boolean
137
              default: no
138
              choices:
139
                  yes: Show
140
                  no: "Don't show"
141
            - results per page dropdown on staff client search results.
142
        -
143
            - pref: OPACnumSearchResultsDropdown
144
              type: boolean
145
              default: no
146
              choices:
147
                  yes: Show
148
                  no: "Don't show"
149
            - results per page dropdown on OPAC search results.
150
        -
135
            - By default, sort search results in the staff client by
151
            - By default, sort search results in the staff client by
136
            - pref: defaultSortField
152
            - pref: defaultSortField
137
              default: relevance
153
              default: relevance
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt (-1 / +3 lines)
Lines 17-23 Link Here
17
[% ELSE %]
17
[% ELSE %]
18
    [% SET DetailPage="detail.pl" %]
18
    [% SET DetailPage="detail.pl" %]
19
[% END %]
19
[% END %]
20
<<<<<<< HEAD
21
[% INCLUDE 'doc-head-open.inc' %]
20
[% INCLUDE 'doc-head-open.inc' %]
22
<title>Koha &rsaquo; Catalog &rsaquo; [% IF ( searchdesc ) %]Results of search [% IF ( query_desc ) %]for '[% query_desc | html %]'[% END %][% IF ( limit_desc ) %]&nbsp;with limit(s):&nbsp;'[% limit_desc | html %]'[% END %][% ELSE %]You did not specify any search criteria[% END %]</title>
21
<title>Koha &rsaquo; Catalog &rsaquo; [% IF ( searchdesc ) %]Results of search [% IF ( query_desc ) %]for '[% query_desc | html %]'[% END %][% IF ( limit_desc ) %]&nbsp;with limit(s):&nbsp;'[% limit_desc | html %]'[% END %][% ELSE %]You did not specify any search criteria[% END %]</title>
23
[% INCLUDE 'doc-head-close.inc' %]
22
[% INCLUDE 'doc-head-close.inc' %]
Lines 79-92 Link Here
79
                    </select>
78
                    </select>
80
                <!-- RESORT END -->
79
                <!-- RESORT END -->
81
                <!-- RESULTS_PER_PAGE START -->
80
                <!-- RESULTS_PER_PAGE START -->
81
                [% IF Koha.Preference('numSearchResultsDropdown') %]
82
                    <label for="results_per_page">Results per page: </label>
82
                    <label for="results_per_page">Results per page: </label>
83
                    <select id="results_per_page" name="results_per_page">
83
                    <select id="results_per_page" name="results_per_page">
84
                        [% IF Koha.Preference('numSearchResults') %]<option value="[% Koha.Preference('numSearchResults') %]" selected="selected">Library default: [% Koha.Preference('numSearchResults') %]</option>[% ELSE %]<option value="[% Koha.Preference('numSearchResults') %]">Library default: [% Koha.Preference('numSearchResults') %]</option>[% END %]
84
                        [% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
85
                        [% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
85
                        [% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
86
                        [% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
86
                        [% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
87
                        [% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
87
                        [% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
88
                        [% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
88
                        [% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
89
                        [% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
89
                    </select>
90
                    </select>
91
                [% END %]
90
                <!-- RESULTS_PER_PAGE END -->
92
                <!-- RESULTS_PER_PAGE END -->
91
                    <input type="submit" value="Go" />
93
                    <input type="submit" value="Go" />
92
            </form>
94
            </form>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt (-2 / +3 lines)
Lines 164-179 Link Here
164
                                    [% UNLESS tag %]
164
                                    [% UNLESS tag %]
165
                                        <div class="sort_by pull-right">
165
                                        <div class="sort_by pull-right">
166
                                            <select id="sort_by" class="resort" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select>
166
                                            <select id="sort_by" class="resort" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select>
167
167
                                        [% IF Koha.Preference('OPACnumSearchResultsDropdown') %]
168
                                            <label for="results_per_page">Results per page: </label>
168
                                            <label for="results_per_page">Results per page: </label>
169
                                            <select id="results_per_page" name="results_per_page">
169
                                            <select id="results_per_page" name="results_per_page">
170
                                                [% IF Koha.Preference('OPACnumSearchResults') %]<option value="[% Koha.Preference('OPACnumSearchResults') %]" selected="selected">Library default: [% Koha.Preference('OPACnumSearchResults') %]</option>[% ELSE %]<option value="[% Koha.Preference('OPACnumSearchResults') %]">Library default: [% Koha.Preference('OPACnumSearchResults') %]</option>[% END %]
170
                                                [% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
171
                                                [% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
171
                                                [% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
172
                                                [% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
172
                                                [% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
173
                                                [% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
173
                                                [% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
174
                                                [% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
174
                                                [% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
175
                                                [% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
175
                                            </select>
176
                                            </select>
176
177
                                        [% END %]
177
                                            <input type="submit" class="btn btn-small clearfix" id="sortsubmit" value="Go" />
178
                                            <input type="submit" class="btn btn-small clearfix" id="sortsubmit" value="Go" />
178
                                        </div>
179
                                        </div>
179
                                    [% END %]
180
                                    [% END %]
(-)a/opac/opac-search.pl (-3 / +5 lines)
Lines 523-529 if ($params->{'limit-yr'}) { Link Here
523
my $scan = $params->{'scan'};
523
my $scan = $params->{'scan'};
524
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
524
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
525
my $countRSS         = C4::Context->preference('numSearchRSSResults') || 50;
525
my $countRSS         = C4::Context->preference('numSearchRSSResults') || 50;
526
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
526
my $results_per_page = $count;
527
if ( C4::Context->preference('OPACnumSearchResultsDropdown') ){
528
    $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page");
529
}
527
my $page = $cgi->param('page') || 1;
530
my $page = $cgi->param('page') || 1;
528
my $offset = $params->{'offset'} || 0;
531
my $offset = $params->{'offset'} || 0;
529
$offset = 0 if $offset < 0;
532
$offset = 0 if $offset < 0;
Lines 603-609 if ($tag) { Link Here
603
    # FIXME: No facets for tags search.
606
    # FIXME: No facets for tags search.
604
} elsif ($build_grouped_results) {
607
} elsif ($build_grouped_results) {
605
    eval {
608
    eval {
606
        ($error, $results_hashref, $facets) = C4::Search::pazGetRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$query_type,$scan);
609
        ($error, $results_hashref, $facets) = C4::Search::pazGetRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,undef,$query_type,$scan);
607
    };
610
    };
608
} else {
611
} else {
609
    $pasarParams .= '&amp;query=' . uri_escape_utf8($query);
612
    $pasarParams .= '&amp;query=' . uri_escape_utf8($query);
610
- 

Return to bug 14715