Code

replaced <p> seperator style by <hr >
[gosa.git] / gosa-plugins / opsi / admin / opsiLicenses / class_filterOpsiLicense.inc
index 368aeafb61ac6582b54a2b552272df1a65aaa817..10d0e19588d7a5eacac7645da3e993cc11ebae2d 100644 (file)
@@ -3,9 +3,34 @@
 class filterOpsiLicense {
 
   static function query($base, $scope, $filter, $attributes, $category, $objectStorage= "")
+  {
+
+    if(!class_available('opsi')) return(array());
+
+    $config= session::global_get('config');
+    $ldap= $config->get_ldap_link(TRUE);
+    $flag= ($scope == "sub")?GL_SUBSEARCH:0;
+    $result= filterOpsiLicense::get_list($base, $filter, $attributes, $category, $objectStorage, $flag);
+
+    // Simple filtering 
+    if(!empty($filter)){
+      foreach($result as $key => $entry){
+        if(!preg_match($filter, $entry['cn'][0])){
+          unset($result[$key]);
+        }
+      }
+    }
+
+    return(filterACL::unifyResult($result));
+  }
+
+  static function get_list($base, $filter, $attributes, $category, $objectStorage, $flags= GL_SUBSEARCH)
   {
     $config= session::global_get('config');
     $si = new opsiLicenceHandler($config);
+
+    if(!$si->enabled()) return(array());
+
     $res = $si->listPools();
     $result = array();
     if($si->is_error() || !is_array($res)){
@@ -30,7 +55,7 @@ class filterOpsiLicense {
         $result[] = $entry;
       }
     }
-    return(filterACL::unifyResult($result));
+    return($result);
   }
 
   static function unifyResult($result)