Code

Updated listing table summary
[gosa.git] / gosa-plugins / opsi / admin / opsiLicenses / class_opsiLicenseHandler.inc
index 39eb2ece8b65907f8f4decccf1d5061802af8f64..fd8b01f472f7580ace9d88cc517779db0045c6d8 100644 (file)
@@ -19,29 +19,34 @@ class opsiLicenceHandler extends opsi  {
     $data= array();
     $res = $this->send_data("gosa_opsi_getLicensePools_listOfHashes",$this->target,$data,TRUE);
     $items  = array();
-    if(isset($res['XML'][0]['RESULT'][0]['HIT'])){
-      $items = $res['XML'][0]['RESULT'][0]['HIT'];
-      $data =array();
-      foreach($items as $item){
-        $entry = array();
-        foreach(
-          array(
-            "DESCRIPTION"       => "description",
-            "LICENSEPOOLID"     => "cn",
-            "PRODUCTIDS"        => "productId",
-            "WINDOWSSOFTWAREIDS"=> "softwareId") as $source => $dest){
-        
-          if(isset($item[$source])){
-            $entry[$dest] = array('count' => 0);
-            foreach($item[$source] as $obj){
-              $entry[$dest][] = $obj['VALUE'];
-            }
-            $entry[$dest]['count'] = (count($entry[$dest]) -1 );
-          } 
+    if(isset($res['XML'][0]['ANSWER_OPSI_GETLICENSEPOOLS_LISTOFHASHES'])){
+      if(isset($res['XML'][0]['RESULT'][0]['HIT'])){
+        $items = $res['XML'][0]['RESULT'][0]['HIT'];
+        $data =array();
+        foreach($items as $item){
+          $entry = array();
+          foreach(
+              array(
+                "DESCRIPTION"       => "description",
+                "LICENSEPOOLID"     => "cn",
+                "PRODUCTIDS"        => "productId",
+                "WINDOWSSOFTWAREIDS"=> "softwareId") as $source => $dest){
+
+            if(isset($item[$source])){
+              $entry[$dest] = array('count' => 0);
+              foreach($item[$source] as $obj){
+                $entry[$dest][] = $obj['VALUE'];
+              }
+              $entry[$dest]['count'] = (count($entry[$dest]) -1 );
+            } 
+          }
+          $data[] =$entry;
         }
-        $data[] =$entry;
+        return($data);
+      }else{
+        // No entries, but got an answer. We probably do not have any pools yet.
+        return(array());
       }
-      return($data);
     }
     return(FALSE);
   }
@@ -145,6 +150,7 @@ class opsiLicenceHandler extends opsi  {
   {
     $data= array();
     $res = $this->send_data("gosa_opsi_getAllSoftwareLicenses",$this->target,$data,TRUE);
+
     if(isset($res['XML'][0]['ANSWER_OPSI_GETALLSOFTWARELICENSES'])){
 
       $licenses = array();
@@ -445,9 +451,12 @@ class opsiLicenceHandler extends opsi  {
   {
     $data= array();
     $data['productId'] = htmlentities($productId);
-    $res = $this->send_data("gosa_opsi_getLicenseInformationForProduct",$this->target,$data,TRUE);
-    if(isset($res['XML'][0]['ANSWER_OPSI_GETLICENSEINFORMATIONFORPRODUCT'])){
-      return($res['XML'][0]);
+    $res = $this->send_data("gosa_opsi_getSoftwareLicenseUsagesForProductId",$this->target,$data,TRUE);
+    if(isset($res['XML'][0]['ANSWER_OPSI_GETSOFTWARELICENSEUSAGESFORPRODUCTID'])){
+      if(isset($res['XML'][0]['RESULT'][0]['HIT'])){
+        return($res['XML'][0]['RESULT'][0]['HIT']);
+      } 
+      return(array());
     }
     return(FALSE);
   }