class ZoneSearch extends BaseSearch (View source)

Properties

protected object $db from  BaseSearch
protected string $db_type from  BaseSearch
protected ConfigurationInterface $config from  BaseSearch
protected IPAddressValidator $ipValidator from  BaseSearch
protected UserContextService $userContext from  BaseSearch

Methods

__construct($db, $config, string $db_type, IPAddressValidator|null $ipValidator = null, UserContextService|null $userContext = null)

No description

array
buildSearchString(array $parameters)

Builds the search string for the given parameters.

string
buildRawSearchString(array $parameters)

The needle for free-text columns. Record content and comments hold whatever the user typed, so the punycoded form of the query cannot match them.

array
idnNamesMatching(string $table, string $column, string $query)

Punycode names whose decoded form contains the query.

string
idnNameCondition(string $table, string $column, string $query, string $prefix, array $params)

Extend a name predicate so partial IDN queries match. Returns the SQL to append, binding one placeholder per matching name into $params.

string
handleSqlMode()

No description

void
restoreSqlMode(string $originalSqlMode)

Restores the original SQL mode for the MySQL database connection if needed.

array
searchZones(array $parameters, string $permission_view, string $sort_zones_by, string $zone_sort_direction, int $iface_rowamount, bool $iface_zone_comments, int $page)

Search for zones based on specified parameters.

array
prepareFoundZones(array $zones)

Prepares the list of found zones by aggregating owner details and converting domain names to UTF-8.

array
fetchZones(array $parameters, mixed $search_string, bool $reverse, mixed $reverse_search_string, string $permission_view, string $sort_zones_by, string $zone_sort_direction, int $iface_rowamount, bool $iface_zone_comments, int $page)

Fetch zones based on specified search criteria and pagination.

int
getTotalZones(array $parameters, string $permission_view)

Get the total number of zones based on the specified search criteria.

int
getFoundZones(array $parameters, mixed $search_string, bool $reverse, mixed $reverse_search_string, string $permission_view)

Get the number of found zones based on the search criteria.

Details

__construct($db, $config, string $db_type, IPAddressValidator|null $ipValidator = null, UserContextService|null $userContext = null)

No description

Parameters

$db
$config
string $db_type
IPAddressValidator|null $ipValidator
UserContextService|null $userContext

protected array buildSearchString(array $parameters)

Builds the search string for the given parameters.

Parameters

array $parameters

An array containing search parameters, including 'reverse' for reverse DNS lookup, 'query' for the search term, and 'wildcard' for enabling/disabling wildcard search.

Return Value

array

An array containing the reverse search string, the updated parameters, and the generated search string.

protected string buildRawSearchString(array $parameters)

The needle for free-text columns. Record content and comments hold whatever the user typed, so the punycoded form of the query cannot match them.

Parameters

array $parameters

Return Value

string

protected array idnNamesMatching(string $table, string $column, string $query)

Punycode names whose decoded form contains the query.

The punycode of a substring is not a substring of the punycode, so a partial query like "munch" can never match "xn--mnchen-3ya" through LIKE. Decoding the IDN names and comparing in PHP is bounded to the rows that are actually punycode.

Parameters

string $table
string $column
string $query

Return Value

array

protected string idnNameCondition(string $table, string $column, string $query, string $prefix, array $params)

Extend a name predicate so partial IDN queries match. Returns the SQL to append, binding one placeholder per matching name into $params.

Parameters

string $table
string $column
string $query
string $prefix
array $params

Return Value

string

protected string handleSqlMode()

No description

Return Value

string

protected void restoreSqlMode(string $originalSqlMode)

Restores the original SQL mode for the MySQL database connection if needed.

Parameters

string $originalSqlMode

The original SQL mode to be restored.

Return Value

void

array searchZones(array $parameters, string $permission_view, string $sort_zones_by, string $zone_sort_direction, int $iface_rowamount, bool $iface_zone_comments, int $page)

Search for zones based on specified parameters.

Parameters

array $parameters

An array of search parameters.

string $permission_view

The permission view for the search (e.g. 'all' or 'own' zones).

string $sort_zones_by

The column to sort the zone results by.

string $zone_sort_direction
int $iface_rowamount

The number of rows to display per page.

bool $iface_zone_comments

The number of zone comments to display.

int $page

The current page number.

Return Value

array

An array of found zones.

array prepareFoundZones(array $zones)

Prepares the list of found zones by aggregating owner details and converting domain names to UTF-8.

Parameters

array $zones

An array of zone data retrieved from the database.

Return Value

array

An array of prepared zone data with aggregated owner details and domain names converted to UTF-8.

array fetchZones(array $parameters, mixed $search_string, bool $reverse, mixed $reverse_search_string, string $permission_view, string $sort_zones_by, string $zone_sort_direction, int $iface_rowamount, bool $iface_zone_comments, int $page)

Fetch zones based on specified search criteria and pagination.

Parameters

array $parameters

Search parameters

mixed $search_string

Search string for matching zones

bool $reverse

Whether to perform a reverse search

mixed $reverse_search_string

Reverse search string for matching zones

string $permission_view

Permission view for the search

string $sort_zones_by

Column to sort zones by

string $zone_sort_direction

Sort direction

int $iface_rowamount

Rows per page

bool $iface_zone_comments

Whether to display zone comments

int $page

Current page number

Return Value

array

Found zones

int getTotalZones(array $parameters, string $permission_view)

Get the total number of zones based on the specified search criteria.

Parameters

array $parameters

Array of parameters to configure the search.

string $permission_view

The permission view for the search (e.g. 'all' or 'own' zones).

Return Value

int

The total number of zones found.

int getFoundZones(array $parameters, mixed $search_string, bool $reverse, mixed $reverse_search_string, string $permission_view)

Get the number of found zones based on the search criteria.

Parameters

array $parameters

An array of search parameters.

mixed $search_string

The search string to be used in the query.

bool $reverse

Whether to perform a reverse search or not.

mixed $reverse_search_string

The reversed search string to be used in the query.

string $permission_view

The permission view for the search (e.g. 'all' or 'own' zones).

Return Value

int

The number of zones found.