Code

Updated ARP dependencies! If ArpNewDevice wasn t avaiable, some plugins were broken.
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 23 Nov 2010 08:48:01 +0000 (08:48 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 23 Nov 2010 08:48:01 +0000 (08:48 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@20335 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/goto/admin/systems/goto/class_workstationGeneric.inc

index 46e8c297af26e6dc4623bd880af42b6198532b26..7aa13dfdb29ec4d57e5c68b76522a857455ad679 100644 (file)
@@ -141,7 +141,8 @@ class workgeneric extends plugin
         if ($this->dn == "new"){
             $ui= get_userinfo();
             $this->base= dn2base(session::global_is_set("CurrentMainBase")?"cn=dummy,".session::global_get("CurrentMainBase"):$ui->dn);
-        } elseif(preg_match("/".preg_quote(get_ou("ArpNewDevice", "systemIncomingRDN"), '/')."/i", $this->dn)){
+        } elseif(class_available("ArpNewDevice") &&
+                preg_match("/".preg_quote(get_ou("ArpNewDevice", "systemIncomingRDN"), '/')."/i", $this->dn)){
             $this->base= preg_replace ("/^[^,]+,".preg_quote(get_ou("ArpNewDevice", "systemIncomingRDN"), '/')."/i", "", $this->dn);
         }else{
             $this->base= preg_replace ("/^[^,]+,".preg_quote(get_ou("workgeneric", "workstationRDN"), '/')."/i", "", $this->dn);
@@ -463,7 +464,14 @@ class workgeneric extends plugin
             }
             if ($ldap->count() != 0){
                 while ($attrs= $ldap->fetch()){
-                    if (preg_match("/cn=dhcp,/",$attrs['dn']) || preg_match ("/,".preg_quote(get_ou("ArpNewDevice", "systemIncomingRDN"), '/')."/i", $ldap->getDN())){
+
+                    $matchArp = FALSE;
+                    if(class_available("ArpNewDevice") &&
+                            preg_match ("/,".preg_quote(get_ou("ArpNewDevice", "systemIncomingRDN"), '/')."/i", $ldap->getDN())){
+                        $matchArp = TRUE;
+                    } 
+
+                    if (preg_match("/cn=dhcp,/",$attrs['dn']) || $matchArp){
                         continue;
                     } else {
                         if ($attrs['dn'] != $this->orig_dn){