@@ -, +, @@ au:{Author} AND ti:{Title} q=Author AND Title --- koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt @@ -914,14 +914,19 @@ var $overdrive_results = $( '
' + MSG_SEARCHING.format('OverDrive') + '
' ); $( '#numresults' ) .append( ' ' ) .append( $overdrive_results ); - KOHA.OverDrive.Search( "[% Koha.Preference('OverDriveLibraryID') | html %]", querystring, 1, 0, function( data ) { + //Clean querystring, first we remove CCL entities, then decode HTML entities, then swap double quotes for single quotes + //as the overdrive API treats double quotes as a search term and returns extra results + od_querystring = querystring.replace(/(?:^|\W)([\w-]+)(,[\w-]+)*([:=])/g,' '); + od_querystring = new DOMParser().parseFromString( od_querystring, 'text/html').body.innerText; + od_querystring = od_querystring.replace(/\"/g,"'"); + KOHA.OverDrive.Search( "[% Koha.Preference('OverDriveLibraryID') | html %]", od_querystring, 1, 0, function( data ) { if ( data.error ) { $overdrive_results.html( MSG_ERROR_SEARCHING_COLLECTION.format('OverDrive') ); return; } if ( data.totalItems ) { - $overdrive_results.html( '' + MSG_RESULTS_FOUND_IN_COLLECTION.format(data.totalItems, 'OverDrive') + '' ); + $overdrive_results.html( '' + MSG_RESULTS_FOUND_IN_COLLECTION.format(data.totalItems, 'OverDrive') + '' ); } else { $overdrive_results.remove(); } --