From: <har...@us...> - 2006-04-14 18:22:15
|
Revision: 4429 Author: hardaker Date: 2006-04-14 11:22:10 -0700 (Fri, 14 Apr 2006) ViewCVS: http://svn.sourceforge.net/net-policy/?rev=4429&view=rev Log Message: ----------- better organization of mib lables to values Modified Paths: -------------- trunk/net-policy/modules/administrative/browse-configuration-data.pm Modified: trunk/net-policy/modules/administrative/browse-configuration-data.pm =================================================================== --- trunk/net-policy/modules/administrative/browse-configuration-data.pm 2006-04-12 23:41:10 UTC (rev 4428) +++ trunk/net-policy/modules/administrative/browse-configuration-data.pm 2006-04-14 18:22:10 UTC (rev 4429) @@ -73,26 +73,41 @@ sub show_data_in_row { my ($modrow, $modnum, $tabid, $rowid, $mibname, $tabname) = @_; - my $row = - net_policy_select("select * from netpolicyconfig.$tabname - where id = $rowid"); if ($tabid == 1) { # deal with the rawoid table separately + my $row = + net_policy_select("select * from netpolicyconfig.$tabname + where id = $rowid"); $modrow->[$modnum] = [[$row->[2] , " = " , $row->[3]]]; } else { + # get a list of the table columns we want + my $sellist; + my $snmpinfo = $SNMP::MIB{$mibname . "::" . $tabname}; my @info; - my $snmpinfo = $SNMP::MIB{$mibname . "::" . $tabname}; - my $cols; - $cols = $snmpinfo->{'children'}[0]{'children'} if ($snmpinfo); - print STDERR "$row->[0] .. " . join(":",@$row) ."\n"; + my @cols; + + my $cols = $snmpinfo->{'children'}[0]{'children'} if ($snmpinfo); + if (!$cols) { + # errr... bad sign. can't get mib info. XXX: warn/err + $sellist = "*"; + } else { + # Get a sorted list of the columns + map { push @cols, $_->{'label'} } + sort { $a->{'subID'} <=> $b->{'subID'} } @$cols; + $sellist = "id, " . join(", ", @cols); + } + my $row = + net_policy_select("select $sellist from netpolicyconfig.$tabname + where id = $rowid"); + + # note: start from 1 to skip the id column (needed for the generic *) for (my $i = 1; $i <= $#$row; $i++) { - if ($cols) { - push @info, [$cols->[$i-1]{'label'} , ' = ' , $row->[$i]]; + if ($#cols > -1) { + push @info, [$cols[$i-1] , ' = ' , $row->[$i]]; } else { - # errr... bad sign. can't get mib info. XXX: warn/err + # generic MIB module push @info,[$row->[$i]]; } - # generic MIB module } $modrow->[$modnum] = \@info; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |