class SearchModel (View source)

The Search model.

Properties

private $Automad The Automad results.
private $regexFlags The search regex flags.
private $searchValue The search value.

Methods

__construct(Automad $Automad, string $searchValue, bool $isRegex, bool $isCaseSensitive)

Initialize a new search model for a search value, optionally used as a regular expression.

array
searchPerFile()

Perform a search in all data arrays and return an array with FileResultsModel.

array
appendFieldResults(array $resultsArray, FieldResultsModel|null $results)

Append an item to a given array only in case it is an results.

bool
isValidBlockProperty(string $property)

Check whether a property name represents a valid block property.

mergeFieldResults(string $key, array $results)

Merge an array of FieldResultsModel into a single results.

searchArrayRecursively(string $key, array $array)

Search an array of values recursively.

searchBlocksRecursively(string $key, array $blocks)

Perform a search in a block field recursively and return a FieldResultsModel results for a given search value.

array
searchData(array $data)

Perform a search in a single data array and return an array of FieldResultsModel.

searchTextField(string $key, string $value)

Perform a search in a single data field and return a FieldResultsModel results for a given search value.

Details

__construct(Automad $Automad, string $searchValue, bool $isRegex, bool $isCaseSensitive)

Initialize a new search model for a search value, optionally used as a regular expression.

Parameters

Automad $Automad
string $searchValue
bool $isRegex
bool $isCaseSensitive

array searchPerFile()

Perform a search in all data arrays and return an array with FileResultsModel.

Return Value

array an array of FileResultsModel

See also

FileResultsModel

private array appendFieldResults(array $resultsArray, FieldResultsModel|null $results)

Append an item to a given array only in case it is an results.

Parameters

array $resultsArray
FieldResultsModel|null $results

Return Value

array the results array

private bool isValidBlockProperty(string $property)

Check whether a property name represents a valid block property.

Parameters

string $property

Return Value

bool true if the property name is in the whitelist

private FieldResultsModel|null mergeFieldResults(string $key, array $results)

Merge an array of FieldResultsModel into a single results.

Parameters

string $key
array $results

Return Value

FieldResultsModel|null a field results results

private FieldResultsModel searchArrayRecursively(string $key, array $array)

Search an array of values recursively.

Parameters

string $key
array $array

Return Value

FieldResultsModel a field results results

private FieldResultsModel|null searchBlocksRecursively(string $key, array $blocks)

Perform a search in a block field recursively and return a FieldResultsModel results for a given search value.

Parameters

string $key
array $blocks

Return Value

FieldResultsModel|null a field results results

private array searchData(array $data)

Perform a search in a single data array and return an array of FieldResultsModel.

Parameters

array $data

Return Value

array an array of FieldResultsModel resultss

See also

FieldResultsModel

private FieldResultsModel searchTextField(string $key, string $value)

Perform a search in a single data field and return a FieldResultsModel results for a given search value.

Parameters

string $key
string $value

Return Value

FieldResultsModel the field results