mirror of
https://github.com/tuxis-ie/nsedit.git
synced 2025-04-19 20:09:14 +03:00
Merge pull request #166 from Rico29/master
notify pdns slaves after zone update
This commit is contained in:
commit
ed27b5e7d1
3 changed files with 19 additions and 1 deletions
|
@ -84,6 +84,14 @@ class PdnsAPI {
|
|||
|
||||
return $this->loadzone($zone['id']);
|
||||
}
|
||||
public function notifyzone($zoneid) {
|
||||
$api = clone $this->http;
|
||||
$api->method = 'PUT';
|
||||
$api->url = "/servers/localhost/zones/$zoneid/notify";
|
||||
$api->call();
|
||||
|
||||
return $api->json;
|
||||
}
|
||||
|
||||
public function deletezone($zoneid) {
|
||||
$api = clone $this->http;
|
||||
|
|
|
@ -9,6 +9,7 @@ $allowzoneadd = FALSE; # Allow normal users to add zones
|
|||
$logging = TRUE;
|
||||
$allowclearlogs = TRUE; # Allow clearing of log entries
|
||||
$allowrotatelogs = FALSE;# Allow rotation to text file on server
|
||||
$notifyafterupdate = TRUE;# send notify to slaves after zone update
|
||||
|
||||
# Log directory - if allowrotatelogs is set, this is where the logs will
|
||||
# be written. It must be writeable by the web server user.
|
||||
|
|
11
zones.php
11
zones.php
|
@ -304,6 +304,7 @@ case "create":
|
|||
}
|
||||
|
||||
$api->savezone($zone->export());
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
|
||||
$zone = new Zone();
|
||||
$zone->parse($api->loadzone($zonename));
|
||||
|
@ -327,7 +328,8 @@ case "create":
|
|||
$rrset->delete();
|
||||
}
|
||||
}
|
||||
$api->savezone($zone->export());
|
||||
$api->savezone($zone->export());
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
|
||||
foreach ($template['records'] as $record) {
|
||||
$name = $record['name'] != '' ? join(Array($record['name'],'.',$zonename)) : $zonename;
|
||||
|
@ -340,6 +342,7 @@ case "create":
|
|||
}
|
||||
|
||||
$zone = $api->savezone($zone->export());
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
writelog("Created zone ".$zone['name']);
|
||||
jtable_respond($zone, 'single');
|
||||
break;
|
||||
|
@ -370,6 +373,7 @@ case "update":
|
|||
|
||||
writelog("Updated zone ".$zone->name);
|
||||
jtable_respond($api->savezone($zone->export()), 'single');
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
break;
|
||||
|
||||
case "createrecord":
|
||||
|
@ -411,6 +415,7 @@ case "createrecord":
|
|||
|
||||
$record = $zone->addRecord($name, $type, $content, $_POST['disabled'], $_POST['ttl'], $_POST['setptr']);
|
||||
$api->savezone($zone->export());
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
|
||||
writelog("Created record: ".$record['id']);
|
||||
jtable_respond($record, 'single');
|
||||
|
@ -436,6 +441,7 @@ case "editrecord":
|
|||
$zone->addRecord($_POST['name'], $_POST['type'], $content, $_POST['disabled'], $_POST['ttl'], $_POST['setptr']);
|
||||
|
||||
$api->savezone($zone->export());
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
|
||||
$record = $zone->getRecord($_POST['name'], $_POST['type'], $content);
|
||||
writelog("Updated record ".$_POST['id']." to ".$record['id']);
|
||||
|
@ -453,6 +459,7 @@ case "deleterecord":
|
|||
$rrset->deleteRecord($old_record['content']);
|
||||
|
||||
$api->savezone($zone->export());
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
|
||||
writelog("Deleted record ".$_POST['id']);
|
||||
jtable_respond(null, 'delete');
|
||||
|
@ -486,6 +493,7 @@ case "clone":
|
|||
$srczone->setKind($_POST['kind']);
|
||||
|
||||
$zone = $api->savezone($srczone->export());
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
|
||||
$srczone->parse($zone);
|
||||
|
||||
|
@ -504,6 +512,7 @@ case "clone":
|
|||
}
|
||||
|
||||
$zone = $api->savezone($srczone->export());
|
||||
if ($notifyafterupdate) $api->notifyzone($_GET['zoneid']);
|
||||
|
||||
writelog("Cloned zone $src into $name");
|
||||
jtable_respond($zone, 'single');
|
||||
|
|
Loading…
Add table
Reference in a new issue