Parcourir la source

Varias mejoras

Luciano Andrade il y a 10 ans
Parent
commit
05150c45a9
1 fichiers modifiés avec 22 ajouts et 9 suppressions
  1. 22 9
      OSS_SNMP/MIBS/DocsIfCmts.php

+ 22 - 9
OSS_SNMP/MIBS/DocsIfCmts.php

@@ -172,8 +172,13 @@ class DocsIfCmts extends \OSS_SNMP\MIB {
 
     public function docsQosServiceFlowDirection($translate=false){
 	$oid = self::OID_docsQosServiceFlowDirection;
-//	$states = $this->getSNMP()->realWalk($oid);
-        $states = $this->getSNMP()->walk1d($oid);
+	$states = $this->getSNMP()->realWalk($oid);
+	if(!is_array($states)) return null;
+	foreach($states as $k => $v){
+		$oid_arr = explode(".", $k);
+		$states[$oid_arr[count($oid_arr) -1]] = $this->getSNMP()->parseSnmpValue($v);
+		unset($states[$k]);
+	}
 	$rtr = array();
 	if( !$translate )
             return $states;
@@ -197,7 +202,7 @@ class DocsIfCmts extends \OSS_SNMP\MIB {
 	return $rtr;
     }
 
-    public function docsQosCmtsIfIndex($translate = false, $mac=null){
+    public function docsQosCmtsIfIndex($mac=null){
 	    $rtr = array();
 	    if(!is_null($mac)){
 		$oid = self::OID_docsQosCmtsIfIndex .'.'.$this->getDecMac($mac);
@@ -212,7 +217,7 @@ class DocsIfCmts extends \OSS_SNMP\MIB {
 		}
 		$k_mac = sprintf("%02x:%02x:%02x:%02x:%02x:%02x",
 				 $k_prim[14], $k_prim[15], $k_prim[16], $k_prim[17], $k_prim[18], $k_prim[19]);
-		if(!$translate)
+		if(!$mac)
 			$rtr[$k_mac][] = $k_prim[20]; //$this->getSNMP()->parseSnmpValue($v);
 		else
 			$rtr[$k_mac][] =$this->getSNMP()->parseSnmpValue($v).".". $k_prim[20];
@@ -228,11 +233,19 @@ class DocsIfCmts extends \OSS_SNMP\MIB {
 		$oid = self::OID_docsQosServiceFlowOctets;
         }	
 	$rtr = array();
-	$rtr = $this->getSNMP()->walk1d($oid);
-	if($ifId and count($rtr) == 1){
-		$ret = current($rtr);
-		$rtr = array();
-		$rtr[$ifId] = $ret;
+	$stats = $this->getSNMP()->realWalk($oid);
+	if(!is_array($stats)){
+		return null;
+	}
+	foreach($stats as $k => $v){
+		if($ifId){
+			$k_prim = explode(".",$k);
+			$rtr[ $k_prim[count($k_prim) - 2] . "." . $k_prim[count($k_prim) - 1]] = $this->getSNMP()->parseSnmpValue($v);
+
+		}else{
+			$k_prim = explode(".",$k);
+			$rtr[$k_prim[count($k_prim) - 1]] = $this->getSNMP()->parseSnmpValue($v);
+		}
 	}
 	return $rtr;
     }