Plugin events: Difference between revisions
From LimeSurvey Manual
No edit summary |
|||
(84 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
As of version 5 the following events are available for plugins to subscribe to: | |||
*[[ | |||
*[[ | == Global Events == | ||
*afterPluginLoad | |||
*afterSurveyComplete | *[[afterFindSurvey]] | ||
*beforeActivate | *[[afterGenerateToken]] | ||
*beforeDeactivate | *[[afterPluginLoad]] | ||
*[[ | *[[afterQuickMenuLoad]] | ||
*[[ | *[[afterSurveyActivate]] | ||
*beforePermissionSetSave | *[[afterSurveyComplete]] | ||
*[[afterSurveyDeactivate]] | |||
*[[afterSurveyQuestionAssessment]] | |||
*[[afterSurveyQuota]] | |||
*[[afterSurveySettingsSave]] | |||
*[[beforeActivate]] | |||
*[[beforeAdminMenuRender]] | |||
*[[beforeEmail]] | |||
*[[beforeCloseHtml]] | |||
*[[beforeControllerAction]] | |||
*[[beforeDeactivate]] | |||
*[[beforeHasPermission]] | |||
*[[beforeLoadResponse]] | |||
*[[beforePermissionSetSave]] | |||
*[[beforePluginManagerMenuRender]] | |||
*[[beforeQuestionRender]] | |||
*[[beforeRegister]] | |||
*[[beforeRegisterForm]] | |||
*[[beforeSideMenuRender]] | |||
*[[beforeSurveyAdminView]] | |||
*[[beforeSurveyActivate]] | |||
*[[beforeSurveyBarRender]] | |||
*[[beforeSurveyDeactivate]] | |||
*[[beforeSurveyEmail]] | |||
*[[beforeSurveyPage]] | *[[beforeSurveyPage]] | ||
*beforeSurveySettings | *[[beforeSurveySettings]] | ||
*listExportOptions | *[[beforeSurveysStartpageRender]]{{DeprecatedIn|v=3.0.0}} | ||
*listExportPlugins | *[[beforeTokenEmail]] | ||
*listQuestionPlugins | *[[beforeTwigRenderTemplate]] | ||
*newDirectRequest | *[[beforeToolsMenuRender]] | ||
*newExport | *[[beforeUrlCheck]] | ||
*[[ | *[[beforeWelcomePageRender]] | ||
*newSurveySettings | *[[createNewUser]] | ||
*[[Authentication | *[[createRandomPassword]] | ||
*[[checkPasswordRequirement]] | |||
*[[ExpressionManagerStart]] | |||
*[[getGlobalBasePermissions]] | |||
*[[getPluginTwigPath]] | |||
*[[getValidScreenFiles]] | |||
*[[listExportOptions]] | |||
*[[listExportPlugins]] | |||
*[[listQuestionPlugins]] | |||
*[[newDirectRequest]] | |||
*[[newExport]] | |||
*[[NewQuestionAttributes|newQuestionAttributes]] | |||
*[[newSurveySettings]] | |||
*[[newUnsecureRequest|NewUnsecureRequest]] | |||
*[[onSurveyDenied]] | |||
*[[setVariableExpressionEnd]] | |||
*[[saveSurveyForm]]{{NewIn|v=5.3.8}} | |||
== CLI Events == | |||
This events needs to be called with php cli command. | |||
*[[cron (command)|cron]] | |||
*[[direct (command)|direct]] | |||
== Authentification related events == | |||
*[[newLoginForm]] | |||
*[[Authentication plugin development#afterLoginFormSubmit|afterLoginFormSubmit]] | |||
*[[afterSuccessfulLogin]] | |||
*[[newUserLogin]] | |||
*[[newUserSession]] | |||
*[[Authentication plugin development#afterLogout|afterLogout]] | |||
*[[afterFailedLoginAttempt]] | |||
*[[Authentication plugin development#remoteControlLogin|remoteControlLogin]] | |||
== Model Events == | |||
All models (Survey, Question, etc.) support a series of before & after events. | |||
=== [[Specific model events|Specific Model events]] === | |||
These include model-specific events (example for Survey model): | |||
* beforeSurveyDelete | |||
* beforeSurveySave | |||
* afterSurveyDelete | |||
* afterSurveySave | |||
[https://github.com/LimeSurvey/LimeSurvey/tree/master/application/models Available model in application/models/.] | |||
=== [[Dynamic model events]]{{NewIn|v=3.15.1}}=== | |||
* beforeTokenDelete | |||
* beforeTokenSave | |||
* afterTokenDelete | |||
* afterTokenSave | |||
* beforeResponseDelete | |||
* beforeResponseSave | |||
* afterResponseDelete | |||
* afterResponseSave | |||
* beforeTokenDynamicDelete | |||
* beforeTokenDynamicSave | |||
* afterTokenDynamicDelete | |||
* afterTokenDynamicSave | |||
* beforeSurveyDynamicDelete | |||
* beforeSurveyDynamicSave | |||
* afterSurveyDynamicDelete | |||
* afterSurveyDynamicSave | |||
=== Generic events === | |||
As well as generic events independent of the model's name: | |||
* [[beforeModelDelete]] | |||
* [[beforeModelSave]] | |||
* [[afterModelDelete]] | |||
* [[afterModelSave]] | |||
* [[beforeModelDeleteMany]] | |||
In all of the above events, the associated model object is available as part of event data: | |||
<code>$model = $this->event->get('model');</code> | |||
[[Category:Development]] | [[Category:Development]] | ||
[[Category:Plugins]] | [[Category:Plugins]] |
Latest revision as of 12:17, 23 February 2024
As of version 5 the following events are available for plugins to subscribe to:
Global Events
- afterFindSurvey
- afterGenerateToken
- afterPluginLoad
- afterQuickMenuLoad
- afterSurveyActivate
- afterSurveyComplete
- afterSurveyDeactivate
- afterSurveyQuestionAssessment
- afterSurveyQuota
- afterSurveySettingsSave
- beforeActivate
- beforeAdminMenuRender
- beforeEmail
- beforeCloseHtml
- beforeControllerAction
- beforeDeactivate
- beforeHasPermission
- beforeLoadResponse
- beforePermissionSetSave
- beforePluginManagerMenuRender
- beforeQuestionRender
- beforeRegister
- beforeRegisterForm
- beforeSideMenuRender
- beforeSurveyAdminView
- beforeSurveyActivate
- beforeSurveyBarRender
- beforeSurveyDeactivate
- beforeSurveyEmail
- beforeSurveyPage
- beforeSurveySettings
- beforeSurveysStartpageRender (Deprectaed from 3.0.0 )
- beforeTokenEmail
- beforeTwigRenderTemplate
- beforeToolsMenuRender
- beforeUrlCheck
- beforeWelcomePageRender
- createNewUser
- createRandomPassword
- checkPasswordRequirement
- ExpressionManagerStart
- getGlobalBasePermissions
- getPluginTwigPath
- getValidScreenFiles
- listExportOptions
- listExportPlugins
- listQuestionPlugins
- newDirectRequest
- newExport
- newQuestionAttributes
- newSurveySettings
- NewUnsecureRequest
- onSurveyDenied
- setVariableExpressionEnd
- saveSurveyForm (New in 5.3.8 )
CLI Events
This events needs to be called with php cli command.
- newLoginForm
- afterLoginFormSubmit
- afterSuccessfulLogin
- newUserLogin
- newUserSession
- afterLogout
- afterFailedLoginAttempt
- remoteControlLogin
Model Events
All models (Survey, Question, etc.) support a series of before & after events.
Specific Model events
These include model-specific events (example for Survey model):
- beforeSurveyDelete
- beforeSurveySave
- afterSurveyDelete
- afterSurveySave
Available model in application/models/.
Dynamic model events (New in 3.15.1 )
- beforeTokenDelete
- beforeTokenSave
- afterTokenDelete
- afterTokenSave
- beforeResponseDelete
- beforeResponseSave
- afterResponseDelete
- afterResponseSave
- beforeTokenDynamicDelete
- beforeTokenDynamicSave
- afterTokenDynamicDelete
- afterTokenDynamicSave
- beforeSurveyDynamicDelete
- beforeSurveyDynamicSave
- afterSurveyDynamicDelete
- afterSurveyDynamicSave
Generic events
As well as generic events independent of the model's name:
In all of the above events, the associated model object is available as part of event data:
$model = $this->event->get('model');