Actions

Plugin events: Difference between revisions

From LimeSurvey Manual

No edit summary
 
(43 intermediate revisions by 8 users not shown)
Line 1: Line 1:
At version 2.50 build 160425 the following events are available for plugins to subscribe to:
As of version 5 the following events are available for plugins to subscribe to:


NB: Version 2.60.0 is not the save as version 2.6, which is the new number for version 2.06. 2.60.0 comes after 2.59.1.
== Global Events ==


*[[Authentication plugin development#afterLoginFormSubmit|afterLoginFormSubmit]]
*[[Authentication plugin development#afterLogout|afterLogout]]
*[[afterFailedLoginAttempt]]
*[[afterFindSurvey]]
*[[afterFindSurvey]]
*[[afterGenerateToken]]
*[[afterPluginLoad]]
*[[afterPluginLoad]]
*[[afterQuickMenuLoad]]
*[[afterQuickMenuLoad]]
*[[afterSuccessfulLogin]]
*[[afterSurveyActivate]]
*[[afterSurveyComplete]]
*[[afterSurveyComplete]]
*[[afterSurveyQuestionAssessment]]{{NewIn|v=2.62|b=170207}}
*[[afterSurveyDeactivate]]
*[[afterSurveyQuota]]{{NewIn|v=2.05|b=141006}}
*[[afterSurveyQuestionAssessment]]
*[[afterSurveyQuota]]
*[[afterSurveySettingsSave]]
*[[afterSurveySettingsSave]]
*[[beforeActivate]]
*[[beforeActivate]]
*[[beforeAdminMenuRender]]
*[[beforeAdminMenuRender]]
*[[beforeCloseHtml]]{{NewIn|v=2.60.0}}
*[[beforeEmail]]
*[[beforeControllerAction]]{{NewIn|v=2.50|b=160425}}
*[[beforeCloseHtml]]
*[[beforeControllerAction]]
*[[beforeDeactivate]]
*[[beforeDeactivate]]
*[[beforeHasPermission]]{{NewIn|v=2.06}}
*[[beforeHasPermission]]
*[[beforeLoadResponse]]
*[[beforeLoadResponse]]
*[[beforeLogin]]
*[[beforeLogout]]
*[[beforeQuestionRender]]{{NewIn|v=2.05|b=140922}}
*[[beforeParticipantSave]]
*[[beforeParticipantDelete]]
*[[beforePermissionSetSave]]
*[[beforePermissionSetSave]]
*[[beforeRegister]]{{NewIn|v=2.06}}
*[[beforePluginManagerMenuRender]]
*[[beforeRegisterForm]]{{NewIn|v=2.06}}
*[[beforeQuestionRender]]
*[[beforeSideMenuRender]]{{NewIn|v=2.51.0}}
*[[beforeRegister]]
*[[beforeRegisterForm]]
*[[beforeSideMenuRender]]
*[[beforeSurveyAdminView]]
*[[beforeSurveyAdminView]]
*[[beforeTokenDelete]]
*[[beforeSurveyActivate]]  
*[[beforeTokenSave]]
*[[beforeSurveyBarRender]]  
*[[beforeSurveyActivate]]{{NewIn|v=2.5}}
*[[beforeSurveyDeactivate]]
*[[beforeSurveyBarRender]] (Not yet released)
*[[beforeSurveyEmail]]
*[[beforeSurveyDeactivate]]{{NewIn|v=2.5}}
*[[beforeSurveyPage]]
*[[beforeSurveyPage]]{{NewIn|v=2.05|b=140109}}
*[[beforeSurveySettings]]
*[[beforeSurveySettings]]
*[[beforeSurveySettingsSave]]
*[[beforeSurveysStartpageRender]]{{DeprecatedIn|v=3.0.0}}
*[[beforeSurveysStartpageRender]]
*[[beforeTokenEmail]]
*[[beforeTokenEmail]]{{NewIn|v=2.05|b=140404}}
*[[beforeTwigRenderTemplate]]
*[[beforeToolsMenuRender]]
*[[beforeToolsMenuRender]]
*[[beforeUserSave]]
*[[beforeUrlCheck]]
*[[beforeUserDelete]]
*[[beforeWelcomePageRender]]
*[[createNewUser]]
*[[createNewUser]]
*[[cron]]{{NewIn|v=2.05|b=140404}}
*[[createRandomPassword]]
*[[checkPasswordRequirement]]
*[[ExpressionManagerStart]]
*[[getGlobalBasePermissions]]
*[[getPluginTwigPath]]
*[[getValidScreenFiles]]
*[[listExportOptions]]
*[[listExportOptions]]
*[[listExportPlugins]]
*[[listExportPlugins]]
Line 51: Line 52:
*[[newDirectRequest]]
*[[newDirectRequest]]
*[[newExport]]
*[[newExport]]
*[[newLoginForm]]
*[[NewQuestionAttributes|newQuestionAttributes]]
*[[NewQuestionAttributes|newQuestionAttributes]]{{NewIn|v=2.50|b=160731}}
*[[newSurveySettings]]
*[[newSurveySettings]]
*[[newUnsecureRequest|NewUnsecureRequest]]
*[[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]]
*[[newUserSession]]
*[[newUserLogin]]
*[[Authentication plugin development#afterLogout|afterLogout]]
*[[onSurveyDenied]]{{NewIn|v=3.0.0}}
*[[afterFailedLoginAttempt]]
*[[Authentication plugin development#remoteControlLogin|remoteControlLogin]]
 


[[Category:Development]]
[[Category:Plugins]]


== 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]]
* beforeSurveyDelete
* [[beforeSurveySave]]
* beforeSurveySave
* [[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}}===
 
* 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 79: Line 121:
* [[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]]

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

CLI Events

This events needs to be called with php cli command.

Authentification related events


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');