Plugin events

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
 * afterSurveyQuota
 * afterSurveySettingsSave
 * beforeActivate
 * beforeAdminMenuRender
 * beforeEmail
 * beforeCloseHtml
 * beforeControllerAction
 * beforeDeactivate
 * beforeHasPermission
 * beforeLoadResponse
 * beforePermissionSetSave
 * beforePluginManagerMenuRender
 * beforeQuestionRender
 * beforeRegister
 * beforeRegisterForm
 * beforeSideMenuRender
 * beforeSurveyAdminView
 * beforeSurveyActivate
 * beforeSurveyBarRender
 * beforeSurveyDeactivate
 * beforeSurveyEmail
 * beforeSurveyPage
 * beforeSurveySettings
 * beforeSurveysStartpageRender
 * beforeTokenEmail
 * beforeToolsMenuRender
 * beforeUrlCheck
 * createNewUser
 * createRandomPassword
 * checkPasswordRequirement
 * ExpressionScript EngineStart WIP
 * getGlobalBasePermissions]
 * getPluginTwigPath
 * listExportOptions
 * listExportPlugins
 * listQuestionPlugins
 * newDirectRequest
 * newExport
 * newQuestionAttributes
 * newSurveySettings
 * NewUnsecureRequest
 * onSurveyDenied
 * setVariableExpressionEnd

CLI Events
This events needs to be called with php cli command.


 * cron
 * direct

Authentification related events

 * 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

Dynamic model events

 * 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: