Try to set soa_edit_api, if it is not yet set

This commit is contained in:
Mark Schouten 2016-10-25 12:14:07 +02:00
parent 94e0d22bf2
commit 41801a73f6
2 changed files with 26 additions and 7 deletions

View file

@ -26,10 +26,10 @@ class Zone {
$this->setAccount($data['account']); $this->setAccount($data['account']);
$this->setSerial($data['serial']); $this->setSerial($data['serial']);
$this->url = $data['url']; $this->url = $data['url'];
if (isset($data['soa_edit'])) if (isset($data['soa_edit']) && $data['soa_edit'] != "")
$this->setSoaEdit($data['soa_edit']); $this->setSoaEdit($data['soa_edit']);
if (isset($data['soa_edit_api'])) if (isset($data['soa_edit_api']) && $data['soa_edit_api'] != "")
$this->setSoaEditApi($data['soa_edit_api']); $this->setSoaEditApi($data['soa_edit_api'], True);
foreach ($data['masters'] as $master) { foreach ($data['masters'] as $master) {
$this->addMaster($master); $this->addMaster($master);
@ -76,7 +76,12 @@ class Zone {
$this->soa_edit = $soaedit; $this->soa_edit = $soaedit;
} }
public function setSoaEditApi($soaeditapi) { public function setSoaEditApi($soaeditapi, $overwrite=False) {
if (isset($this->soa_edit_api) and $this->soa_edit_api != "") {
if ($overwrite === False) {
return False;
}
}
$this->soa_edit_api = $soaeditapi; $this->soa_edit_api = $soaeditapi;
} }
public function setName($name) { public function setName($name) {
@ -181,8 +186,12 @@ class Zone {
$ret['nameservers'] = $this->nameservers; $ret['nameservers'] = $this->nameservers;
$ret['kind'] = $this->kind; $ret['kind'] = $this->kind;
$ret['name'] = $this->name; $ret['name'] = $this->name;
$ret['soa_edit'] = $this->soa_edit; if (isset($this->soa_edit) && $this->soa_edit != "") {
$ret['soa_edit_api'] = ($this->soa_edit_api == "") ? $defaults['soa_edit_api'] : $this->soa_edit_api; $ret['soa_edit'] = $this->soa_edit;
}
if (isset($this->soa_edit_api) && $this->soa_edit_api != "") {
$ret['soa_edit_api'] = $this->soa_edit_api;
}
if ($this->zone) { if ($this->zone) {
$ret['zone'] = $this->zone; $ret['zone'] = $this->zone;
return $ret; return $ret;

View file

@ -272,7 +272,7 @@ case "create":
$zone->importData($_POST['zone']); $zone->importData($_POST['zone']);
} }
if (isset($defaults['soa_edit_api'])) { if (isset($defaults['soa_edit_api'])) {
$zone->setSoaEditApi($defaults['soa_edit_api']); $zone->setSoaEditApi($defaults['soa_edit_api'], True);
} }
if (isset($defaults['soa_edit'])) { if (isset($defaults['soa_edit'])) {
$zone->setSoaEdit($defaults['soa_edit']); $zone->setSoaEdit($defaults['soa_edit']);
@ -334,6 +334,8 @@ case "create":
case "update": case "update":
$zone = new Zone(); $zone = new Zone();
$zone->parse($api->loadzone($_POST['id'])); $zone->parse($api->loadzone($_POST['id']));
if ($zone->setSoaEditApi($defaults['soa_edit_api']) != False)
writelog("Set SOA-EDIT-API to ".$defaults['soa_edit_api']." for ",$zone->name);
$zoneaccount = isset($_POST['account']) ? $_POST['account'] : $zone->account; $zoneaccount = isset($_POST['account']) ? $_POST['account'] : $zone->account;
if ($zone->account !== $zoneaccount) { if ($zone->account !== $zoneaccount) {
@ -360,6 +362,8 @@ case "update":
case "createrecord": case "createrecord":
$zone = new Zone(); $zone = new Zone();
$zone->parse($api->loadzone($_GET['zoneid'])); $zone->parse($api->loadzone($_GET['zoneid']));
if ($zone->setSoaEditApi($defaults['soa_edit_api']) != False)
writelog("Set SOA-EDIT-API to ".$defaults['soa_edit_api']." for ",$zone->name);
$name = isset($_POST['name']) ? $_POST['name'] : ''; $name = isset($_POST['name']) ? $_POST['name'] : '';
$type = $_POST['type']; $type = $_POST['type'];
@ -404,6 +408,8 @@ case "createrecord":
case "editrecord": case "editrecord":
$zone = new Zone(); $zone = new Zone();
$zone->parse($api->loadzone($_GET['zoneid'])); $zone->parse($api->loadzone($_GET['zoneid']));
if ($zone->setSoaEditApi($defaults['soa_edit_api']) != False)
writelog("Set SOA-EDIT-API to ".$defaults['soa_edit_api']." for ",$zone->name);
$old_record = decode_record_id(isset($_POST['id']) ? $_POST['id'] : ''); $old_record = decode_record_id(isset($_POST['id']) ? $_POST['id'] : '');
@ -421,6 +427,8 @@ case "editrecord":
case "deleterecord": case "deleterecord":
$zone = new Zone(); $zone = new Zone();
$zone->parse($api->loadzone($_GET['zoneid'])); $zone->parse($api->loadzone($_GET['zoneid']));
if ($zone->setSoaEditApi($defaults['soa_edit_api']) != False)
writelog("Set SOA-EDIT-API to ".$defaults['soa_edit_api']." for ",$zone->name);
$old_record = decode_record_id(isset($_POST['id']) ? $_POST['id'] : ''); $old_record = decode_record_id(isset($_POST['id']) ? $_POST['id'] : '');
$rrset = $zone->getRRSet($old_record['name'], $old_record['type']); $rrset = $zone->getRRSet($old_record['name'], $old_record['type']);
@ -451,6 +459,8 @@ case "clone":
$srczone = new Zone(); $srczone = new Zone();
$srczone->parse($api->loadzone($src)); $srczone->parse($api->loadzone($src));
if ($srczone->setSoaEditApi($defaults['soa_edit_api']) != False)
writelog("Set SOA-EDIT-API to ".$defaults['soa_edit_api']." for ",$srczone->name);
$srczone->setId(''); $srczone->setId('');
$srczone->setName($name); $srczone->setName($name);