Bug 28784: Remove code related to num_paragraph cookie
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 3 Aug 2021 08:58:47 +0000 (10:58 +0200)
committerFridolin Somers <fridolin.somers@biblibre.com>
Wed, 25 Aug 2021 02:17:18 +0000 (16:17 -1000)
It could lead to server freeze if set to a big value (we are pushing
into an array and so RAM is being fulfilled, and CPU is looping).

I don't understand the point of this cookie.

        var numPar = $("#booleansearch fieldset p").size();
        if (numPar > [% search_boxes_count | html %]){
            jQuery.cookie("num_paragraph", numPar,{ path: '/'});
        }else{
            jQuery.removeCookie("num_paragraph", { path: '/'});
        }

But "#booleansearch fieldset p" does not exist, it's not 'p' but 'div'
elements.

I've removed the code related to num_paragraph and the "Return to the
last advanced search" feature still works as before.

From this comment:
    # determine what to display next to the search boxes (ie, boolean option
    # shouldn't appear on the first one, scan indexes should, adding a new
    # box should only appear on the last, etc.

The only bit that is not working as described is "adding a new box
should only appear on the last", but it has been working this way for
a long time already I think, and I don't see it as a bug.

Test plan:
Read the code, check that the above is correct.
Search for regression in this "return to last adv search" feature added
by bug 13307.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 18183bdf34d67e0a97b993ee06c996343c83cb84)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt
opac/opac-search.pl

index 44ea73af8d399de0d7ed40845f04d8ba706390bc..fde64ce68b1f725b93b1fd10985c508ee5c9e33e 100644 (file)
@@ -481,7 +481,6 @@ $(document).ready(function() {
         //Clear all form cookies
         jQuery.removeCookie("form_serialized", { path: '/'});
         jQuery.removeCookie("form_serialized_limits", { path: '/'});
-        jQuery.removeCookie("num_paragraph", { path: '/'});
         jQuery.removeCookie("search_path_code", { path: '/'});
     [% END %]
     $('#advsearch form').submit(function() {
@@ -507,16 +506,9 @@ $(document).ready(function() {
         ];
         jQuery.cookie("form_serialized_limits", form_serialized_limits,{ path: '/'});
         [% IF ( expanded_options ) %]
-        var numPar = $("#booleansearch fieldset p").size();
-        if (numPar > [% search_boxes_count | html %]){
-            jQuery.cookie("num_paragraph", numPar,{ path: '/'});
-        }else{
-            jQuery.removeCookie("num_paragraph", { path: '/'});
-        }
         jQuery.cookie("search_path_code", 'exs',{ path: '/'});
         [% ELSE %]
         jQuery.cookie("search_path_code", 'ads',{ path: '/'});
-        jQuery.removeCookie("num_paragraph", { path: '/'});
         [% END %]
     });
 
index f8dec66b04c7a08f71e1c151929120f3b3b6ad24..cd0e0ae12a43adc5cfc864d8d72f66e3716c0653 100755 (executable)
@@ -325,50 +325,12 @@ if ( $template_type && $template_type eq 'advsearch' ) {
         $template->param( sort_by => $default_sort_by );
     }
 
-    # determine what to display next to the search boxes (ie, boolean option
-    # shouldn't appear on the first one, scan indexes should, adding a new
-    # box should only appear on the last, etc.
-    my @search_boxes_array;
-    my $search_boxes_count = 3; # begin with 3 boxes
-    $template->param( search_boxes_count => $search_boxes_count );
-
-    if ($cgi->cookie("num_paragraph")){
-        $search_boxes_count = $cgi->cookie("num_paragraph");
-    }
-
-    for (my $i=1;$i<=$search_boxes_count;$i++) {
-        # if it's the first one, don't display boolean option, but show scan indexes
-        if ($i==1) {
-            push @search_boxes_array,
-                {
-                scan_index => 1,
-                };
-        
-        }
-        # if it's the last one, show the 'add field' box
-        elsif ($i==$search_boxes_count) {
-            push @search_boxes_array,
-                {
-                boolean => 1,
-                add_field => 1,
-                };
-        }
-        else {
-            push @search_boxes_array,
-                {
-                boolean => 1,
-                };
-        }
-
-    }
-
     my @advsearch_limits = split /,/, C4::Context->preference('OpacAdvSearchOptions');
     my @advsearch_more_limits = split /,/,
       C4::Context->preference('OpacAdvSearchMoreOptions');
     $template->param(
         uc( C4::Context->preference("marcflavour") ) => 1,    # we already did this for UNIMARC
         advsearch         => 1,
-        search_boxes_loop => \@search_boxes_array,
         OpacAdvSearchOptions     => \@advsearch_limits,
         OpacAdvSearchMoreOptions => \@advsearch_more_limits,
     );