DevtoolsController
extends AbstractBase
in package
Development Tools Controller
Tags
Table of Contents
- $accessDeniedBehavior : string
- Behavior when access is denied (used unless overridden through permissionBehavior.ini). Valid values are 'promptLogin' and 'exception'.
- $accessPermission : string|bool|null
- Permission that must be granted to access this module (false for no restriction, null to use configured default (which is usually the same as false)).
- $serviceLocator : ContainerInterface
- Service manager
- $translator : TranslatorInterface
- Translator
- __construct() : mixed
- Constructor
- captcha() : Captcha
- confirm() : mixed
- Confirm an action.
- dbUpgrade() : DbUpgrade
- deminifyAction() : ViewModel
- Deminify action
- flashMessenger() : FlashMessenger
- followup() : Followup
- forceLogin() : mixed
- Redirect the user to the login screen.
- forwardTo() : mixed
- Convenience method to make invocation of forward() helper less verbose.
- getAccessPermission() : string|bool|null
- Getter for access permission (string for required permission name, false for no permission required, null to use default permission).
- getConfig() : Config
- Get a VuFind configuration.
- getDbService() : T
- Get a database service object.
- getILS() : Connection
- Get the ILS connection.
- getRecordCache() : Cache
- Get the record cache
- getRecordLoader() : Loader
- Get the record loader
- getRecordRouter() : Router
- Get the record router.
- getRequest() : Request
- Get request object
- getSearchMemory() : Memory
- Get the search memory
- getServerUrl() : string
- Get the full URL to one of VuFind's routes.
- getService() : T
- Retrieve a service
- getTable() : Gateway
- Get a database table object.
- getTranslator() : TranslatorInterface
- Get translator object.
- getTranslatorLocale() : string
- Get the locale from the translator.
- holds() : Holds
- homeAction() : ViewModel
- Home action
- iconAction() : array<string|int, mixed>
- Icon action
- ILLRequests() : ILLRequests
- ilsRecords() : IlsRecords
- languageAction() : array<string|int, mixed>
- Language action
- newItems() : NewItems
- permission() : Permission
- permissionsAction() : array<string|int, mixed>
- Permissions action
- renewals() : Renewals
- reserves() : Reserves
- resultScroller() : ResultScroller
- setAccessPermission() : void
- Getter for access permission.
- setTranslator() : TranslatorAwareInterface
- Set a translator
- storageRetrievalRequests() : StorageRetrievalRequests
- 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.
- validateAccessPermission() : void
- Use preDispatch event to block access when appropriate.
- attachDefaultListeners() : void
- Register the default events for this controller
- catalogLogin() : bool|array<string|int, mixed>|ViewModel
- Does the user have catalog credentials available? Returns associative array of patron data if so, otherwise forwards to appropriate login prompt and returns false. If there is an ILS exception, a flash message is added and a newly created ViewModel is returned.
- clearFollowupUrl() : void
- Sometimes we need to unset the followup to trigger default behaviors
- commentsEnabled() : bool
- Are comments enabled?
- createEmailViewModel() : ViewModel
- Create a new ViewModel to use as an email form.
- createViewModel() : ViewModel
- Create a new ViewModel.
- disableSessionWrites() : void
- Prevent session writes -- this is designed to be called prior to time- consuming AJAX operations to help reduce the odds of a timing-related bug that causes the wrong version of session data to be written to disk (see VUFIND-716 for more details).
- 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.
- formWasSubmitted() : bool
- Check to see if a form was submitted from its post value Also validate the Captcha, if it's activated
- getAndClearFollowupUrl() : string
- Retrieve a referer to keep post-login redirect pointing to an appropriate location.
- getAuthManager() : Manager
- Get the account manager object.
- getAuthorizationService() : AuthorizationService
- Get the authorization service (note that we're doing this on-demand rather than through injection with the AuthorizationServiceAwareInterface to minimize expensive initialization when authorization is not needed.
- getDebugTranslation() : string
- Build a debug-mode translation
- getILSAuthenticator() : ILSAuthenticator
- Get the ILS authenticator.
- getILSLoginMethod() : string
- What login method does the ILS use (password, email, vufind)
- getILSLoginSettings() : array<string|int, mixed>
- Get settings required for displaying the catalog login form
- getQueryBuilder() : object
- Fetch the query builder for the specified search backend. Return null if unavailable.
- getRecordTabManager() : TabManager
- Get the tab configuration for this controller.
- getRefreshResponse() : Response
- Construct an HTTP 205 (refresh) response. Useful for reporting success in the lightbox without actually rendering content.
- getUser() : UserEntityInterface|null
- Get the user object if logged in, false otherwise.
- getViewRenderer() : RendererInterface
- Get the view renderer
- hasFollowupUrl() : bool
- Checks if a followup url is set
- inLightbox() : bool
- Are we currently in a lightbox context?
- isLocalUrl() : bool
- Is the provided URL local to this instance?
- listsEnabled() : bool
- Are lists enabled?
- normalizeUrlForComparison() : string
- Normalize the referer URL so that inconsistencies in protocol and trailing slashes do not break comparisons.
- sanitizeTranslationKey() : string
- Make sure there are not any illegal characters in the translation key that might prevent successful lookup in language files.
- setFollowupUrlToReferer() : void
- Store a referer (if appropriate) to keep post-login redirect pointing to an appropriate location. This is used when the user clicks the log in link from an arbitrary page or when a password is mistyped; separate logic is used for storing followup information when VuFind forces the user to log in from another context.
- tagsEnabled() : bool
- Are tags enabled?
- translateString() : string
- Get translation for a string
Properties
$accessDeniedBehavior
Behavior when access is denied (used unless overridden through permissionBehavior.ini). Valid values are 'promptLogin' and 'exception'.
protected
string
$accessDeniedBehavior
= null
Leave at null to use the defaultDeniedControllerBehavior set in permissionBehavior.ini (normally 'promptLogin' unless changed).
$accessPermission
Permission that must be granted to access this module (false for no restriction, null to use configured default (which is usually the same as false)).
protected
string|bool|null
$accessPermission
= null
$serviceLocator
Service manager
protected
ContainerInterface
$serviceLocator
$translator
Translator
protected
TranslatorInterface
$translator
= null
Methods
__construct()
Constructor
public
__construct(ServiceLocatorInterface $sm) : mixed
Parameters
- $sm : ServiceLocatorInterface
-
Service locator
Return values
mixed —captcha()
public
captcha() : Captcha
Captcha plugin
Return values
Captcha —confirm()
Confirm an action.
public
confirm(string $title, string $yesTarget, string $noTarget[, string|array<string|int, mixed> $messages = [] ][, array<string|int, mixed> $extras = [] ]) : mixed
Parameters
- $title : string
-
Title of confirm dialog
- $yesTarget : string
-
Form target for "confirm" action
- $noTarget : string
-
Form target for "cancel" action
- $messages : string|array<string|int, mixed> = []
-
Info messages for confirm dialog
- $extras : array<string|int, mixed> = []
-
Extra details to include in form
Return values
mixed —dbUpgrade()
public
dbUpgrade() : DbUpgrade
DbUpgrade plugin
Return values
DbUpgrade —deminifyAction()
Deminify action
public
deminifyAction() : ViewModel
Return values
ViewModel —flashMessenger()
public
flashMessenger() : FlashMessenger
FlashMessenger plugin
Return values
FlashMessenger —followup()
public
followup() : Followup
Followup plugin
Return values
Followup —forceLogin()
Redirect the user to the login screen.
public
forceLogin([string $msg = null ][, array<string|int, mixed> $extras = [] ][, bool $forward = true ]) : mixed
Parameters
- $msg : string = null
-
Flash message to display on login screen
- $extras : array<string|int, mixed> = []
-
Associative array of extra fields to store
- $forward : bool = true
-
True to forward, false to redirect
Return values
mixed —forwardTo()
Convenience method to make invocation of forward() helper less verbose.
public
forwardTo(string $controller, string $action[, array<string|int, mixed> $params = [] ]) : mixed
Parameters
- $controller : string
-
Controller to invoke
- $action : string
-
Action to invoke
- $params : array<string|int, mixed> = []
-
Extra parameters for the RouteMatch object (no need to provide action here, since $action takes care of that)
Return values
mixed —getAccessPermission()
Getter for access permission (string for required permission name, false for no permission required, null to use default permission).
public
getAccessPermission() : string|bool|null
Return values
string|bool|null —getConfig()
Get a VuFind configuration.
public
getConfig([string $id = 'config' ]) : Config
Parameters
- $id : string = 'config'
-
Configuration identifier (default = main VuFind config)
Return values
Config —getDbService()
Get a database service object.
public
getDbService(class-string<\VuFind\Controller\T> $name) : T
Parameters
- $name : class-string<\VuFind\Controller\T>
-
Name of service to retrieve
Tags
Return values
T —getILS()
Get the ILS connection.
public
getILS() : Connection
Return values
Connection —getRecordCache()
Get the record cache
public
getRecordCache() : Cache
Return values
Cache —getRecordLoader()
Get the record loader
public
getRecordLoader() : Loader
Return values
Loader —getRecordRouter()
Get the record router.
public
getRecordRouter() : Router
Return values
Router —getRequest()
Get request object
public
getRequest() : Request
Return values
Request —getSearchMemory()
Get the search memory
public
getSearchMemory() : Memory
Return values
Memory —getServerUrl()
Get the full URL to one of VuFind's routes.
public
getServerUrl([bool|string $route = true ]) : string
Parameters
- $route : bool|string = true
-
Boolean true for current URL, otherwise name of route to render as URL
Return values
string —getService()
Retrieve a service
public
getService(class-string<\VuFind\Service\T> $name) : T
Parameters
- $name : class-string<\VuFind\Service\T>
-
Name of service to retrieve
Tags
Return values
T —getTable()
Get a database table object.
public
getTable(string $table) : Gateway
Parameters
- $table : string
-
Name of table to retrieve
Return values
Gateway —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 —holds()
public
holds() : Holds
Holds plugin
Return values
Holds —homeAction()
Home action
public
homeAction() : ViewModel
Return values
ViewModel —iconAction()
Icon action
public
iconAction() : array<string|int, mixed>
Return values
array<string|int, mixed> —ILLRequests()
public
ILLRequests() : ILLRequests
ILLRequests plugin
Return values
ILLRequests —ilsRecords()
public
ilsRecords() : IlsRecords
IlsRecords plugin
Return values
IlsRecords —languageAction()
Language action
public
languageAction() : array<string|int, mixed>
Return values
array<string|int, mixed> —newItems()
public
newItems() : NewItems
NewItems plugin
Return values
NewItems —permission()
public
permission() : Permission
Permission plugin
Return values
Permission —permissionsAction()
Permissions action
public
permissionsAction() : array<string|int, mixed>
Return values
array<string|int, mixed> —renewals()
public
renewals() : Renewals
Renewals plugin
Return values
Renewals —reserves()
public
reserves() : Reserves
Reserves plugin
Return values
Reserves —resultScroller()
public
resultScroller() : ResultScroller
ResultScroller plugin
Return values
ResultScroller —setAccessPermission()
Getter for access permission.
public
setAccessPermission(string|false $ap) : void
Parameters
- $ap : string|false
-
Permission to require for access to the controller (false for no requirement)
Return values
void —setTranslator()
Set a translator
public
setTranslator(TranslatorInterface $translator) : TranslatorAwareInterface
Parameters
- $translator : TranslatorInterface
-
Translator
Return values
TranslatorAwareInterface —storageRetrievalRequests()
public
storageRetrievalRequests() : StorageRetrievalRequests
StorageRetrievalRequests plugin
Return values
StorageRetrievalRequests —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 —validateAccessPermission()
Use preDispatch event to block access when appropriate.
public
validateAccessPermission(MvcEvent $e) : void
Parameters
- $e : MvcEvent
-
Event object
Return values
void —attachDefaultListeners()
Register the default events for this controller
protected
attachDefaultListeners() : void
Return values
void —catalogLogin()
Does the user have catalog credentials available? Returns associative array of patron data if so, otherwise forwards to appropriate login prompt and returns false. If there is an ILS exception, a flash message is added and a newly created ViewModel is returned.
protected
catalogLogin() : bool|array<string|int, mixed>|ViewModel
Return values
bool|array<string|int, mixed>|ViewModel —clearFollowupUrl()
Sometimes we need to unset the followup to trigger default behaviors
protected
clearFollowupUrl() : void
Return values
void —commentsEnabled()
Are comments enabled?
protected
commentsEnabled() : bool
Return values
bool —createEmailViewModel()
Create a new ViewModel to use as an email form.
protected
createEmailViewModel([array<string|int, mixed> $params = null ][, string $defaultSubject = null ]) : ViewModel
Parameters
- $params : array<string|int, mixed> = null
-
Parameters to pass to ViewModel constructor.
- $defaultSubject : string = null
-
Default subject line to use.
Return values
ViewModel —createViewModel()
Create a new ViewModel.
protected
createViewModel([array<string|int, mixed> $params = null ]) : ViewModel
Parameters
- $params : array<string|int, mixed> = null
-
Parameters to pass to ViewModel constructor.
Return values
ViewModel —disableSessionWrites()
Prevent session writes -- this is designed to be called prior to time- consuming AJAX operations to help reduce the odds of a timing-related bug that causes the wrong version of session data to be written to disk (see VUFIND-716 for more details).
protected
disableSessionWrites() : void
Return values
void —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> —formWasSubmitted()
Check to see if a form was submitted from its post value Also validate the Captcha, if it's activated
protected
formWasSubmitted([string|array<string|int, string>|null $submitElements = null ][, bool $useCaptcha = false ]) : bool
Parameters
- $submitElements : string|array<string|int, string>|null = null
-
Name of the post field(s) to check to indicate a form submission (or null for default)
- $useCaptcha : bool = false
-
Are we using captcha in this situation?
Return values
bool —getAndClearFollowupUrl()
Retrieve a referer to keep post-login redirect pointing to an appropriate location.
protected
getAndClearFollowupUrl([bool $checkRedirect = false ]) : string
Unset the followup before returning.
Parameters
- $checkRedirect : bool = false
-
Whether the query should be checked for param 'redirect'
Return values
string —getAuthManager()
Get the account manager object.
protected
getAuthManager() : Manager
Return values
Manager —getAuthorizationService()
Get the authorization service (note that we're doing this on-demand rather than through injection with the AuthorizationServiceAwareInterface to minimize expensive initialization when authorization is not needed.
protected
getAuthorizationService() : AuthorizationService
Return values
AuthorizationService —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 —getILSAuthenticator()
Get the ILS authenticator.
protected
getILSAuthenticator() : ILSAuthenticator
Return values
ILSAuthenticator —getILSLoginMethod()
What login method does the ILS use (password, email, vufind)
protected
getILSLoginMethod([string $target = '' ]) : string
Parameters
- $target : string = ''
-
Login target (MultiILS only)
Return values
string —getILSLoginSettings()
Get settings required for displaying the catalog login form
protected
getILSLoginSettings() : array<string|int, mixed>
Return values
array<string|int, mixed> —getQueryBuilder()
Fetch the query builder for the specified search backend. Return null if unavailable.
protected
getQueryBuilder(string $id) : object
Parameters
- $id : string
-
Backend ID
Return values
object —getRecordTabManager()
Get the tab configuration for this controller.
protected
getRecordTabManager() : TabManager
Return values
TabManager —getRefreshResponse()
Construct an HTTP 205 (refresh) response. Useful for reporting success in the lightbox without actually rendering content.
protected
getRefreshResponse() : Response
Return values
Response —getUser()
Get the user object if logged in, false otherwise.
protected
getUser() : UserEntityInterface|null
Return values
UserEntityInterface|null —getViewRenderer()
Get the view renderer
protected
getViewRenderer() : RendererInterface
Return values
RendererInterface —hasFollowupUrl()
Checks if a followup url is set
protected
hasFollowupUrl() : bool
Return values
bool —inLightbox()
Are we currently in a lightbox context?
protected
inLightbox() : bool
Return values
bool —isLocalUrl()
Is the provided URL local to this instance?
protected
isLocalUrl(string $url) : bool
Parameters
- $url : string
-
URL to check
Return values
bool —listsEnabled()
Are lists enabled?
protected
listsEnabled() : bool
Return values
bool —normalizeUrlForComparison()
Normalize the referer URL so that inconsistencies in protocol and trailing slashes do not break comparisons.
protected
normalizeUrlForComparison(string $url) : string
Parameters
- $url : string
-
URL to normalize
Return values
string —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
setFollowupUrlToReferer()
Store a referer (if appropriate) to keep post-login redirect pointing to an appropriate location. This is used when the user clicks the log in link from an arbitrary page or when a password is mistyped; separate logic is used for storing followup information when VuFind forces the user to log in from another context.
protected
setFollowupUrlToReferer([bool $allowCurrentUrl = true ][, array<string|int, mixed> $extras = [] ]) : void
Parameters
- $allowCurrentUrl : bool = true
-
Whether the current URL is valid for followup
- $extras : array<string|int, mixed> = []
-
Extra data for the followup
Return values
void —tagsEnabled()
Are tags enabled?
protected
tagsEnabled() : bool
Return values
bool —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?