VuFind API Documentation

AbstractILSChannelProvider extends AbstractChannelProvider
in package
implements TranslatorAwareInterface Uses TranslatorAwareTrait

Abstract base class for channel providers relying on the ILS.

Tags
category

VuFind

author

Demian Katz demian.katz@villanova.edu

license

http://opensource.org/licenses/gpl-2.0.php GNU General Public License

link

Wiki

Interfaces, Classes, Traits and Enums

TranslatorAwareInterface
Lightweight translator aware marker interface (used as an alternative to \Laminas\I18n\Translator\TranslatorAwareInterface, which requires an excessive number of methods to be implemented).

Table of Contents

$channelSize  : int
Number of results to include in each channel.
$channelTitle  : string
Channel title (will be run through translator).
$coverRouter  : Router
Cover router
$ils  : Connection
ILS connection
$maxAge  : int
Maximum age (in days) of results to retrieve.
$providerId  : string
Provider ID
$recordRouter  : Router
Record router
$searchService  : Service
Search service
$translator  : TranslatorInterface
Translator
__construct()  : mixed
Constructor
configureSearchParams()  : void
Hook to configure search parameters before executing search.
getFromRecord()  : array<string|int, mixed>
Return channel information derived from a record driver object.
getFromSearch()  : array<string|int, mixed>
Return channel information derived from a search results object.
getTranslator()  : TranslatorInterface
Get translator object.
getTranslatorLocale()  : string
Get the locale from the translator.
setCoverRouter()  : void
Inject cover router
setOptions()  : void
Set the options for the provider.
setProviderId()  : void
Set an identifier that will be injected as the 'providerId' key of all channels created by this provider.
setRecordRouter()  : void
Inject record router
setTranslator()  : TranslatorAwareInterface
Set a translator
translate()  : string
Translate a string (or string-castable object)
translateWithPrefix()  : string
Translate a string (or string-castable object) using a prefix, or without the prefix if a prefixed translation is not found.
extractIdsFromResponse()  : string
Given one element from the ILS function's response array, extract the ID value.
extractTextDomain()  : array<string|int, mixed>
Given a translation string with or without a text domain, return an array with the raw string and the text domain separated.
getChannel()  : array<string|int, mixed>
Recently returned channel contents are always the same; this does not care about specific records or search parameters.
getDebugTranslation()  : string
Build a debug-mode translation
getIlsResponse()  : array<string|int, mixed>
Retrieve data from the ILS.
sanitizeTranslationKey()  : string
Make sure there are not any illegal characters in the translation key that might prevent successful lookup in language files.
summarizeRecordDrivers()  : array<string|int, mixed>
Convert a search results object into channel contents.
translateString()  : string
Get translation for a string

Properties

$channelTitle

Channel title (will be run through translator).

protected string $channelTitle = 'Please set $channelTitle property!'

Methods

__construct()

Constructor

public __construct(Service $search, Connection $ils[, array<string|int, mixed> $options = [] ]) : mixed
Parameters
$search : Service

Search service

$ils : Connection

ILS connection

$options : array<string|int, mixed> = []

Settings (optional)

Return values
mixed

configureSearchParams()

Hook to configure search parameters before executing search.

public configureSearchParams(Params $params) : void
Parameters
$params : Params

Search parameters to adjust

Tags
SuppressWarnings

(PHPMD.UnusedFormalParameter)

Return values
void

getFromRecord()

Return channel information derived from a record driver object.

public getFromRecord(AbstractBase $driver[, string $channelToken = null ]) : array<string|int, mixed>
Parameters
$driver : AbstractBase

Record driver

$channelToken : string = null

Token identifying a single specific channel to load (if omitted, all channels will be loaded) -- not used in this provider

Tags
SuppressWarnings

(PHPMD.UnusedFormalParameter)

Return values
array<string|int, mixed>

getFromSearch()

Return channel information derived from a search results object.

public getFromSearch(Results $results[, string $channelToken = null ]) : array<string|int, mixed>
Parameters
$results : Results

Search results

$channelToken : string = null

Token identifying a single specific channel to load (if omitted, all channels will be loaded) -- not used in this provider

Tags
SuppressWarnings

(PHPMD.UnusedFormalParameter)

Return values
array<string|int, mixed>

getTranslator()

Get translator object.

public getTranslator() : TranslatorInterface
Return values
TranslatorInterface

getTranslatorLocale()

Get the locale from the translator.

public getTranslatorLocale([string $default = 'en' ]) : string
Parameters
$default : string = 'en'

Default to use if translator absent.

Return values
string

setOptions()

Set the options for the provider.

public setOptions(array<string|int, mixed> $options) : void
Parameters
$options : array<string|int, mixed>

Options

Return values
void

setProviderId()

Set an identifier that will be injected as the 'providerId' key of all channels created by this provider.

public setProviderId(string $id) : void
Parameters
$id : string

Provider ID

Return values
void

setRecordRouter()

Inject record router

public setRecordRouter(Router $recordRouter) : void
Parameters
$recordRouter : Router

Record router.

Return values
void

translate()

Translate a string (or string-castable object)

public translate(string|object|array<string|int, mixed> $target[, array<string|int, mixed> $tokens = [] ][, string $default = null ][, bool $useIcuFormatter = false ][, array<string|int, string> $fallbackDomains = [] ]) : string
Parameters
$target : string|object|array<string|int, mixed>

String to translate or an array of text domain and string to translate

$tokens : array<string|int, mixed> = []

Tokens to inject into the translated string

$default : string = null

Default value to use if no translation is found (null for no default).

$useIcuFormatter : bool = false

Should we use an ICU message formatter instead of the default behavior?

$fallbackDomains : array<string|int, string> = []

Text domains to check if no match is found in the domain specified in $target

Return values
string

translateWithPrefix()

Translate a string (or string-castable object) using a prefix, or without the prefix if a prefixed translation is not found.

public translateWithPrefix(string $prefix, string|object|array<string|int, mixed> $target[, array<string|int, mixed> $tokens = [] ][, string $default = null ][, bool $useIcuFormatter = false ][, array<string|int, string> $fallbackDomains = [] ]) : string
Parameters
$prefix : string

Translation key prefix

$target : string|object|array<string|int, mixed>

String to translate or an array of text domain and string to translate

$tokens : array<string|int, mixed> = []

Tokens to inject into the translated string

$default : string = null

Default value to use if no translation is found (null for no default).

$useIcuFormatter : bool = false

Should we use an ICU message formatter instead of the default behavior?

$fallbackDomains : array<string|int, string> = []

Text domains to check if no match is found in the domain specified in $target

Return values
string

extractIdsFromResponse()

Given one element from the ILS function's response array, extract the ID value.

protected abstract extractIdsFromResponse(array<string|int, mixed> $response) : string
Parameters
$response : array<string|int, mixed>

Response array

Return values
string

extractTextDomain()

Given a translation string with or without a text domain, return an array with the raw string and the text domain separated.

protected extractTextDomain(string|object|array<string|int, mixed> $target) : array<string|int, mixed>
Parameters
$target : string|object|array<string|int, mixed>

String to translate or an array of text domain and string to translate

Return values
array<string|int, mixed>

getChannel()

Recently returned channel contents are always the same; this does not care about specific records or search parameters.

protected getChannel() : array<string|int, mixed>
Return values
array<string|int, mixed>

getDebugTranslation()

Build a debug-mode translation

protected getDebugTranslation(string $domain, string $str, array<string|int, mixed> $tokens) : string
Parameters
$domain : string

Text domain

$str : string

String to translate

$tokens : array<string|int, mixed>

Tokens to inject into the translated string

Return values
string

getIlsResponse()

Retrieve data from the ILS.

protected abstract getIlsResponse() : array<string|int, mixed>
Return values
array<string|int, mixed>

sanitizeTranslationKey()

Make sure there are not any illegal characters in the translation key that might prevent successful lookup in language files.

protected sanitizeTranslationKey(string $key) : string
Parameters
$key : string

Key to sanitize

Return values
string

Sanitized key

summarizeRecordDrivers()

Convert a search results object into channel contents.

protected summarizeRecordDrivers(array<string|int, mixed>|Traversable $drivers) : array<string|int, mixed>
Parameters
$drivers : array<string|int, mixed>|Traversable

Record drivers to summarize.

Return values
array<string|int, mixed>

translateString()

Get translation for a string

protected translateString(string $rawStr[, array<string|int, mixed> $tokens = [] ][, string $default = null ][, string $domain = 'default' ][, bool $useIcuFormatter = false ]) : string
Parameters
$rawStr : string

String to translate

$tokens : array<string|int, mixed> = []

Tokens to inject into the translated string

$default : string = null

Default value to use if no translation is found (null for no default).

$domain : string = 'default'

Text domain (omit for default)

$useIcuFormatter : bool = false

Should we use an ICU message formatter instead of the default behavior?

Return values
string

Search results