Plugin events: Difference between revisions
From LimeSurvey Manual
YuriyBabenko (talk | contribs) (added 11 events found in codebase, but not documented;) |
DenisChenu (talk | contribs) (ExpressionManagerStart are not renamed) |
||
(41 intermediate revisions by 10 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 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]] | |||
*[[afterPluginLoad]] | *[[afterPluginLoad]] | ||
*[[afterQuickMenuLoad]] | *[[afterQuickMenuLoad]] | ||
*[[ | *[[afterSurveyActivate]] | ||
*[[afterSurveyComplete]] | *[[afterSurveyComplete]] | ||
*[[afterSurveyDeactivate]] | |||
*[[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}} | |||
*[[beforeControllerAction]]{{NewIn|v=2.50|b=160425}} | *[[beforeControllerAction]]{{NewIn|v=2.50|b=160425}} | ||
*[[beforeDeactivate]] | *[[beforeDeactivate]] | ||
*[[beforeHasPermission]]{{NewIn|v=2.06}} | *[[beforeHasPermission]]{{NewIn|v=2.06}} | ||
*[[beforeLoadResponse]] | *[[beforeLoadResponse]] | ||
*[[ | *[[beforePermissionSetSave]] | ||
*[[ | *[[beforePluginManagerMenuRender]]{{NewIn|v=4.0.0}} | ||
*[[beforeQuestionRender]]{{NewIn|v=2.05|b=140922}} | *[[beforeQuestionRender]]{{NewIn|v=2.05|b=140922}} | ||
*[[beforeRegister]]{{NewIn|v=2.06}} | *[[beforeRegister]]{{NewIn|v=2.06}} | ||
*[[beforeRegisterForm]]{{NewIn|v=2.06}} | *[[beforeRegisterForm]]{{NewIn|v=2.06}} | ||
*[[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]]{{NewIn|v= | |||
*[[beforeSurveyBarRender]]{{NewIn|v= | |||
*[[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}} | ||
*[[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}} | |||
*[[getPluginTwigPath]]{{NewIn|v=3.10.0}} | |||
*[[listExportOptions]] | *[[listExportOptions]] | ||
*[[listExportPlugins]] | *[[listExportPlugins]] | ||
Line 45: | Line 50: | ||
*[[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]] | ||
*[[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 == | ||
All models (Survey, Question, etc.) support a series of before & after 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): | 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: | As well as generic events independent of the model's name: | ||
Line 73: | Line 118: | ||
* [[afterModelDelete]] | * [[afterModelDelete]] | ||
* [[afterModelSave]] | * [[afterModelSave]] | ||
* [[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 18:55, 26 February 2020
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
- 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)
- 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 )
- 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');