#!/usr/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; } } } # process 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.. for($i=0; $i<$n; $i++) { push(@pack, $packages{$i,'name'}); push(@vers, $packages{$i,'version'}); push(@svers, $packages{$i,'shortversion'} || $packages{$i,'version'}); push(@class, $packages{$i,'class'}); push(@desc, $packages{$i,'desc'}); } @order = sort { lc($pack[$a]) cmp lc($pack[$b]) } (0 .. $n-1); $heir{""} = ""; foreach $c (sort { $a cmp $b } &unique(@class)) { if (!$c) { next; } @w = split(/\//, $c); $p = join('/', @w[0..$#w-1]); # parent class if (!defined($heir{$p})) { $pp = join('/', @w[0..$#w-2]); # grandparent class $heir{$pp} .= "$p\0"; $ppp = join('/', @w[0..$#w-3]); # great-grandparent class if ($ppp || 1) { $heir{$ppp} .= "$pp\0"; } } $heir{$p} .= "$c\0"; $hasclasses++; } # get the current open list %heiropen = map { $_, 1 } &get_heiropen(); $heiropen{""} = 1; # traverse the hierarchy 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=\"100%\">\n"; &traverse("", 0); print "</table><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"; 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"; &ui_print_footer("", $text{'index_return'}); sub traverse { local($s, $act, $i); # Show the icon and class name print "<tr style=\"border-top: 1px solid #aaaaaa28\"> <td>", $spacer x $_[1]; if ($_[0]) { print "<a name=\"$_[0]\"></a>\n"; $act = $heiropen{$_[0]} ? "close" : "open"; my $link = "$act.cgi?what=".&urlize($_[0]); $_[0] =~ /([^\/]+)$/; print &ui_link($link, "<img border=0 src='images/$act.gif'>"); print " $1</td>\n"; } else { print "<img src=images/close.gif> <i>$text{'index_all'}</i></td>\n"; } print "<td><br></td> </tr>\n"; if ($heiropen{$_[0]}) { # print packages followed by sub-folders foreach $i (@order) { 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=". &urlize($pack[$i])."&version=". &urlize($vers[$i]), &html_escape($pack[$i]. ($svers[$i] ? " $svers[$i]" : "")) )."</td>\n"; print "<td>",&html_escape($desc[$i]),"</td>\n"; print "</tr>\n"; } } foreach $s (&unique(split(/\0+/, $heir{$_[0]}))) { &traverse($s, $_[1]+1); } } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 2.82 KB | 0644 |
|
aix-lib.pl | File | 19.2 KB | 0755 |
|
apt-lib.pl | File | 14.09 KB | 0755 |
|
apt_upgrade.cgi | File | 1.97 KB | 0755 |
|
cgi_args.pl | File | 524 B | 0755 |
|
close.cgi | File | 263 B | 0755 |
|
config-aix | File | 30 B | 0644 |
|
config-cobalt-linux | File | 30 B | 0644 |
|
config-coherent-linux | File | 30 B | 0644 |
|
config-corel-linux | File | 33 B | 0644 |
|
config-cygwin | File | 33 B | 0644 |
|
config-debian-linux | File | 51 B | 0644 |
|
config-freebsd | File | 54 B | 0644 |
|
config-freebsd-8.4-ALL | File | 52 B | 0644 |
|
config-gentoo-linux | File | 33 B | 0644 |
|
config-hpux | File | 31 B | 0644 |
|
config-mandrake-linux | File | 30 B | 0644 |
|
config-msc-linux | File | 30 B | 0644 |
|
config-netbsd | File | 34 B | 0644 |
|
config-open-linux | File | 30 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 30 B | 0644 |
|
config-openbsd | File | 34 B | 0644 |
|
config-openmamba-linux | File | 48 B | 0644 |
|
config-openserver | File | 33 B | 0644 |
|
config-redhat-linux | File | 48 B | 0644 |
|
config-slackware-linux | File | 36 B | 0644 |
|
config-solaris | File | 33 B | 0644 |
|
config-suse-linux | File | 30 B | 0644 |
|
config-syno-linux | File | 50 B | 0644 |
|
config-trustix-linux | File | 30 B | 0644 |
|
config-turbo-linux | File | 30 B | 0644 |
|
config-united-linux | File | 30 B | 0644 |
|
config-unixware | File | 33 B | 0644 |
|
config-windows | File | 30 B | 0644 |
|
config.info | File | 511 B | 0644 |
|
config.info.ca | File | 554 B | 0644 |
|
config.info.cs | File | 372 B | 0644 |
|
config.info.de | File | 523 B | 0644 |
|
config.info.es | File | 320 B | 0644 |
|
config.info.fr | File | 135 B | 0644 |
|
config.info.ja | File | 428 B | 0644 |
|
config.info.ko | File | 409 B | 0644 |
|
config.info.ms | File | 411 B | 0644 |
|
config.info.nl | File | 415 B | 0644 |
|
config.info.no | File | 424 B | 0644 |
|
config.info.pl | File | 392 B | 0644 |
|
config.info.ru | File | 175 B | 0644 |
|
config.info.sv | File | 224 B | 0644 |
|
config.info.tr | File | 123 B | 0644 |
|
config.info.uk | File | 174 B | 0644 |
|
config.info.zh | File | 122 B | 0644 |
|
config.info.zh_TW | File | 125 B | 0644 |
|
csw-lib.pl | File | 2.69 KB | 0755 |
|
cygwin-lib.pl | File | 22.34 KB | 0755 |
|
debian-lib.pl | File | 6.67 KB | 0755 |
|
delete_file.cgi | File | 239 B | 0755 |
|
delete_pack.cgi | File | 1.46 KB | 0755 |
|
delete_packs.cgi | File | 1.85 KB | 0755 |
|
do_install.cgi | File | 2.67 KB | 0755 |
|
edit_pack.cgi | File | 1.13 KB | 0755 |
|
emerge-lib.pl | File | 7.65 KB | 0755 |
|
file_info.cgi | File | 2.09 KB | 0755 |
|
find.cgi | File | 1.63 KB | 0755 |
|
freebsd-lib.pl | File | 7.95 KB | 0755 |
|
hpux-lib.pl | File | 8.01 KB | 0755 |
|
index.cgi | File | 3 KB | 0755 |
|
install_pack.cgi | File | 4.71 KB | 0755 |
|
ipkg-close.cgi | File | 269 B | 0755 |
|
ipkg-edit_pack.cgi | File | 1.45 KB | 0755 |
|
ipkg-lib.pl | File | 7.78 KB | 0755 |
|
ipkg-open.cgi | File | 243 B | 0755 |
|
ipkg-tree.cgi | File | 4 KB | 0755 |
|
ipkg_upgrade.cgi | File | 926 B | 0755 |
|
list_pack.cgi | File | 1.85 KB | 0755 |
|
log_parser.pl | File | 1.34 KB | 0755 |
|
module.info | File | 484 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 127 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 170 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 216 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 214 B | 0644 |
|
module.info.ca | File | 116 B | 0644 |
|
module.info.ca.auto | File | 21 B | 0644 |
|
module.info.cs | File | 30 B | 0644 |
|
module.info.cs.auto | File | 114 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 124 B | 0644 |
|
module.info.de | File | 106 B | 0644 |
|
module.info.de.auto | File | 21 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 220 B | 0644 |
|
module.info.es | File | 29 B | 0644 |
|
module.info.es.auto | File | 106 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 129 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 215 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 130 B | 0644 |
|
module.info.fr | File | 29 B | 0644 |
|
module.info.fr.auto | File | 117 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 152 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 138 B | 0644 |
|
module.info.hu | File | 38 B | 0644 |
|
module.info.hu.auto | File | 108 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 134 B | 0644 |
|
module.info.ja | File | 43 B | 0644 |
|
module.info.ja.auto | File | 157 B | 0644 |
|
module.info.ko | File | 34 B | 0644 |
|
module.info.ko.auto | File | 128 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 162 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 151 B | 0644 |
|
module.info.ms | File | 104 B | 0644 |
|
module.info.ms.auto | File | 18 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 150 B | 0644 |
|
module.info.nl | File | 27 B | 0644 |
|
module.info.nl.auto | File | 104 B | 0644 |
|
module.info.no | File | 26 B | 0644 |
|
module.info.no.auto | File | 107 B | 0644 |
|
module.info.pl | File | 121 B | 0644 |
|
module.info.pl.auto | File | 21 B | 0644 |
|
module.info.pt | File | 28 B | 0644 |
|
module.info.pt.auto | File | 102 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 139 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 134 B | 0644 |
|
module.info.ru | File | 30 B | 0644 |
|
module.info.ru.auto | File | 205 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 145 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 132 B | 0644 |
|
module.info.sv | File | 21 B | 0644 |
|
module.info.sv.auto | File | 100 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 253 B | 0644 |
|
module.info.tr | File | 28 B | 0644 |
|
module.info.tr.auto | File | 107 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 202 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 208 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 144 B | 0644 |
|
module.info.zh | File | 18 B | 0644 |
|
module.info.zh.auto | File | 91 B | 0644 |
|
module.info.zh_TW | File | 24 B | 0644 |
|
module.info.zh_TW.auto | File | 97 B | 0644 |
|
msi-lib.pl | File | 8.45 KB | 0755 |
|
open.cgi | File | 238 B | 0755 |
|
openbsd-lib.pl | File | 4.72 KB | 0755 |
|
pkg-lib.pl | File | 2.5 KB | 0644 |
|
pkgadd-lib.pl | File | 9.97 KB | 0755 |
|
pkgadd-no-ask | File | 164 B | 0644 |
|
pkgsrc-lib.pl | File | 7.24 KB | 0644 |
|
ports-lib.pl | File | 3.49 KB | 0644 |
|
ports_upgrade.cgi | File | 501 B | 0755 |
|
rhn-lib.pl | File | 3.02 KB | 0755 |
|
rhn.cgi | File | 1.3 KB | 0755 |
|
rhn_check.cgi | File | 1.84 KB | 0755 |
|
rpm-lib.pl | File | 11.24 KB | 0755 |
|
rpmfind.cgi | File | 2.11 KB | 0755 |
|
search.cgi | File | 2.27 KB | 0755 |
|
slackware-lib.pl | File | 6.95 KB | 0755 |
|
software-lib.pl | File | 7.57 KB | 0755 |
|
tree.cgi | File | 3.79 KB | 0755 |
|
urpmi-lib.pl | File | 2.14 KB | 0755 |
|
urpmi_upgrade.cgi | File | 839 B | 0755 |
|
view.cgi | File | 931 B | 0755 |
|
yum-lib.pl | File | 13.06 KB | 0755 |
|
yum_upgrade.cgi | File | 908 B | 0755 |
|