-$whereclause = " WHERE ".$whereclause if $whereclause;
-
-my $query = "SELECT datecreated, biblio.biblionumber, title,
- author, sum( items.issues ) AS tot, biblioitems.itemtype,
- biblioitems.publishercode,biblioitems.publicationyear,
- itemtypes.description
- FROM biblio
- LEFT JOIN items USING (biblionumber)
- LEFT JOIN biblioitems USING (biblionumber)
- LEFT JOIN itemtypes ON itemtypes.itemtype = biblioitems.itemtype
- $whereclause
- GROUP BY biblio.biblionumber
- HAVING tot >0
- ORDER BY tot DESC
- LIMIT $limit
- ";
+my $query;
+
+if($advanced_search_types eq 'ccode'){
+ $whereclause .= ' AND authorised_values.authorised_value='.$dbh->quote($itemtype) if $itemtype;
+ $query = "SELECT datecreated, biblio.biblionumber, title,
+ author, sum( items.issues ) AS tot, biblioitems.itemtype,
+ biblioitems.publishercode,biblioitems.publicationyear,
+ authorised_values.lib as description
+ FROM biblio
+ LEFT JOIN items USING (biblionumber)
+ LEFT JOIN biblioitems USING (biblionumber)
+ LEFT JOIN authorised_values ON items.ccode = authorised_values.authorised_value
+ WHERE 1
+ $whereclause
+ AND authorised_values.category = 'ccode'
+ GROUP BY biblio.biblionumber
+ HAVING tot >0
+ ORDER BY tot DESC
+ LIMIT $limit
+ ";
+ $template->param(ccodesearch => 1);
+}else{
+ if ($itemtype){
+ if (C4::Context->preference('item-level_itypes')){
+ $whereclause .= ' AND items.itype = ' . $dbh->quote($itemtype);
+ }
+ else {
+ $whereclause .= ' AND biblioitems.itemtype='.$dbh->quote($itemtype);
+ }
+ }
+ $query = "SELECT datecreated, biblio.biblionumber, title,
+ author, sum( items.issues ) AS tot, biblioitems.itemtype,
+ biblioitems.publishercode,biblioitems.publicationyear,
+ itemtypes.description
+ FROM biblio
+ LEFT JOIN items USING (biblionumber)
+ LEFT JOIN biblioitems USING (biblionumber)
+ LEFT JOIN itemtypes ON itemtypes.itemtype = biblioitems.itemtype
+ WHERE 1
+ $whereclause
+ GROUP BY biblio.biblionumber
+ HAVING tot >0
+ ORDER BY tot DESC
+ LIMIT $limit
+ ";
+ $template->param(itemtypesearch => 1);
+}