Code

Apply fix for #4271
[gosa.git] / trunk / gosa-plugins / goto / addons / goto / events / class_EventTargetAddList.inc
index fc8e17cad3b66442e41ec5b4be0e5a0e543a18c6..fdd05677343ab08948b8a89efccba27f03f1dc74 100644 (file)
@@ -199,17 +199,18 @@ class EventTargetAddList extends MultiSelectWindow
     $a_targets = array();
     foreach($this->list_get_selected_items() as $id){
       if(in_array("gosaGroupOfNames",$this->_target_list[$id]['objectClass'])){
+        $object_group = $this->_target_list[$id]['cn'][0];
         foreach($this->_target_list[$id]['member'] as $mem_dn){
           if(isset($this->workstation_list[$mem_dn])){
-            $a_targets[] = $this->workstation_list[$mem_dn]['macAddress'][0];
+            $a_targets[] = array( "mac" => $this->workstation_list[$mem_dn]['macAddress'][0], "cn" => $this->workstation_list[$mem_dn]['cn'][0], "ogroup" => $object_group);
           }
           if(isset($this->server_list[$mem_dn])){
-            $a_targets[] = $this->server_list[$mem_dn]['macAddress'][0];
+            $a_targets[] = array( "mac" => $this->server_list[$mem_dn]['macAddress'][0], "cn" => $this->server_list[$mem_dn]['cn'][0], "ogroup" => $object_group);
           }
         }
       }else{
         if(isset($this->_target_list[$id]['macAddress'][0])){
-          $a_targets[] = $this->_target_list[$id]['macAddress'][0];
+          $a_targets[] = array( "mac" => $this->_target_list[$id]['macAddress'][0], "cn" => $this->_target_list[$id]['cn'][0]);
         }
       }
     }
@@ -230,7 +231,7 @@ class EventTargetAddList extends MultiSelectWindow
         $_target_list = array_merge($_target_list,
               get_sub_list("(&(cn=".$this->regex.")(objectClass=goServer))",
               "server",get_ou("serverRDN"),$this->selectedBase,
-              array("cn","objectClass","description","ipHostNumber","macAddress"),GL_SUBSEARCH));
+              array("cn","objectClass","description","ipHostNumber","macAddress", "FAIclass"),GL_SUBSEARCH));
       }
     }
     if($this->display_workstation){
@@ -395,6 +396,11 @@ class EventTargetAddList extends MultiSelectWindow
           continue;
         }
       }elseif(in_array("gosaGroupOfNames",$obj['objectClass'])){
+        /* Do not show object groups if ip or mac filter is enabled */
+        if($this->filter_iprange || $this->filter_mac_addr) {
+          continue;
+        }
+
         if($this->filter_fai_release) {
           if (isset($obj['FAIclass'])) {
             $fai_release = split(':', $obj['FAIclass'][0]);
@@ -475,8 +481,8 @@ class EventTargetAddList extends MultiSelectWindow
       foreach($textcheckbox['regexes'] as $regex) {
         $special_filter .= $this->GetRegex($regex, FALSE);
       }
+      $special_filter .= "</table>";
     }
-    $special_filter .= "</table>";
     $smarty->assign("special_filters"   , $special_filter);
     $display = $smarty->fetch(get_template_path('EventTargetAddList.tpl', TRUE, dirname(__FILE__)));
     return($display);