ResultPaginator
class ResultPaginator (View source)
In-memory sorting, filtering, and pagination for datasets.
Used when the DNS backend (API) returns all results at once and pagination/sorting must be handled in PHP rather than SQL.
Methods
Sort an array of associative arrays by a given key.
Sort records while keeping zone-level metadata grouped at the top.
Filter dataset by starting letter of a field.
Filter dataset by pattern match across multiple fields.
Filter dataset by exact value of a field.
Apply offset and limit to a dataset.
Get distinct starting letters from a dataset field.
Details
static array
sort(array $data, string $sortBy, string $direction = 'ASC')
Sort an array of associative arrays by a given key.
static array
sortRecords(array $data, string $sortBy, string $direction = 'ASC', string $apexName = '')
Sort records while keeping zone-level metadata grouped at the top.
SOA, NS, and apex records are pinned above the rest regardless of the sort column or direction, so the zone header stays together while the user sorts through the body. Mirrors the SQL backend ordering for #1250.
static array
filterByLetter(array $data, string $letter, string $field = 'name')
Filter dataset by starting letter of a field.
static array
filterByPattern(array $data, string $pattern, array $fields)
Filter dataset by pattern match across multiple fields.
static array
filterByValue(array $data, string $field, string $value)
Filter dataset by exact value of a field.
static array
paginate(array $data, int $offset, int $limit)
Apply offset and limit to a dataset.
static array
getDistinctLetters(array $data, string $field = 'name')
Get distinct starting letters from a dataset field.