Bug 8646 - prevent the highlighter from going infinite loop
On certain search queries, for example http://koha-intra/cgi-bin/koha/catalogue/search.pl?kw=idx&q=ti:book%20 the highlighter starts going into an infinite loop until the browser decides to kill it. This patch prevents the bad input going to the highlighter. It also includes the fix on the OPAC, even though the issue doesn't come up there. Better to be safe... Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This commit is contained in:
parent
e521c8323a
commit
e9e95e218f
|
|
@ -96,6 +96,11 @@ $(".addtocart").show();
|
|||
toHighlight = $("p,span.results_summary,a.title");
|
||||
var query_desc = "[% query_desc |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
|
||||
q_array = query_desc.split(" ");
|
||||
// ensure that we don't have "" at the end of the array, which can
|
||||
// break the highlighter
|
||||
while (q_array.length > 0 && q_array[q_array.length-1] == "") {
|
||||
q_array = q_array.splice(0,-1);
|
||||
}
|
||||
highlightOn();
|
||||
$("#highlight_toggle_on" ).hide().click(function() {highlightOn() ;});
|
||||
$("#highlight_toggle_off").show().click(function() {highlightOff();});
|
||||
|
|
|
|||
|
|
@ -58,6 +58,11 @@ $(document).ready(function(){
|
|||
[% IF ( query_desc ) %]
|
||||
var query_desc = "[% query_desc |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
|
||||
q_array = query_desc.split(" ");
|
||||
// ensure that we don't have "" at the end of the array, which can
|
||||
// break the highlighter
|
||||
while (q_array.length > 0 && q_array[q_array.length-1] == "") {
|
||||
q_array = q_array.splice(0,-1);
|
||||
}
|
||||
highlightOn();
|
||||
$("#highlight_toggle_on" ).hide().click(function() {highlightOn() ;});
|
||||
$("#highlight_toggle_off").show().click(function() {highlightOff();});
|
||||
|
|
|
|||
|
|
@ -203,6 +203,11 @@ $(document).ready(function(){
|
|||
|
||||
[% IF ( query_desc ) %][% IF ( OpacHighlightedWords ) %]var query_desc = "[% query_desc |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
|
||||
q_array = query_desc.split(" ");
|
||||
// ensure that we don't have "" at the end of the array, which can
|
||||
// break the highlighter
|
||||
while (q_array.length > 0 && q_array[q_array.length-1] == "") {
|
||||
q_array = q_array.splice(0,-1);
|
||||
}
|
||||
highlightOn();
|
||||
$("#highlight_toggle_on" ).hide().click(function() {highlightOn() ;});
|
||||
$("#highlight_toggle_off").show().click(function() {highlightOff();});[% END %][% END %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue