Actions

Plugin events: Difference between revisions

From LimeSurvey Manual

(→‎CLI Events: separation)
(10 intermediate revisions by 3 users not shown)
Line 6: Line 6:


*[[afterFindSurvey]]
*[[afterFindSurvey]]
*[[afterGenerateToken]]{{NewIn|v=4.0.0}}
*[[afterPluginLoad]]
*[[afterPluginLoad]]
*[[afterQuickMenuLoad]]
*[[afterQuickMenuLoad]]
Line 15: Line 16:
*[[afterSurveySettingsSave]]
*[[afterSurveySettingsSave]]
*[[beforeActivate]]
*[[beforeActivate]]
*[[beforeAdminMenuRender]]
*[[beforeAdminMenuRender]] {{NewIn|v=2.50|b=160426}}
*[[beforeEmail]]{{NewIn|v=4.0.0}}
*[[beforeEmail]]{{NewIn|v=4.0.0}}
*[[beforeCloseHtml]]{{NewIn|v=2.60.0}}
*[[beforeCloseHtml]]{{NewIn|v=2.60.0}}
Line 37: Line 38:
*[[beforeSurveysStartpageRender]]{{DeprecatedIn|v=3.0.0}}
*[[beforeSurveysStartpageRender]]{{DeprecatedIn|v=3.0.0}}
*[[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}}
*[[createRandomPassword]]{{NewIn|v=4.0.0|b=190523}}
Line 44: Line 47:
*[[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 53: Line 57:
*[[newUnsecureRequest|NewUnsecureRequest]]
*[[newUnsecureRequest|NewUnsecureRequest]]
*[[onSurveyDenied]]{{NewIn|v=3.0.0}}
*[[onSurveyDenied]]{{NewIn|v=3.0.0}}
*[[beforeUrlCheck]]{{NewIn|v=3.12.2}}
*[[setVariableExpressionEnd]]{{NewIn|v=4.0.0}}


== CLI Events ==
== CLI Events ==
Line 59: Line 63:
This events needs to be called with php cli command.
This events needs to be called with php cli command.


*[[cron]]{{NewIn|v=2.05|b=140404}}
*[[cron (command)|cron]]{{NewIn|v=2.05|b=140404}}
*[[direct]]{{NewIn|v=2.63.0|b=170304}}
*[[direct (command)|direct]]{{NewIn|v=2.63.0|b=170304}}


== Authentification related events ==
== Authentification related events ==
Line 87: 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}}===

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

CLI Events

This events needs to be called with php cli command.

  • cron (New in 2.05 build 140404)
  • direct (New in 2.63.0 build 170304)

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