Plugin events: Difference between revisions
From LimeSurvey Manual
DenisChenu (talk | contribs) |
DenisChenu (talk | contribs) m (→Global Events) |
||
(27 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
At version 2.50 build 160425 the following events are available for plugins to subscribe to: | At version 2.50 build 160425 the following events are available for plugins to subscribe to: | ||
NB: Version 2.60.0 is not the | NB: Version 2.60.0 is not the same as version 2.6, which is the new number for version 2.06. 2.60.0 comes after 2.59.1. | ||
== Global Events == | |||
*[[afterFindSurvey]] | *[[afterFindSurvey]] | ||
*[[afterGenerateToken]]{{NewIn|v=4.0.0}} | |||
*[[afterPluginLoad]] | *[[afterPluginLoad]] | ||
*[[afterQuickMenuLoad]] | *[[afterQuickMenuLoad]] | ||
*[[ | *[[afterSurveyActivate]] | ||
*[[afterSurveyComplete]] | *[[afterSurveyComplete]] | ||
*[[afterSurveyDeactivate]] | |||
*[[afterSurveyQuestionAssessment]]{{NewIn|v=2.62|b=170207}} | *[[afterSurveyQuestionAssessment]]{{NewIn|v=2.62|b=170207}} | ||
*[[afterSurveyQuota]]{{NewIn|v=2.05|b=141006}} | *[[afterSurveyQuota]]{{NewIn|v=2.05|b=141006}} | ||
*[[afterSurveySettingsSave]] | *[[afterSurveySettingsSave]] | ||
*[[beforeActivate]] | *[[beforeActivate]] | ||
*[[beforeAdminMenuRender]] | *[[beforeAdminMenuRender]] {{NewIn|v=2.50|b=160426}} | ||
*[[beforeEmail]]{{NewIn|v=4.0.0}} | |||
*[[beforeCloseHtml]]{{NewIn|v=2.60.0}} | *[[beforeCloseHtml]]{{NewIn|v=2.60.0}} | ||
*[[beforeControllerAction]]{{NewIn|v=2.50|b=160425}} | *[[beforeControllerAction]]{{NewIn|v=2.50|b=160425}} | ||
Line 21: | Line 23: | ||
*[[beforeHasPermission]]{{NewIn|v=2.06}} | *[[beforeHasPermission]]{{NewIn|v=2.06}} | ||
*[[beforeLoadResponse]] | *[[beforeLoadResponse]] | ||
*[[beforePermissionSetSave]] | *[[beforePermissionSetSave]] | ||
*[[beforePluginManagerMenuRender]]{{NewIn|v=4.0.0}} | *[[beforePluginManagerMenuRender]]{{NewIn|v=4.0.0}} | ||
Line 32: | Line 30: | ||
*[[beforeSideMenuRender]]{{NewIn|v=2.51.0}} | *[[beforeSideMenuRender]]{{NewIn|v=2.51.0}} | ||
*[[beforeSurveyAdminView]] | *[[beforeSurveyAdminView]] | ||
*[[beforeSurveyActivate]] {{NewIn|v=3.15|b=181017}} | |||
*[[beforeSurveyBarRender]] {{NewIn|v=3.15|b=181017}} | |||
*[[beforeSurveyActivate]] | |||
*[[beforeSurveyBarRender]] | |||
*[[beforeSurveyDeactivate]]{{NewIn|v=2.5}} | *[[beforeSurveyDeactivate]]{{NewIn|v=2.5}} | ||
*[[beforeSurveyEmail]]{{NewIn|v=4.0.0}} | |||
*[[beforeSurveyPage]]{{NewIn|v=2.05|b=140109}} | *[[beforeSurveyPage]]{{NewIn|v=2.05|b=140109}} | ||
*[[beforeSurveySettings]] | *[[beforeSurveySettings]] | ||
*[[beforeSurveysStartpageRender]]{{DeprecatedIn|v=3.0.0}} | |||
*[[beforeSurveysStartpageRender]] | |||
*[[beforeTokenEmail]]{{NewIn|v=2.05|b=140404}} | *[[beforeTokenEmail]]{{NewIn|v=2.05|b=140404}} | ||
*[[beforeTwigRenderTemplate]] | |||
*[[beforeToolsMenuRender]] | *[[beforeToolsMenuRender]] | ||
*[[ | *[[beforeUrlCheck]]{{NewIn|v=3.12.2}} | ||
*[[createNewUser]] | *[[createNewUser]] | ||
*[[ | *[[createRandomPassword]]{{NewIn|v=4.0.0|b=190523}} | ||
*[[ | *[[checkPasswordRequirement]]{{NewIn|v=4.0.0|b=190523}} | ||
*[[ExpressionManagerStart]] WIP {{NewIn|v=4.0.0-dev}} | |||
*[[getGlobalBasePermissions]]]{{NewIn|v=3.0.0}} | *[[getGlobalBasePermissions]]]{{NewIn|v=3.0.0}} | ||
*[[getPluginTwigPath]]{{NewIn|v=3.10.0}} | *[[getPluginTwigPath]]{{NewIn|v=3.10.0}} | ||
*[[getValidScreenFiles]]{{NewIn|v=3.13.0}} | |||
*[[listExportOptions]] | *[[listExportOptions]] | ||
*[[listExportPlugins]] | *[[listExportPlugins]] | ||
Line 55: | Line 53: | ||
*[[newDirectRequest]] | *[[newDirectRequest]] | ||
*[[newExport]] | *[[newExport]] | ||
*[[NewQuestionAttributes|newQuestionAttributes]]{{NewIn|v=2.50|b=160731}} | *[[NewQuestionAttributes|newQuestionAttributes]]{{NewIn|v=2.50|b=160731}} | ||
*[[newSurveySettings]] | *[[newSurveySettings]] | ||
*[[newUnsecureRequest|NewUnsecureRequest]] | *[[newUnsecureRequest|NewUnsecureRequest]] | ||
*[[onSurveyDenied]]{{NewIn|v=3.0.0}} | |||
*[[setVariableExpressionEnd]]{{NewIn|v=4.0.0}} | |||
== CLI Events == | |||
This events needs to be called with php cli command. | |||
*[[cron (command)|cron]]{{NewIn|v=2.05|b=140404}} | |||
*[[direct (command)|direct]]{{NewIn|v=2.63.0|b=170304}} | |||
== Authentification related events == | |||
*[[newLoginForm]] | |||
*[[Authentication plugin development#afterLoginFormSubmit|afterLoginFormSubmit]] | |||
*[[afterSuccessfulLogin]] | |||
*[[newUserLogin]] | |||
*[[newUserSession]] | *[[newUserSession]] | ||
*[[ | *[[Authentication plugin development#afterLogout|afterLogout]] | ||
*[[ | *[[afterFailedLoginAttempt]] | ||
*[[ | *[[Authentication plugin development#remoteControlLogin|remoteControlLogin]] | ||
== Model Events == | == Model Events == | ||
Line 79: | Line 91: | ||
* afterSurveyDelete | * afterSurveyDelete | ||
* afterSurveySave | * afterSurveySave | ||
[https://github.com/LimeSurvey/LimeSurvey/tree/master/application/models Available model in application/models/.] | |||
=== [[Dynamic model events]]{{NewIn|v=3.15.1}}=== | === [[Dynamic model events]]{{NewIn|v=3.15.1}}=== | ||
Line 99: | Line 113: | ||
* afterSurveyDynamicSave | * afterSurveyDynamicSave | ||
=== | === Generic events === | ||
As well as generic events independent of the model's name: | As well as generic events independent of the model's name: | ||
* beforeModelDelete | * [[beforeModelDelete]] | ||
* beforeModelSave | * [[beforeModelSave]] | ||
* afterModelDelete | * [[afterModelDelete]] | ||
* afterModelSave | * [[afterModelSave]] | ||
* beforeModelDeleteMany | * [[beforeModelDeleteMany]] | ||
In all of the above events, the associated model object is available as part of event data: | In all of the above events, the associated model object is available as part of event data: | ||
<code>$model = $this->event->get('model');</code> | <code>$model = $this->event->get('model');</code> | ||
[[Category:Development]] | |||
[[Category:Plugins]] |
Revision as of 19:35, 8 November 2021
At version 2.50 build 160425 the following events are available for plugins to subscribe to:
NB: Version 2.60.0 is not the same as version 2.6, which is the new number for version 2.06. 2.60.0 comes after 2.59.1.
Global Events
- afterFindSurvey
- afterGenerateToken (New in 4.0.0 )
- afterPluginLoad
- afterQuickMenuLoad
- afterSurveyActivate
- afterSurveyComplete
- afterSurveyDeactivate
- afterSurveyQuestionAssessment (New in 2.62 build 170207)
- afterSurveyQuota (New in 2.05 build 141006)
- afterSurveySettingsSave
- beforeActivate
- beforeAdminMenuRender (New in 2.50 build 160426)
- beforeEmail (New in 4.0.0 )
- beforeCloseHtml (New in 2.60.0 )
- beforeControllerAction (New in 2.50 build 160425)
- beforeDeactivate
- beforeHasPermission (New in 2.06 )
- beforeLoadResponse
- beforePermissionSetSave
- beforePluginManagerMenuRender (New in 4.0.0 )
- beforeQuestionRender (New in 2.05 build 140922)
- beforeRegister (New in 2.06 )
- beforeRegisterForm (New in 2.06 )
- beforeSideMenuRender (New in 2.51.0 )
- beforeSurveyAdminView
- beforeSurveyActivate (New in 3.15 build 181017)
- beforeSurveyBarRender (New in 3.15 build 181017)
- beforeSurveyDeactivate (New in 2.5 )
- beforeSurveyEmail (New in 4.0.0 )
- beforeSurveyPage (New in 2.05 build 140109)
- beforeSurveySettings
- beforeSurveysStartpageRender (Deprectaed from 3.0.0 )
- beforeTokenEmail (New in 2.05 build 140404)
- beforeTwigRenderTemplate
- beforeToolsMenuRender
- beforeUrlCheck (New in 3.12.2 )
- createNewUser
- createRandomPassword (New in 4.0.0 build 190523)
- checkPasswordRequirement (New in 4.0.0 build 190523)
- ExpressionManagerStart WIP (New in 4.0.0-dev )
- getGlobalBasePermissions] (New in 3.0.0 )
- getPluginTwigPath (New in 3.10.0 )
- getValidScreenFiles (New in 3.13.0 )
- listExportOptions
- listExportPlugins
- listQuestionPlugins
- newDirectRequest
- newExport
- newQuestionAttributes (New in 2.50 build 160731)
- newSurveySettings
- NewUnsecureRequest
- onSurveyDenied (New in 3.0.0 )
- setVariableExpressionEnd (New in 4.0.0 )
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');