VuFind API Documentation

TrendingILSItems extends AbstractILSChannelProvider
in package

"Trending ILS items" channel provider.

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

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 = 'trending_items_channel_title'

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 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 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