|
@@ -15,7 +15,7 @@
|
|
|
/** Are we impersonating an email address or an ID? */
|
|
|
private $impersonateType = FALSE;
|
|
|
/** Are we accessing domain functions with admin override? */
|
|
|
- private $domainAdminOverride = FALSE;
|
|
|
+ private $domainAdmin = FALSE;
|
|
|
/** Debug mode value. */
|
|
|
private $debug = FALSE;
|
|
|
/** Last API Response */
|
|
@@ -329,7 +329,7 @@
|
|
|
* @param $value (Default: true) Set value for domain admin override.
|
|
|
*/
|
|
|
public function domainAdmin($value = true) {
|
|
|
- $this->domainAdminOverride = true;
|
|
|
+ $this->domainAdmin = true;
|
|
|
|
|
|
return $this;
|
|
|
}
|
|
@@ -342,7 +342,7 @@
|
|
|
public function getDomains() {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- $result = $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains');
|
|
|
+ $result = $this->api(($this->domainAdmin ? '/admin' : '') . '/domains');
|
|
|
return isset($result['response']) ? $result['response'] : [];
|
|
|
}
|
|
|
|
|
@@ -361,7 +361,7 @@
|
|
|
$data['owner'] = $owner;
|
|
|
}
|
|
|
|
|
|
- return $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains', 'POST', $data);
|
|
|
+ return $this->api(($this->domainAdmin ? '/admin' : '') . '/domains', 'POST', $data);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -373,7 +373,7 @@
|
|
|
public function deleteDomain($domain) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- return $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain, 'DELETE');
|
|
|
+ return $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain, 'DELETE');
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -385,7 +385,7 @@
|
|
|
public function getDomainData($domain) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- $result = $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain);
|
|
|
+ $result = $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain);
|
|
|
return isset($result['response']) ? $result['response'] : NULL;
|
|
|
}
|
|
|
|
|
@@ -399,7 +399,7 @@
|
|
|
public function setDomainData($domain, $data) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- return $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain, 'POST', $data);
|
|
|
+ return $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain, 'POST', $data);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -411,7 +411,7 @@
|
|
|
public function getDomainAccess($domain) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- $result = $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain . '/access');
|
|
|
+ $result = $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/access');
|
|
|
return isset($result['response']['access']) ? $result['response']['access'] : [];
|
|
|
}
|
|
|
|
|
@@ -425,7 +425,7 @@
|
|
|
public function setDomainAccess($domain, $data) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- return $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain . '/access', 'POST', $data);
|
|
|
+ return $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/access', 'POST', $data);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -437,7 +437,7 @@
|
|
|
public function syncDomain($domain) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- return $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain . '/sync');
|
|
|
+ return $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/sync');
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -449,7 +449,7 @@
|
|
|
public function exportZone($domain) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- $result = $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain . '/export');
|
|
|
+ $result = $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/export');
|
|
|
return isset($result['response']['zone']) ? $result['response']['zone'] : [];
|
|
|
}
|
|
|
|
|
@@ -463,7 +463,7 @@
|
|
|
public function importZone($domain, $zone) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- return $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain . '/import', 'POST', ['zone' => $zone]);
|
|
|
+ return $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/import', 'POST', ['zone' => $zone]);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -476,7 +476,22 @@
|
|
|
public function getDomainRecords($domain) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- $result = $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain . '/records');
|
|
|
+ $result = $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/records');
|
|
|
+ return isset($result['response']['records']) ? $result['response']['records'] : [];
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get domain records for a given domain filtered by name
|
|
|
+ *
|
|
|
+ * @param $domain Domain to get records for
|
|
|
+ * @param $name Record name to get
|
|
|
+ * @param $type (Optional) optional type to limit to
|
|
|
+ * @return Array of records or an empty array.
|
|
|
+ */
|
|
|
+ public function getDomainRecordsByName($domain, $name, $type = null) {
|
|
|
+ if ($this->auth === FALSE) { return []; }
|
|
|
+
|
|
|
+ $result = $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/record/' . $name . ($type != null ? '/' . $type : ''));
|
|
|
return isset($result['response']['records']) ? $result['response']['records'] : [];
|
|
|
}
|
|
|
|
|
@@ -490,7 +505,36 @@
|
|
|
public function setDomainRecords($domain, $data) {
|
|
|
if ($this->auth === FALSE) { return []; }
|
|
|
|
|
|
- return $this->api(($this->domainAdminOverride ? '/admin' : '') . '/domains/' . $domain . '/records', 'POST', $data);
|
|
|
+ return $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/records', 'POST', $data);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Delete records for a given domain.
|
|
|
+ *
|
|
|
+ * @param $domain Domain to delete records for
|
|
|
+ * @return Result from API
|
|
|
+ */
|
|
|
+ public function deleteDomainRecords($domain) {
|
|
|
+ if ($this->auth === FALSE) { return []; }
|
|
|
+
|
|
|
+ $result = $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/records', 'DELETE');
|
|
|
+ return $result['response'];
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Delete records for a given domain.
|
|
|
+ *
|
|
|
+ * @param $domain Domain to delete records for
|
|
|
+ * @param $name Record name to delete
|
|
|
+ * @param $type (Optional) optional type to limit delete to
|
|
|
+ * @return Result from API
|
|
|
+ */
|
|
|
+ public function deleteDomainRecordsByName($domain, $name, $type = null) {
|
|
|
+ if ($this->auth === FALSE) { return []; }
|
|
|
+
|
|
|
+ $result = $this->api(($this->domainAdmin ? '/admin' : '') . '/domains/' . $domain . '/record/' . $name . ($type != null ? '/' . $type : ''), 'DELETE');
|
|
|
+ return $result['response'];
|
|
|
}
|
|
|
|
|
|
/**
|