mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
inclode cloaseall and openall in tree.cgi, add filter for tree.cgi
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
#!/usr/local/bin/perl
|
||||
# closeall.cgi
|
||||
# Empty the open list
|
||||
|
||||
require './software-lib.pl';
|
||||
&save_heiropen([ ]);
|
||||
&redirect("tree.cgi");
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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 "<p>\n";
|
||||
}
|
||||
print "<table width=100%>\n";
|
||||
print &ui_form_start("tree.cgi");
|
||||
print &ui_submit($text{'index_filter'});
|
||||
print &ui_textbox("filter", $in{'filter'}, 50);
|
||||
print &ui_form_end(),"<p>\n";
|
||||
|
||||
print &ui_link("tree.cgi?mode=closeall", $text{'index_close'});
|
||||
print &ui_link("tree.cgi?mode=openall", $text{'index_open'});
|
||||
if ($in{'filter'}) {
|
||||
print &ui_link("tree.cgi", $text{'index_filterclear'});
|
||||
print " ", &text('index_filtered',$n-$filter,$n+1), "\n";
|
||||
}
|
||||
print "<table width=\"95%\">\n";
|
||||
&traverse("", 0);
|
||||
print "</table>\n";
|
||||
if ($hasclasses) {
|
||||
print &ui_link("closeall.cgi", $text{'index_close'});
|
||||
print "\n";
|
||||
print &ui_link("openall.cgi", $text{'index_open'});
|
||||
print "<p>\n";
|
||||
}
|
||||
print &ui_form_start("ipkg-tree.cgi");
|
||||
print &ui_submit($text{'index_filter'});
|
||||
print &ui_textbox("filter", $in{'filter'}, 50);
|
||||
print &ui_form_end(),"<p>\n";
|
||||
|
||||
print &ui_link("tree.cgi?mode=closeall", $text{'index_close'});
|
||||
print &ui_link("tree.cgi?mode=openall", $text{'index_open'});
|
||||
if ($in{'filter'}) {
|
||||
print &ui_link("tree.cgi", $text{'index_filterclear'});
|
||||
print " ", &text('index_filtered',$n-$filter,$n+1), "\n";
|
||||
}
|
||||
print "<p>\n";
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
|
||||
@@ -63,11 +104,11 @@ sub traverse
|
||||
local($s, $act, $i);
|
||||
|
||||
# Show the icon and class name
|
||||
print "<tr> <td>", $spacer x $_[1];
|
||||
print "<tr style=\"border-top: 1px solid lightgrey\"> <td>", $spacer x $_[1];
|
||||
if ($_[0]) {
|
||||
print "<a name=\"$_[0]\"></a>\n";
|
||||
$act = $heiropen{$_[0]} ? "close" : "open";
|
||||
my $link = "$act.cgi?what=".&urlize($_[0]);
|
||||
my $link = "$act.cgi?what=".&urlize($_[0]);
|
||||
$_[0] =~ /([^\/]+)$/;
|
||||
print &ui_link($link, "<img border=0 src='images/$act.gif'>");
|
||||
print " $1</td>\n";
|
||||
@@ -80,7 +121,7 @@ print "<td><br></td> </tr>\n";
|
||||
if ($heiropen{$_[0]}) {
|
||||
# print packages followed by sub-folders
|
||||
foreach $i (@order) {
|
||||
if ($class[$i] eq $_[0]) {
|
||||
if ($class[$i] eq $_[0] && $pack[$i] ne "") {
|
||||
print "<tr> <td nowrap>", $spacer x ($_[1]+1);
|
||||
print "<img border=0 src=images/pack.gif> \n";
|
||||
print &ui_link("edit_pack.cgi?package=".
|
||||
|
||||
Reference in New Issue
Block a user