FeedbackController
extends AbstractAdmin
in package
Class FeedbackController
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
- deleteAction() : Response
- Delete action
- disabledAction() : ViewModel
- Display disabled message.
- 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
- ILLRequests() : ILLRequests
- ilsRecords() : IlsRecords
- newItems() : NewItems
- permission() : Permission
- 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.
- updateStatusAction() : Response
- Update status field of feedback message
- 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?
- confirmDelete() : mixed
- Confirm delete feedback messages
- convertFilter() : string|null
- Converts null and "ALL" params to null
- 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.
- getConfirmDeleteMessages() : array<string|int, array<string|int, mixed>>
- Get messages for confirm delete
- 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
- getParam() : string|array<string|int, string>
- Get the url parameters
- 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.
- getStatuses() : array<string|int, mixed>
- Get available feedback statuses
- 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 —deleteAction()
Delete action
public
deleteAction() : Response
Return values
Response —disabledAction()
Display disabled message.
public
disabledAction() : 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 —ILLRequests()
public
ILLRequests() : ILLRequests
ILLRequests plugin
Return values
ILLRequests —ilsRecords()
public
ilsRecords() : IlsRecords
IlsRecords plugin
Return values
IlsRecords —newItems()
public
newItems() : NewItems
NewItems plugin
Return values
NewItems —permission()
public
permission() : Permission
Permission plugin
Return values
Permission —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 —updateStatusAction()
Update status field of feedback message
public
updateStatusAction() : Response
Return values
Response —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 —confirmDelete()
Confirm delete feedback messages
protected
confirmDelete(array<string|int, mixed> $ids, string $originUrl, string $newUrl) : mixed
Parameters
- $ids : array<string|int, mixed>
-
IDs of feedback messages to delete
- $originUrl : string
-
URL to redirect to after cancel
- $newUrl : string
-
URL to redirect to after confirm
Return values
mixed —convertFilter()
Converts null and "ALL" params to null
protected
convertFilter(string|null $value) : string|null
Parameters
- $value : string|null
-
A parameter to check
Return values
string|null —A modified parameter
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 —getConfirmDeleteMessages()
Get messages for confirm delete
protected
getConfirmDeleteMessages(int $count) : array<string|int, array<string|int, mixed>>
Parameters
- $count : int
-
Count of feedback messages to delete
Return values
array<string|int, 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 —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> —getParam()
Get the url parameters
protected
getParam(string $param[, bool $prioritizePost = false ][, mixed $default = null ]) : string|array<string|int, string>
Parameters
- $param : string
-
A key to check the url params for
- $prioritizePost : bool = false
-
If true, check the POST params first
- $default : mixed = null
-
Default value if no value found
Return values
string|array<string|int, string> —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 —getStatuses()
Get available feedback statuses
protected
getStatuses() : array<string|int, mixed>
Return values
array<string|int, mixed> —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?