Bug 7316 - Missing escaping in search results
[koha.git] / koha-tmpl / opac-tmpl / prog / en / modules / opac-results-grouped.tt
1 [% INCLUDE 'doc-head-open.inc' %]
2 [% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog ›
3 [% IF ( searchdesc ) %]
4         Results of Search [% IF ( query_desc ) %]for '[% query_desc | html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc | html %]'[% END %]
5 [% ELSE %]
6     You did not specify any search criteria.
7 [% END %]
8 [% INCLUDE 'doc-head-close.inc' %]
9 <link rel="alternate" type="application/rss+xml" title="Koha - RSS"
10 href="/cgi-bin/koha/opac-rss.pl?[% query_cgi %][% limit_cgi |html %]" />
11 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
12 <script type="text/javascript">
13 //<![CDATA[
14
15 var q_array = new Array();  // will hold the search terms, if possible
16
17 $(document).ready(function(){
18         $('#sortsubmit').hide();
19     $('#sort_by').change(function() {
20         $('#bookbag_form').submit();
21     });
22         $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">Clear All</a>");
23         $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">Select All</a>");
24         $("span.addto").html("<label for=\"addto\">Add to: </label><select name=\"addto\" id=\"addto\"><option value=\"\"></option>[% IF ( opacbookbag ) %]<option value=\"addtocart\">Cart</option>[% END %][% IF ( virtualshelves ) %][% IF ( loggedinusername ) %]<optgroup label=\"Lists:\">[% IF ( barshelves ) %][% FOREACH barshelvesloo IN barshelvesloop %][% IF ( category == 1 ) %]<option id=\"s[% barshelvesloo.shelfnumber %]\" value=\"addtolist\">[% barshelvesloo.shelfname %]</option>[% END %][% END %][% END %]<option value=\"newlist\">[ New List ]</option></optgroup>[% ELSE %]<option value=\"newlist\">List</option>[% END %][% END %]</select> <input type=\"submit\" class=\"submit\" value=\"Save\" />");
25         $("#addto").change(function(){
26                 cartList();
27         });
28         $(".addto").find("input:submit").click(function(){
29                 cartList();
30                 return false;
31         });
32         function cartList(){
33                         if($("#addto").find("option:selected").attr("value") == "addtolist"){
34                         var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
35                         [% IF ( loggedinusername ) %]if (vShelfAdd()) {
36                         Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?selectedshelf='+shelfnumber+'&' + vShelfAdd());
37                         }[% ELSE %] alert(_('You must be logged in to create or add to Lists')); [% END %]
38                         return false;
39                 } else if($("#addto").find("option:selected").attr("value") == "newlist"){
40                         [% IF ( loggedinusername ) %]if (vShelfAdd()) {
41                         Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?newshelf=1&' + vShelfAdd());
42                         }[% ELSE %] alert(_('You must be logged in to create or add to Lists')); [% END %]
43                         return false;
44                 }
45                 if($("#addto").find("option:selected").attr("value") == "addtocart"){
46                         addMultiple();
47                         return false;
48                  }
49         }
50     $("#CheckAll").click(function(){
51         $("#bookbag_form").checkCheckboxes();
52         return false;
53     });
54     $("#CheckNone").click(function(){
55         $("#bookbag_form").unCheckCheckboxes();
56         return false;
57     });
58     [% IF ( query_desc ) %]
59     var query_desc = "[% query_desc |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
60     q_array = query_desc.split(" ");
61     highlightOn();
62     $("#highlight_toggle_on" ).hide().click(function() {highlightOn() ;});
63     $("#highlight_toggle_off").show().click(function() {highlightOff();});
64     [% END %]
65 });
66
67 function highlightOff() {
68     $("td").removeHighlight();
69     $(".highlight_toggle").toggle();
70 }
71 function highlightOn() {
72     var x;
73     for (x in q_array) {
74         $("td").highlight(q_array[x]);
75     }
76     $(".highlight_toggle").toggle();
77 }
78 //]]>
79 </script>
80 </head>
81 <body id="results">
82 [% INCLUDE 'masthead.inc' %]
83
84 <div id="doc3" class="yui-t1">
85    <div id="bd">
86
87         <div id="yui-main">
88
89         <div class="yui-b">
90   [% IF ( koha_spsuggest ) %]
91         Did you mean:
92     <ul style="list-style: none;">
93         [% FOREACH SPELL_SUGGES IN SPELL_SUGGEST %]
94         <li>
95             <a href="/cgi-bin/koha/opac-search.pl?q=[% SPELL_SUGGES.spsuggestion %]">[% SPELL_SUGGES.spsuggestion %]</a>
96         </li>
97         [% END %]
98     </ul>
99 [% END %]
100
101 [% IF ( query_error ) %]
102 <div class="dialog alert">
103         <h4>Error:</h4>
104     [% query_error %]
105 </div>
106 [% END %]
107
108 <!-- Search Results Table -->
109 [% IF ( total ) %]
110 [% IF ( scan ) %]
111     <h1>Scan Index:</h1>
112     <form action="/cgi-bin/koha/opac-search.pl" method="get">
113         <table>
114             <tr>
115                 <td>
116                     Scan Index for: <input type="text" name="q" id="scan-index" size="35" value="" />
117                 </td>
118             </tr>
119             <tr>
120                 <td>
121                     <label for="scan-index">Indexed in:</label>
122                     <select name="idx" id="scan-index">
123                         <option value="">Any Word</option>
124                         <option value="kw,phr:">Any Phrase</option>
125                         <option value="ti:">Title</option>
126                         <option value="ti,phr:">Title Phrase</option>
127                         <option value="au,phr:">Author</option>
128                         <option value="su:">Subject</option>
129                         <option value="su,phr:">Subject Phrase</option>
130                         <option value="se:">Series</option>
131                         <option value="pb:">Publisher</option>
132                         <option value="nt:">Notes</option>
133                         <option value="se:">Series Title</option>
134                         <option value="sn:">ISBN</option>
135                         <option value="ss:">ISSN</option>
136                     </select>
137                     <input type="hidden" name="scan" value="1" />
138                 </td>
139             </tr>
140         </table>
141     </form>
142
143     <form action="/cgi-bin/koha/opac-search.pl" method="get">
144         <table>
145             <tr>
146                 <th>Term/Phrase</th>
147                 <th>Count</th>
148             </tr>
149             [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
150                         [% IF ( SEARCH_RESULT.even ) %]
151             <tr class="highlight">
152                         [% ELSE %]
153                         <tr>
154                         [% END %]
155                 <td>
156                     <a href="/cgi-bin/koha/opac-search.pl?q=[% SEARCH_RESULT.scan_use |url %]&quot;[% SEARCH_RESULT.title |url %]&quot;">[% SEARCH_RESULT.title |html %]</a>
157                 </td>
158                 <td>
159                     [% FOREACH subtitl IN SEARCH_RESULT.subtitle %]
160                       [% subtitl.subfield %]
161                     [% END %]
162                 </td>
163             </tr>
164             [% END %]
165         </table>
166     </form>
167 [% ELSE %]
168
169     <div class="searchresults">
170         <form action="/cgi-bin/koha/opac-search.pl" method="get" name="bookbag_form" id="bookbag_form">
171                 [% IF ( searchdesc ) %]
172                 [% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
173                 <input type="hidden" name="[% QUERY_INPUT.input_name |html %]" value="[% QUERY_INPUT.input_value |html %]"/>
174                 [% END %]
175                 [% FOREACH LIMIT_INPUT IN LIMIT_INPUTS %]
176                 <input type="hidden" name="[% LIMIT_INPUT.input_name |html %]" value="[% LIMIT_INPUT.input_value |html %]"/>
177                 [% END %]
178                 [% END %]
179
180         <!-- TABLE RESULTS START -->
181         <table>
182                 <tr><td colspan="3" class="resultscontrol">
183                 <div class="resort"> <select id="sort_by" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select> <input type="submit" class="submit clearfix" id="sortsubmit" value="Go" /></div>
184         [% IF ( opacbookbag || virtualshelves ) %]<div class="cartlist"><span class="checkall"></span>
185                 <span class="clearall"></span>
186         <a href="#" class="highlight_toggle" id="highlight_toggle_off">Unhighlight</a>
187         <a href="#" class="highlight_toggle" id="highlight_toggle_on">Highlight</a>
188                 <span class="addto"></span></div>
189                 [% END %]
190
191         </td></tr>
192             <!-- Actual Search Results -->
193             [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
194                 <tr class="grouplabel"><td colspan="3">[% SEARCH_RESULT.group_label %]</td></tr>
195             [% FOREACH GROUP_RESULT IN SEARCH_RESULT.GROUP_RESULTS %]
196             [% IF ( GROUP_RESULT.even ) %]
197                 <tr class="highlight">
198             [% ELSE %]
199                 <tr>
200             [% END %]
201                     <td>[% IF ( OPACAmazonEnabled ) %]
202                         <a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% GROUP_RESULT.biblionumber |url %]">[% IF ( GROUP_RESULT.isbn ) %]<img src="http://images.amazon.com/images/P/[% GROUP_RESULT.isbn %].01.TZZZZZZZ.jpg" alt="" class="thumbnail" />[% ELSE %]<img src="http://g-images.amazon.com/images/G/01/x-site/icons/no-img-sm.gif" alt="" class="thumbnail" />[% END %]
203                         </a>
204                         [% ELSE %]
205                         [% UNLESS ( noItemTypeImages ) %]
206                             [% IF ( GROUP_RESULT.imageurl ) %]
207                                 <img src="[% GROUP_RESULT.imageurl %]" title="[% GROUP_RESULT.description %]" />
208                             [% END %]
209                         [% END %]
210                         [% GROUP_RESULT.description %]
211                         [% END %]
212                     </td>
213                     <td>[% GROUP_RESULT.result_number %]. [% IF ( GROUP_RESULT.BiblioDefaultViewmarc ) %]<a class="title" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% GROUP_RESULT.biblionumber |url %]" title="View details for this title">[% GROUP_RESULT.title %]
214                       [% ELSE %]
215                       [% IF ( GROUP_RESULT.BiblioDefaultViewisbd ) %]<a class="title" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% GROUP_RESULT.biblionumber |url %]" title="View details for this title">[% GROUP_RESULT.title %]
216                       [% ELSE %]<a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% GROUP_RESULT.biblionumber |url %]" title="View details for this title">[% GROUP_RESULT.title %]
217                       [% END %]
218                       [% FOREACH subtitl IN GROUP_RESULT.subtitle %]
219                           [% subtitl.subfield %]
220                       [% END %]
221                       </a>
222                       [% END %]
223                       [% IF ( GROUP_RESULT.author ) %]by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% GROUP_RESULT.author |url %]" title="Search for works by this author">[% GROUP_RESULT.author %]</a>
224                       [% ELSE %]&nbsp;[% END %]
225                                 <p> [% IF ( GROUP_RESULT.publicationyear ) %] - [% GROUP_RESULT.publicationyear %][% END %]
226                                                 [% IF ( GROUP_RESULT.publishercode ) %]- [% GROUP_RESULT.publishercode %][% END %]
227                                                 [% IF ( GROUP_RESULT.place ) %] ; [% GROUP_RESULT.place %][% END %]
228                                                 [% IF ( GROUP_RESULT.pages ) %] - [% GROUP_RESULT.pages %][% END %]
229                                                 [% IF ( GROUP_RESULT.notes ) %] : [% GROUP_RESULT.notes %][% END %]
230                                                 [% IF ( GROUP_RESULT.size ) %] ; [% GROUP_RESULT.size %][% END %]
231                                                 [% IF ( GROUP_RESULT.timestamp ) %] <i>(modified on [% GROUP_RESULT.timestamp %])</i>[% END %]
232                                 </p>
233         [% IF ( GROUP_RESULT.searchhighlightblob ) %]<p class="searchhighlightblob">[% GROUP_RESULT.searchhighlightblob %]</p>[% END %]
234                                 <p class="availability">
235                                         [% IF ( GROUP_RESULT.available_items_loop ) %]
236                                         <span class="available"><strong>Copies available at:</strong>
237                                         [% FOREACH available_items_loo IN GROUP_RESULT.available_items_loop %]
238                                         [% IF ( available_items_loo.branchname ) %][% available_items_loo.branchname %][% END %]
239                                         [% IF ( OPACItemsResultsDisplay ) %]
240                         [% IF ( available_items_loo.location ) %][% available_items_loo.location %][% END %]
241                         [% IF ( available_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/opac-search.pl?q=callnum:[% available_items_loo.itemcallnumber |url %]">[% available_items_loo.itemcallnumber %]</a>][% END %]
242                     [% END %]
243                                         ([% available_items_loo.count %]),
244                                         [% END %]
245                                         </span>
246                                         [% ELSE %]
247                                         <span class="unavailable">No items available:</span>
248                                         [% END %]
249                                         <span class="unavailable">
250                                         [% IF ( GROUP_RESULT.onloancount ) %] Checked out ([% GROUP_RESULT.onloancount %]), [% END %]
251                                         [% IF ( GROUP_RESULT.wthdrawncount ) %] Withdrawn ([% GROUP_RESULT.wthdrawncount %]), [% END %]
252                                         [% IF ( GROUP_RESULT.itemlostcount ) %] Lost ([% GROUP_RESULT.itemlostcount %]),[% END %]
253                                         [% IF ( GROUP_RESULT.damagedcount ) %] Damaged ([% GROUP_RESULT.damagedcount %]),[% END %]
254                                         [% IF ( GROUP_RESULT.orderedcount ) %] On order ([% GROUP_RESULT.orderedcount %]),[% END %]
255                     [% IF ( GROUP_RESULT.intransitcount ) %] In transit ([% GROUP_RESULT.intransitcount %]),[% END %]
256                                         </span>
257                                 </p>
258
259                                 <p>
260                                 [% IF ( RequestOnOpac ) %]
261                                         [% UNLESS ( GROUP_RESULT.norequests ) %]
262                                                 [% IF ( opacuserlogin ) %]
263                                                         [% IF ( AllowOnShelfHolds ) %]
264                                                                 <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% GROUP_RESULT.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue-->
265                                                         [% ELSE %]
266                                                                 [% IF ( GROUP_RESULT.itemsissued ) %]
267                                                                         <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% GROUP_RESULT.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue-->
268                                                                 [% END %]
269                                                         [% END %]
270                                                 [% END %]
271                                         [% END %]
272                                 [% END %]
273
274                                 [% IF ( opacbookbag || virtualshelves ) %]<input type="checkbox" name="biblionumber" value="[% GROUP_RESULT.biblionumber %]" title="Click to add to cart" /> <label for="bib[% GROUP_RESULT.biblionumber %]">[% END %]<img src="[% themelang %]/images/[% GROUP_RESULT.itemtype %].gif" alt="[% GROUP_RESULT.ccode %]" title="[% GROUP_RESULT.ccode %]" />[% IF ( opacbookbag || virtualshelves ) %]</label>[% END %] [% IF ( GROUP_RESULT.classification ) %]
275                                     <a href="/cgi-bin/koha/opac-search.pl?q=callnum:[% GROUP_RESULT.classification |url %]">
276                                         [% GROUP_RESULT.classification %]
277                                     </a>
278 [% END %]</p>
279                                 </td>
280                 </tr>
281                 [% END %]
282                 [% END %]
283             </table>
284     </form>
285         </div>
286     [% END %]
287         [% INCLUDE 'page-numbers.inc' %]
288
289     [% ELSE %]
290     [% END %]
291
292         [% IF ( suggestion ) %]
293 [% IF ( AnonSuggestions ) %]<div class="suggestion">Not finding what you're looking for?<br />  Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add">purchase suggestion</a></div>[% ELSE %][% IF ( loggedinusername ) %]<div class="suggestion">Not finding what you're looking for?<br />  Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add">purchase suggestion</a></div>[% END %][% END %]
294 [% END %]
295
296 </div>
297 </div>
298 <div class="yui-b">
299         <!-- FACETS START -->
300         [% IF ( opacfacets ) %]
301                 [% INCLUDE 'opac-facets.inc' %]
302         [% END %]
303         <!-- FACETS END -->
304 </div>
305 </div>
306 </div>
307
308 [% INCLUDE 'opac-bottom.inc' %]