diff --git a/software/closeall.cgi b/software/closeall.cgi deleted file mode 100755 index 94ac31348..000000000 --- a/software/closeall.cgi +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/local/bin/perl -# closeall.cgi -# Empty the open list - -require './software-lib.pl'; -&save_heiropen([ ]); -&redirect("tree.cgi"); - diff --git a/software/openall.cgi b/software/openall.cgi deleted file mode 100755 index 39f7f0409..000000000 --- a/software/openall.cgi +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/local/bin/perl -# openall.cgi -# Add all classes to the open list - -require './software-lib.pl'; -$n = &list_packages(); -for($i=0; $i<$n; $i++) { - @w = split(/\//, $packages{$i,'class'}); - for($j=0; $j<@w; $j++) { - push(@list, join('/', @w[0..$j])); - } - } -@list = &unique(@list); -&save_heiropen(\@list); -&redirect("tree.cgi"); - diff --git a/software/tree.cgi b/software/tree.cgi index bc468a3da..041e6a2dc 100755 --- a/software/tree.cgi +++ b/software/tree.cgi @@ -1,14 +1,44 @@ -#!/usr/local/bin/perl +#!/opt/bin/perl # tree.cgi # Display the package tree require './software-lib.pl'; &ui_print_header(undef, $text{'index_tree'}, ""); +&ReadParse(); +$n = &list_packages(); + +# filter array +if ($in{'filter'}) { + for($i=0; $i<$n; $i++) { + if (index($packages{$i, 'name'}, $in{'filter'}) == -1) { + $filter++; + $packages{$i, 'name'}=undef; + $packages{$i, 'version'}=undef; + $packages{$i, 'desc'}=undef; + $packages{$i, 'class'}=undef; + } + } +} + +# prcoess openall / closeall actions +if ( $in{'mode'} eq "closeall" ) { + &save_heiropen([ ]); +} + +if ( $in{'mode'} eq "openall" || $in{'filter'} ) { + for($i=0; $i<$n; $i++) { + @w = split(/\//, $packages{$i,'class'}); + for($j=0; $j<@w; $j++) { + push(@list, join('/', @w[0..$j])); + } + } + local @list = &unique(@list); + &save_heiropen(\@list); +} $spacer = " "x3; # work out the package hierarchy.. -$n = &list_packages(); for($i=0; $i<$n; $i++) { push(@pack, $packages{$i,'name'}); push(@vers, $packages{$i,'version'}); @@ -40,21 +70,32 @@ foreach $c (sort { $a cmp $b } &unique(@class)) { $heiropen{""} = 1; # traverse the hierarchy -if ($hasclasses) { - print &ui_link("closeall.cgi", $text{'index_close'}); - print "\n"; - print &ui_link("openall.cgi", $text{'index_open'}); - print "
\n"; - } -print "