# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-# $Id$
-=head1 opac-tags_subject.pl
+=head1 opac-browser.pl
TODO :: Description here
=cut
use strict;
-require Exporter;
+use warnings;
+
use C4::Auth;
use C4::Context;
use C4::Output;
-use C4::Interface::CGI::Output;
use CGI;
use C4::Biblio;
use C4::Koha; # use getitemtypeinfo
# the level of browser to display
my $level = $query->param('level') || 0;
my $filter = $query->param('filter');
+$filter = '' unless defined $filter;
$level++; # the level passed is the level of the PREVIOUS list, not the current one. Thus the ++
# build this level loop
my $i=0;
while (my $line = $sth->fetchrow_hashref) {
$line->{description} =~ s/\((.*)\)//g;
- $i++;
- $line->{count3}=1 unless $i %3;
push @level_loop,$line;
}
+my $have_hierarchy = 0;
+
# now rebuild hierarchy loop
-$sth = $dbh->prepare("SELECT * FROM browser where classification=?");
$filter =~ s/\.//g;
my @hierarchy_loop;
-for (my $i=1;$i <=length($filter);$i++) {
- $sth->execute(substr($filter,0,$i));
- my $line = $sth->fetchrow_hashref;
- push @hierarchy_loop,$line;
+if ($filter eq '' and $level == 1) {
+ # we're starting from the top
+ $have_hierarchy = 1 if @level_loop;
+ unless (@level_loop) {
+ $sth->execute(1, "%");
+ while (my $line = $sth->fetchrow_hashref) {
+ $line->{description} =~ s/\((.*)\)//g;
+ push @level_loop,$line;
+ }
+ }
+} else {
+ $sth = $dbh->prepare("SELECT * FROM browser where classification=?");
+ for (my $i=1;$i <=length($filter);$i++) {
+ $sth->execute(substr($filter,0,$i));
+ my $line = $sth->fetchrow_hashref;
+ push @hierarchy_loop,$line;
+ }
+ $have_hierarchy = 1 if @hierarchy_loop;
+}
+
+# mark every third entry in level_loop
+for (my $i = 0; $i <= $#level_loop; $i++) {
+ $level_loop[$i]->{count3} = 1 if 2 == $i % 3 && $i != $#level_loop;
}
$template->param(
LEVEL_LOOP => \@level_loop,
HIERARCHY_LOOP => \@hierarchy_loop,
+ have_hierarchy => $have_hierarchy,
);
output_html_with_http_headers $query, $cookie, $template->output;