Code

Updated plugin
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 9 Aug 2007 07:38:27 +0000 (07:38 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 9 Aug 2007 07:38:27 +0000 (07:38 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.5@7014 594d385d-05f5-0310-b6e9-bd551577e9d8

include/class_dhcpPlugin.inc

index c0da9bf10bbcbd0fb1826e45f35e6a62cdf70fc1..93c5b507a6dcd76725beb4d01abad8c649d161cc 100644 (file)
@@ -46,7 +46,11 @@ class dhcpPlugin extends plugin
       if (isset($attrs['dhcpOption'])){
         foreach ($attrs['dhcpOption'] as $opt){
           $idx= preg_replace('/\s.+$/', '', $opt);
-          $value= preg_replace('/^[^\s]+\s/', '', $opt);
+          if ($idx == $opt){
+            $value= "";
+          } else {
+            $value= preg_replace('/^[^\s]+\s/', '', $opt);
+          }
           $this->options[$idx]= $value;
         }
       }
@@ -55,7 +59,11 @@ class dhcpPlugin extends plugin
       if (isset($attrs['dhcpStatements'])){
         foreach ($attrs['dhcpStatements'] as $opt){
           $idx= preg_replace('/\s.+$/', '', $opt);
-          $value= preg_replace('/^[^\s]+\s/', '', $opt);
+          if ($idx == $opt){
+            $value= "";
+          } else {
+            $value= preg_replace('/^[^\s]+\s/', '', $opt);
+          }
           $this->statements[$idx]= $value;
         }
       }
@@ -166,6 +174,30 @@ class dhcpPlugin extends plugin
     return ($this->attrs);
   }
 
+
+  function removeAttrs($name, $type)
+  {
+    $new= array();
+    foreach ($this->attrs[$type] as $value){
+      if (!preg_match("/^$name /", $value)){
+        $new[]= $value;
+      }
+    }
+    $this->attrs[$type]= $new;
+  }
+
+
+  function removeOption($name)
+  {
+    $this->removeAttrs($name, 'dhcpOption');
+  }
+
+
+  function removeStatement($name)
+  {
+    $this->removeAttrs($name, 'dhcpStatement');
+  }
+
 }
 
 ?>