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 445-458 for (my $ii = 0; $ii < @operands; ++$ii) Link Here
445
# Params that can only have one value
444
# Params that can only have one value
446
my $scan = $params->{'scan'};
445
my $scan = $params->{'scan'};
447
my $count = C4::Context->preference('numSearchResults') || 20;
446
my $count = C4::Context->preference('numSearchResults') || 20;
448
my @results_per_page_options = grep /^\d+$/,
447
my $results_per_page = $count;
449
                               map {s/\s+//g;$_;}
448
if ( C4::Context->preference('numSearchResultsDropdown') ){
450
                               split /,/, C4::Context->preference('numSearchResultsPerPage');
449
    $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page");
451
push(@results_per_page_options, $count);
450
}
452
@results_per_page_options = do { my %seen; grep { !$seen{$_}++ } @results_per_page_options };
453
@results_per_page_options = sort {$a <=> $b} @results_per_page_options;
454
455
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
456
my $page = $cgi->param('page') || 1;
451
my $page = $cgi->param('page') || 1;
457
my $offset = $params->{'offset'} || 0;
452
my $offset = $params->{'offset'} || 0;
458
$offset = 0 if $offset < 0;
453
$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 14-20 Link Here
14
[% ELSE %]
14
[% ELSE %]
15
    [% SET DetailPage="detail.pl" %]
15
    [% SET DetailPage="detail.pl" %]
16
[% END %]
16
[% END %]
17
<<<<<<< HEAD
18
[% INCLUDE 'doc-head-open.inc' %]
17
[% INCLUDE 'doc-head-open.inc' %]
19
<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>
18
<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>
20
[% INCLUDE 'doc-head-close.inc' %]
19
[% INCLUDE 'doc-head-close.inc' %]
Lines 76-89 Link Here
76
                    </select>
75
                    </select>
77
                <!-- RESORT END -->
76
                <!-- RESORT END -->
78
                <!-- RESULTS_PER_PAGE START -->
77
                <!-- RESULTS_PER_PAGE START -->
78
                [% IF Koha.Preference('numSearchResultsDropdown') %]
79
                    <label for="results_per_page">Results per page: </label>
79
                    <label for="results_per_page">Results per page: </label>
80
                    <select id="results_per_page" name="results_per_page">
80
                    <select id="results_per_page" name="results_per_page">
81
                        [% 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 %]
81
                        [% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
82
                        [% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
82
                        [% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
83
                        [% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
83
                        [% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
84
                        [% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
84
                        [% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
85
                        [% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
85
                        [% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
86
                        [% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
86
                    </select>
87
                    </select>
88
                [% END %]
87
                <!-- RESULTS_PER_PAGE END -->
89
                <!-- RESULTS_PER_PAGE END -->
88
                    <input type="submit" value="Go" />
90
                    <input type="submit" value="Go" />
89
            </form>
91
            </form>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt (-2 / +3 lines)
Lines 147-162 Link Here
147
                                    [% UNLESS tag %]
147
                                    [% UNLESS tag %]
148
                                        <div class="sort_by pull-right">
148
                                        <div class="sort_by pull-right">
149
                                            <select id="sort_by" class="resort" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select>
149
                                            <select id="sort_by" class="resort" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select>
150
150
                                        [% IF Koha.Preference('OPACnumSearchResultsDropdown') %]
151
                                            <label for="results_per_page">Results per page: </label>
151
                                            <label for="results_per_page">Results per page: </label>
152
                                            <select id="results_per_page" name="results_per_page">
152
                                            <select id="results_per_page" name="results_per_page">
153
                                                [% 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 %]
153
                                                [% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
154
                                                [% IF results_per_page == '20' %]<option value="20" selected="selected">20</option>[% ELSE %]<option value="20">20</option>[% END %]
154
                                                [% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
155
                                                [% IF results_per_page == '40' %]<option value="40" selected="selected">40</option>[% ELSE %]<option value="40">40</option>[% END %]
155
                                                [% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
156
                                                [% IF results_per_page == '60' %]<option value="60" selected="selected">60</option>[% ELSE %]<option value="60">60</option>[% END %]
156
                                                [% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
157
                                                [% IF results_per_page == '80' %]<option value="80" selected="selected">80</option>[% ELSE %]<option value="80">80</option>[% END %]
157
                                                [% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
158
                                                [% IF results_per_page == '100' %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
158
                                            </select>
159
                                            </select>
159
160
                                        [% END %]
160
                                            <input type="submit" class="btn btn-small clearfix" id="sortsubmit" value="Go" />
161
                                            <input type="submit" class="btn btn-small clearfix" id="sortsubmit" value="Go" />
161
                                        </div>
162
                                        </div>
162
                                    [% END %]
163
                                    [% END %]
(-)a/opac/opac-search.pl (-3 / +5 lines)
Lines 519-525 if ($params->{'limit-yr'}) { Link Here
519
my $scan = $params->{'scan'};
519
my $scan = $params->{'scan'};
520
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
520
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
521
my $countRSS         = C4::Context->preference('numSearchRSSResults') || 50;
521
my $countRSS         = C4::Context->preference('numSearchRSSResults') || 50;
522
my $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page") || $count;
522
my $results_per_page = $count;
523
if ( C4::Context->preference('OPACnumSearchResultsDropdown') ){
524
    $results_per_page = $params->{'results_per_page'} || $cgi->cookie("results_per_page");
525
}
523
my $page = $cgi->param('page') || 1;
526
my $page = $cgi->param('page') || 1;
524
my $offset = $params->{'offset'} || 0;
527
my $offset = $params->{'offset'} || 0;
525
$offset = 0 if $offset < 0;
528
$offset = 0 if $offset < 0;
Lines 596-602 if ($tag) { Link Here
596
    # FIXME: No facets for tags search.
599
    # FIXME: No facets for tags search.
597
} elsif ($build_grouped_results) {
600
} elsif ($build_grouped_results) {
598
    eval {
601
    eval {
599
        ($error, $results_hashref, $facets) = C4::Search::pazGetRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$query_type,$scan);
602
        ($error, $results_hashref, $facets) = C4::Search::pazGetRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,undef,$query_type,$scan);
600
    };
603
    };
601
} else {
604
} else {
602
    $pasarParams .= '&amp;query=' . uri_escape_utf8($query);
605
    $pasarParams .= '&amp;query=' . uri_escape_utf8($query);
603
- 

Return to bug 14715