summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b42d3fb)
raw | patch | inline | side by side (parent: b42d3fb)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 12 Sep 2007 07:23:40 +0000 (07:23 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Wed, 12 Sep 2007 07:23:40 +0000 (07:23 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@7275 594d385d-05f5-0310-b6e9-bd551577e9d8
plugins/admin/systems/class_servDNSeditZoneEntries.inc | patch | blob | history |
diff --git a/plugins/admin/systems/class_servDNSeditZoneEntries.inc b/plugins/admin/systems/class_servDNSeditZoneEntries.inc
index 30e26827326b18a174f5715dcd0499d774b076cd..bb6213504e15bd112d0f3b43d31cd67be27fd2f7 100644 (file)
if(isset($this->RecordTypes['nSRecord'])){
unset($this->RecordTypes['nSRecord']);
}
+ /* Remove nSRecord from listed types */
+ if(isset($this->RecordTypes['pTRRecord'])){
+ unset($this->RecordTypes['pTRRecord']);
+ }
/* Get ldap connection
*/
{
plugin::execute();
-
-
/* Fill templating stuff */
$smarty= get_smarty();
$display= "";
/* Check posts for operations ...
*/
$once = true;
+ $ptr_updates = array();
foreach($_POST as $name => $value){
/* Add a new Record in given object
unset($this->Devices[$Name]['RECORDS'][$RecordID]);
}
}
-
- /* Add PTR record
- */
- if((preg_match("/^AddPtr_/",$name)) && ($once)){
- $once = false;
- if(isset($this->Devices[$Name]['RECORDS'][$RecordID])){
- $tmp = $this->Devices[$Name]['RECORDS'][$RecordID];
- $ip = $tmp['value'];
- $match = preg_replace("/^[^\/]*+\//","",$this->reverseName);
- $ip = preg_replace("/^".normalizePreg($match)."/","",$ip);
- $ip = preg_replace("/^\./","",$ip);
- $tmp['type'] = "pTRRecord";
- $tmp['value'] = $ip;
- $this->Devices[$Name]['RECORDS'][] = $tmp;
- }
- }
}
/* Possible attributes posted
*/
if(preg_match("/ValueSelection_/",$name)){
if(isset($this->Devices[$Name]['RECORDS'][$RecordID])){
+
+ /* Update value */
+ $old = $this->Devices[$Name]['RECORDS'][$RecordID]['value'];
$this->Devices[$Name]['RECORDS'][$RecordID]['value'] = $value;
+
+ /* Handle pTRRecord */
+ if(!isset($ptr_updates[$Name]) && $this->Devices[$Name]['RECORDS'][$RecordID]['type'] == "aRecord"){
+
+ $found = false;
+ $ip = $value;
+ $match = preg_replace("/^[^\/]*+\//","",$this->reverseName);
+ $ip = preg_replace("/^".normalizePreg($match)."/","",$ip);
+ $ip = preg_replace("/^\./","",$ip);
+
+ foreach($this->Devices[$Name]['RECORDS'] as $key => $dev){
+ if($dev['type'] == "pTRRecord"){
+ $ptr_updates[$Name] = $Name;
+ $this->Devices[$Name]['RECORDS'][$key]['value'] = $ip;
+ $found = true;
+ break;
+ }
+ }
+ if(!$found){
+ $dev = array('type'=> 'pTRRecord', 'value' => $ip);
+ $this->Devices[$Name]['RECORDS'][] = $dev;
+ }
+ }
}
}
$str.= "<table cellspacing='0' cellpadding='0'>";
foreach($obj['RECORDS'] as $id => $record){
+ /* Skip not selectable entries */
+ if(!isset($this->RecordTypes [$record['type']])) {
+ continue;
+ }
+
/* Create unique post name
*/
$name = base64_encode($objKey)."|".$id;
<input type='image' name='RemoveRecord_".$name."' src='images/edittrash.png' alt='"._("Remove")."' title='"._("Remove")."'>
";
- if($record['type'] == "aRecord"){
- $str .="<input type='image' name='AddPtr_".$name."' src='images/network.png'
- alt='"._("Add PTR")."' title='"._("Add PTR record")."'>";
- }else{
- $str .= "<img src='images/empty.png' alt=''>";
- }
+# if($record['type'] == "aRecord"){
+# $str .="<input type='image' name='AddPtr_".$name."' src='images/network.png'
+# alt='"._("Add PTR")."' title='"._("Add PTR record")."'>";
+# }else{
+# $str .= "<img src='images/empty.png' alt=''>";
+# }
$str.=
"</td>