ApiZoneSearch
final class ApiZoneSearch extends ApiSearchBase implements ZoneSearchInterface (View source)
Zone search over the PowerDNS API, enriched with owners and comments from Poweradmin's zones table and filtered, sorted and paged in memory.
Methods
No description
Punycode normalization and reverse IP expansion, matching what BaseSearch::buildSearchString() does for the SQL search.
Drop the results of a zone whose canonical id another zone shares and opens (see SharedZoneIds).
No description
Counts every match unpaged, so record counts stay off: they would cost an API call per matched zone only to be discarded.
Details
__construct(PDO $db, DnsBackendProviderInterface $backendProvider, ZoneRepositoryInterface $zoneRepository)
No description
protected array
preprocessSearchQuery(array $parameters)
Punycode normalization and reverse IP expansion, matching what BaseSearch::buildSearchString() does for the SQL search.
protected array
ownedZoneIds(int $userId)
No description
protected array
keepOpenedZones(array $items, string $idKey, string $nameKey)
Drop the results of a zone whose canonical id another zone shares and opens (see SharedZoneIds).
protected string
canonicalZoneId(string $alias)
No description
array
searchZones(array $parameters, string $permissionView, int|null $userId, string $sortBy, string $sortDirection, int $rowAmount, bool $includeComments, int $page)
No description
int
getTotalZones(array $parameters, string $permissionView, int|null $userId)
Counts every match unpaged, so record counts stay off: they would cost an API call per matched zone only to be discarded.