View | Details | Raw Unified | Return to bug 3459
Collapse All | Expand All

(-)a/opac/opac-topissues.pl (-21 / +39 lines)
Lines 56-82 my $branch = $input->param('branch'); Link Here
56
my $itemtype = $input->param('itemtype');
56
my $itemtype = $input->param('itemtype');
57
my $timeLimit = $input->param('timeLimit') || 3;
57
my $timeLimit = $input->param('timeLimit') || 3;
58
my $whereclause;
58
my $whereclause;
59
$whereclause .= 'items.homebranch='.$dbh->quote($branch)." AND " if ($branch);
59
$whereclause .= ' AND items.homebranch='.$dbh->quote($branch) if ($branch);
60
$whereclause .= 'biblioitems.itemtype='.$dbh->quote($itemtype)." AND " if $itemtype;
60
$whereclause .= ' AND TO_DAYS(NOW()) - TO_DAYS(biblio.datecreated) <= '.($timeLimit*30) if $timeLimit < 999;
61
$whereclause .= ' TO_DAYS(NOW()) - TO_DAYS(biblio.datecreated) <= '.($timeLimit*30).' AND ' if $timeLimit < 999;
62
$whereclause =~ s/ AND $//;
61
$whereclause =~ s/ AND $//;
63
$whereclause = " WHERE ".$whereclause if $whereclause;
62
my $query;
64
63
if(C4::Context->preference('AdvancedSearchTypes') eq 'ccode'){
65
my $query = "SELECT datecreated, biblio.biblionumber, title, 
64
    $whereclause .= ' AND authorised_values.authorised_value='.$dbh->quote($itemtype) if $itemtype;
66
                author, sum( items.issues ) AS tot, biblioitems.itemtype,
65
    $query = "SELECT datecreated, biblio.biblionumber, title, 
67
                biblioitems.publishercode,biblioitems.publicationyear,
66
                    author, sum( items.issues ) AS tot, biblioitems.itemtype,
68
                itemtypes.description
67
                    biblioitems.publishercode,biblioitems.publicationyear,
69
                FROM biblio
68
                    authorised_values.lib as description
70
                LEFT JOIN items USING (biblionumber)
69
                    FROM biblio
71
                LEFT JOIN biblioitems USING (biblionumber)
70
                    LEFT JOIN items USING (biblionumber)
72
                LEFT JOIN itemtypes ON itemtypes.itemtype = biblioitems.itemtype
71
                    LEFT JOIN biblioitems USING (biblionumber)
73
                $whereclause
72
                    LEFT JOIN authorised_values ON items.ccode = authorised_values.authorised_value
74
                GROUP BY biblio.biblionumber
73
                    WHERE 1
75
                HAVING tot >0
74
                    $whereclause
76
                ORDER BY tot DESC
75
                    AND authorised_values.category = 'ccode' 
77
                LIMIT $limit
76
                    GROUP BY biblio.biblionumber
78
                ";
77
                    HAVING tot >0
79
78
                    ORDER BY tot DESC
79
                    LIMIT $limit
80
                    ";
81
}else{
82
    $whereclause .= ' AND biblioitems.itemtype='.$dbh->quote($itemtype) if $itemtype;
83
    $query = "SELECT datecreated, biblio.biblionumber, title, 
84
                    author, sum( items.issues ) AS tot, biblioitems.itemtype,
85
                    biblioitems.publishercode,biblioitems.publicationyear,
86
                    itemtypes.description
87
                    FROM biblio
88
                    LEFT JOIN items USING (biblionumber)
89
                    LEFT JOIN biblioitems USING (biblionumber)
90
                    LEFT JOIN itemtypes ON itemtypes.itemtype = biblioitems.itemtype
91
                    WHERE 1
92
                    $whereclause
93
                    GROUP BY biblio.biblionumber
94
                    HAVING tot >0
95
                    ORDER BY tot DESC
96
                    LIMIT $limit
97
                    ";
98
}
80
my $sth = $dbh->prepare($query);
99
my $sth = $dbh->prepare($query);
81
$sth->execute();
100
$sth->execute();
82
my @results;
101
my @results;
83
- 

Return to bug 3459