Hooking into Creating an event handler in Blesta consists of merely filling in a stubbed callback method, or returning an array of callbacks from a plugin's getEvents() method. Blesta offers a number of events that are automatically triggered when needed. These The default handlers for these events may be found in the /installdir/core/Util/Events/Observers/ directory (/installdir/components/events/ directory.
In some cases, for example when writing a plugin, you may wish to execute a custom event within the scope of your plugin. For instance, if your plugin allows for the creation of invoices, you may wish to execute an event when an invoice is created. For details on custom events see the Creating Events section of this manual.
/default/ in the old system). You can paste your event handler code directly into any of the default handler methods, or more preferably, create a plugin to handle the event.
Events
Info | ||
---|---|---|
| ||
Any plugin can register an event handler. To see how, check out the Plugin Events section of this manual. |
Note | ||
---|---|---|
| ||
As of v4.3.0 all of the old event handlers from the Events component (under /installdir/components/events/default/) have been deprecated. It is highly recommended that you update your custom events to use the new namespaced event system. If your plugin uses any of the events below, you need only be sure that your event handler support the deprecated EventObject event as well as the new \Blesta\Core\Util\Events\Common\EventInterface event. |
Note | ||
---|---|---|
| ||
When using data from events (especially add events), you may find that certain fields are not available. It is often useful to refetch data using one of [Model]::get() methods rather than using something like vars. |
...
Event | Triggered When | Default Event Handler | Parameters | Returns |
---|
Since | |||||
---|---|---|---|---|---|
Appcontroller.preAction | A URI is requested | \Blesta\Core\Util\Events\Observers\AppController::preAction() Deprecated: | void | void | 3.0 |
Appcontroller.structure | A URI is requested without AJAX | \Blesta\Core\Util\Events\Observers\AppController::structure() Deprecated: |
| array Key/value pairs to be set as variables in the structure view. Special keys include:
| 3.3 |
CalendarEvents.addBefore | A calendar event is created | \Blesta\Core\Util\Events\Observers\CalendarEvents::addBefore() |
| array Key/value pairs to be set as variables in the CalendarEvents::add() method. Special keys include:
| 5.3 |
CalendarEvents.addAfter Deprecated: CalendarEvents.add | A calendar event is created | \Blesta\Core\Util\Events\Observers\CalendarEvents::addAfter() Deprecated:
|
| void | 4.1 |
CalendarEvents.editBefore | A calendar event is updated | \Blesta\Core\Util\Events\Observers\CalendarEvents::editBefore() |
| array Key/value pairs to be set as variables in the CalendarEvents::edit() method. Special keys include:
| 5.3 |
CalendarEvents.editAfter Deprecated: CalendarEvents.edit | A calendar event is updated | \Blesta\Core\Util\Events\Observers\CalendarEvents::editAfter() Deprecated:
|
| void | 4.1 |
CalendarEvents.deleteBefore | A calendar event is removed | \Blesta\Core\Util\Events\Observers\CalendarEvents::deleteBefore() |
| void | 5.3 |
CalendarEvents.deleteAfter Deprecated: CalendarEvents.delete | A calendar event is removed | \Blesta\Core\Util\Events\Observers\CalendarEvents::deleteAfter() Deprecated:
|
| void | 4.1 |
ClientGroups.addBefore | A client group is created | \Blesta\Core\Util\Events\Observers\ClientGroups::addBefore() |
| array Key/value pairs to be set as variables in the ClientGroups::add() method. Special keys include:
| 5.3 |
ClientGroups.addAfter Deprecated: ClientGroups.add | A client group is created | \Blesta\Core\Util\Events\Observers\ClientGroups::add() Deprecated:
|
| void | 4.1 |
ClientGroups.editBefore | A client group is updated | \Blesta\Core\Util\Events\Observers\ClientGroups::editBefore() |
| array Key/value pairs to be set as variables in the ClientGroups::edit() method. Special keys include:
| 5.3 |
ClientGroups.editAfter Deprecated: ClientGroups.edit | A client group is updated | \Blesta\Core\Util\Events\Observers\ClientGroups::edit() Deprecated:
|
| void | 4.1 |
ClientGroups.deleteBefore | A client group is removed | \Blesta\Core\Util\Events\Observers\ClientGroups::deleteBefore() |
| void | 5.3 |
ClientGroups.deleteAfter Deprecated: ClientGroups.delete | A client group is removed | \Blesta\Core\Util\Events\Observers\ClientGroups::delete() Deprecated:
|
| void | 4.1 |
Clients.addBefore | A client is added | \Blesta\Core\Util\Events\Observers\Clients::addBefore() |
| array Key/value pairs to be set as variables in the Clients::add() method. Special keys include:
| 5.3 |
Clients.addAfter Deprecated: Clients.add | A client is added | \Blesta\Core\Util\Events\Observers\Clients::addAfter() Deprecated:
|
| void | 4.1 |
Clients.addNoteBefore | A note is created | \Blesta\Core\Util\Events\Observers\Clients::addNoteBefore() |
| array Key/value pairs to be set as variables in the Clients::addNote() method. Special keys include:
| 5.3 |
Clients.addNoteAfter Deprecated: Clients.addNote | A note is created | \Blesta\Core\Util\Events\Observers\Clients::addNoteAfter() Deprecated:
|
| void | 4.1 |
Clients.createBefore | A client is created | \Blesta\Core\Util\Events\Observers\Clients::createBefore() |
| array Key/value pairs to be set as variables in the Clients::create() method. Special keys include:
| 5.3 |
Clients.createAfter Deprecated: Clients.create | A client is created | \Blesta\Core\Util\Events\Observers\Clients::createAfter() Deprecated:
|
| void | 3.1 |
Clients.editBefore | A client is updated | \Blesta\Core\Util\Events\Observers\Clients::editBefore() |
| array Key/value pairs to be set as variables in the Clients::edit() method. Special keys include:
| 5.3 |
Clients.editAfter Deprecated: Clients.edit | A client is updated | \Blesta\Core\Util\Events\Observers\Clients::editAfter() Deprecated:
|
| void | 4.1 |
Clients.editNoteBefore | A note is updated | \Blesta\Core\Util\Events\Observers\Clients::editNoteBefore() |
| array Key/value pairs to be set as variables in the Clients::editNote() method. Special keys include:
| 5.3 |
Clients.editNoteAfter Deprecated: Clients.editNote | A note is updated | \Blesta\Core\Util\Events\Observers\Clients::editNoteAfter() Deprecated:
|
| void | 4.1 |
Clients.deleteBefore | A client is removed | \Blesta\Core\Util\Events\Observers\Clients::deleteBefore() |
| void | 5.3 |
Clients.deleteAfter Deprecated: Clients.delete | A client is removed | \Blesta\Core\Util\Events\Observers\Clients::deleteAfter() Deprecated:
|
| void | 4.1 |
Clients.deleteNoteBefore | A note is removed | \Blesta\Core\Util\Events\Observers\Clients::deleteNoteBefore() |
| void | 5.3 |
Clients.deleteNoteAfter Deprecated: Clients.deleteNote | A note is removed | \Blesta\Core\Util\Events\Observers\Clients::deleteNoteAfter() Deprecated:
|
| void | 4.1 |
Companies.addBefore | A company is created | \Blesta\Core\Util\Events\Observers\Companies::addBefore() |
| array Key/value pairs to be set as variables in the Companies::add() method. Special keys include:
| 5.3 |
Companies.addAfter Deprecated: Companies.add | A company is created | \Blesta\Core\Util\Events\Observers\Companies::addAfter() Deprecated:
|
| void | 4.1 |
Companies.editBefore | A company is updated | \Blesta\Core\Util\Events\Observers\Companies::editBefore() |
| array Key/value pairs to be set as variables in the Companies::edit() method. Special keys include:
| 5.3 |
Companies.editAfter Deprecated: Companies.edit | A company is updated | \Blesta\Core\Util\Events\Observers\Companies::editAfter() Deprecated:
|
| void | 4.1 |
Companies.deleteBefore | A company is removed | \Blesta\Core\Util\Events\Observers\Companies::deleteBefore() |
| void | 5.3 |
Companies.deleteAfter Deprecated: Companies.delete | A company is removed | \Blesta\Core\Util\Events\Observers\Companies::deleteAfter() Deprecated:
|
| void | 4.1 |
Contacts.addBefore | A contact is added | \Blesta\Core\Util\Events\Observers\Contacts::addBefore() |
| array Key/value pairs to be set as variables in the Contacts::add() method. Special keys include:
| 5.3 |
Contacts.addAfter Deprecated: Contacts.add | A contact is added | \Blesta\Core\Util\Events\Observers\Contacts::addAfter() Deprecated:
|
| void | 4.1 |
Contacts.editBefore | A contact is updated | \Blesta\Core\Util\Events\Observers\Contacts::editBefore() |
| array Key/value pairs to be set as variables in the Contacts::edit() method. Special keys include:
| 5.3 |
Contacts.editAfter Deprecated: Contacts.edit | A contact is updated | \Blesta\Core\Util\Events\Observers\Contacts::editAfter() Deprecated:
|
| void | 4.1 |
Contacts.deleteBefore | A contact is removed | \Blesta\Core\Util\Events\Observers\Contacts::deleteBefore() |
| void |
5.3 | |||||
Contacts.deleteAfter Deprecated: Contacts.delete | A contact is removed | \Blesta\Core\Util\Events\Observers\Contacts::deleteAfter() Deprecated:
|
| void | 4.1 |
Emails.send | An email template is sent | \Blesta\Core\Util\Events\Observers\Emails::send() Deprecated: |
| array Key/value pairs to merge with tags. | 3.1 |
Emails.sendCustom | A non-template based email is sent | \Blesta\Core\Util\Events\Observers\Emails::sendCustom() Deprecated: |
| array Key/value pairs to merge with tags. | 3.1 |
EmailVerifications.addBefore | An email verification is added | \Blesta\Core\Util\Events\Observers\EmailVerifications::addBefore() |
| void | |
EmailVerifications.addAfter | An email verification is added | \Blesta\Core\Util\Events\Observers\EmailVerifications::addAfter() |
| void | 5.5 |
EmailVerifications.editBefore | An email verification is updated | \Blesta\Core\Util\Events\Observers\EmailVerifications::editBefore() |
| void | 5.5 |
EmailVerifications.editAfter | An email verification is updated | \Blesta\Core\Util\Events\Observers\EmailVerifications::editAfter() |
| void | 5.5 |
EmailVerifications.deleteBefore | An email verification is deleted | \Blesta\Core\Util\Events\Observers\EmailVerifications::deleteBefore() |
| void | 5.5 |
EmailVerifications.deleteAfter | An email verification is deleted | \Blesta\Core\Util\Events\Observers\EmailVerifications::deleteAfter() |
| void | 5.5 |
EmailVerifications.verifyBefore | An email verification is verified | \Blesta\Core\Util\Events\Observers\EmailVerifications::verifyBefore() |
| void | 5.5 |
EmailVerifications.verifyAfter | An email verification is verified | \Blesta\Core\Util\Events\Observers\EmailVerifications::verifyAfter() |
| void | 5.5 |
GatewayManager.addBefore | A gateway is added | \Blesta\Core\Util\Events\Observers\GatewayManager::addBefore() |
| array Key/value pairs to be set as variables in the GatewayManager::add() method. Special keys include:
| 5.3 |
GatewayManager.addAfter Deprecated: GatewayManager.add | A gateway is added | \Blesta\Core\Util\Events\Observers\GatewayManager::addAfter() Deprecated:
|
| void | 4.1 |
GatewayManager.editBefore | A gateway is updated | \Blesta\Core\Util\Events\Observers\GatewayManager::editBefore() |
| array Key/value pairs to be set as variables in the GatewayManager::edit() method. Special keys include:
| 5.3 |
GatewayManager.editAfter Deprecated: GatewayManager.edit | A gateway is updated | \Blesta\Core\Util\Events\Observers\GatewayManager::editAfter() Deprecated:
|
| void | 4.1 |
GatewayManager.deleteBefore | A gateway is removed | \Blesta\Core\Util\Events\Observers\GatewayManager::deleteBefore() |
| void | 5.3 |
GatewayManager.deleteAfter Deprecated: GatewayManager.delete | A gateway is removed | \Blesta\Core\Util\Events\Observers\GatewayManager::deleteAfter() Deprecated:
|
| void | 4.1 |
Invoices.addBefore | An invoice is created | \Blesta\Core\Util\Events\Observers\Invoices::addBefore() |
| array Key/value pairs to be set as variables in the Invoices::add() method. Special keys include:
| 5.3 |
Invoices.addAfter Deprecated: Invoices.add | An invoice is created | \Blesta\Core\Util\Events\Observers\Invoices::addAfter() Deprecated:
|
| void | 3.1 |
Invoices.editBefore | An invoice is updated | \Blesta\Core\Util\Events\Observers\Invoices::editBefore() |
| array Key/value pairs to be set as variables in the Invoices::edit() method. Special keys include:
| 5.3 |
Invoices.editAfter Deprecated: Invoices.edit | An invoice is updated | \Blesta\Core\Util\Events\Observers\Invoices::editAfter() Deprecated:
|
| void | 3.1 |
Invoices.setClosedBefore | An invoice is closed | \Blesta\Core\Util\Events\Observers\Invoices::setClosedBefore() |
| void | 5.3 |
Invoices.setClosedAfter Deprecated: Invoices.setClosed | An invoice is closed | \Blesta\Core\Util\Events\Observers\Invoices::setClosedAfter() Deprecated:
|
| void | 3.1 |
ModuleManager.addBefore | A module is installed | \Blesta\Core\Util\Events\Observers\ModuleManager::addBefore() |
| array Key/value pairs to be set as variables in the ModuleManager::add() method. Special keys include:
| 5.3 |
ModuleManager.addAfter Deprecated:ModuleManager.add | A module is installed | \Blesta\Core\Util\Events\Observers\ModuleManager::addAfter() Deprecated:
|
| void | 4.1 |
ModuleManager.deleteBefore | A module is uninstalled | \Blesta\Core\Util\Events\Observers\ModuleManager::deleteBefore() |
| void | 5.3 |
ModuleManager.deleteAfter Deprecated: ModuleManager.delete | A module is uninstalled | \Blesta\Core\Util\Events\Observers\ModuleManager::deleteAfter() Deprecated:
|
| void | 4.1 |
Navigation.getSearchOptions | Staff search options are displayed | \Blesta\Core\Util\Events\Observers\Navigation::getSearchOptions() Deprecated: |
| void | 3.0 |
Packages.addBefore | A package is created | \Blesta\Core\Util\Events\Observers\Packages::addBefore() |
| array Key/value pairs to be set as variables in the Packages::add() method. Special keys include:
| 5.3 |
Packages.addAfter Deprecated: Packages.add | A package is created | \Blesta\Core\Util\Events\Observers\Packages::addAfter() Deprecated:
|
| void | 4.1 |
Packages.editBefore | A package is updated | \Blesta\Core\Util\Events\Observers\Packages::editBefore() |
| array Key/value pairs to be set as variables in the Packages::edit() method. Special keys include:
| 5.3 |
Packages.editAfter Deprecated: Packages.edit | A package is updated | \Blesta\Core\Util\Events\Observers\Packages::editAfter() Deprecated:
|
| void | 4.1 |
Packages.deleteBefore | A package is removed | \Blesta\Core\Util\Events\Observers\Packages::deleteBefore() |
| void | 5.3 |
Packages.deleteAfter Deprecated: Packages.delete | A package is removed | \Blesta\Core\Util\Events\Observers\Packages::deleteAfter() Deprecated:
|
| void | 4.1 |
Report.clientData | The Client Data Portability report is run | \Blesta\Core\Util\Events\Observers\Report::clientData() Deprecated: |
| array A list of data to add to the report | 4.3 |
Services.addBefore | A service is added | \Blesta\Core\Util\Events\Observers\Services::addBefore() |
| array Key/value pairs to be set as variables in the Services::add() method. Special keys include:
| 5.3 |
Services.addAfter Deprecated: Services.add | A service is added | \Blesta\Core\Util\Events\Observers\Services::addAfter() Deprecated:
|
| void | 3.4 |
Services.editBefore | A service is edited | \Blesta\Core\Util\Events\Observers\Services::editBefore() |
| array Key/value pairs to be set as variables in the Services::edit() method. Special keys include:
| 5.3 |
Services.editAfter Deprecated: Services.edit | A service is edited | \Blesta\Core\Util\Events\Observers\Services::editAfter() Deprecated:
|
| void | 3.4 |
Services.cancelBefore | A service is scheduled to be canceled, or is canceled | \Blesta\Core\Util\Events\Observers\Services::cancelBefore() |
| array Key/value pairs to be set as variables in the Services::cancel() method. Special keys include:
| 5.3 |
Services.cancelAfter Deprecated: Services.cancel | A service is scheduled to be canceled, or is canceled | \Blesta\Core\Util\Events\Observers\Services::cancelAfter() Deprecated:
|
| void | 3.5 |
Services.suspendBefore | A service is suspended | \Blesta\Core\Util\Events\Observers\Services::suspendBefore() |
| array Key/value pairs to be set as variables in the Services::suspend() method. Special keys include:
| 5.3 |
Services.suspendAfter Deprecated: Services.suspend | A service is suspended | \Blesta\Core\Util\Events\Observers\Services::suspendAfter() Deprecated:
|
| void | 3.5 |
Services.unsuspendBefore | A service is unsuspended | \Blesta\Core\Util\Events\Observers\Services::unsuspendBefore() |
| array Key/value pairs to be set as variables in the Services::unsuspend() method. Special keys include:
| 5.3 |
Services.unsuspendAfter Deprecated: Services.unsuspend | A service is unsuspended | \Blesta\Core\Util\Events\Observers\Services::unsuspendAfter() Deprecated:
|
| void | 3.5 |
Staff.addBefore | A staff is created | \Blesta\Core\Util\Events\Observers\Staff::addBefore() |
| array Key/value pairs to be set as variables in the Staff::add() method. Special keys include:
| 5.3 |
Staff.addAfter Deprecated: Staff.add | A staff is created | \Blesta\Core\Util\Events\Observers\Staff::addAfter() Deprecated:
|
| void | 4.1 |
Staff.editBefore | A staff is updated | \Blesta\Core\Util\Events\Observers\Staff::editBefore() |
| array Key/value pairs to be set as variables in the Staff::edit() method. Special keys include:
| 5.3 |
Staff.editAfter Deprecated: Staff.edit | A staff is updated | \Blesta\Core\Util\Events\Observers\Staff::editAfter() Deprecated:
|
| void | 4.1 |
Transactions.addBefore | A transaction is created | \Blesta\Core\Util\Events\Observers\Transactions::addBefore() |
| array Key/value pairs to be set as variables in the Transactions::add() method. Special keys include:
| 5.3 |
Transactions.addAfter Deprecated: Transactions.add | A transaction is created | \Blesta\Core\Util\Events\Observers\Transactions::addAfter() Deprecated:
|
| void | 3.1 |
Transactions.editBefore | A transaction is updated | \Blesta\Core\Util\Events\Observers\Transactions::editBefore() |
| array Key/value pairs to be set as variables in the Transactions::edit() method. Special keys include:
| 5.3 |
Transactions.editAfter Deprecated: Transactions.edit | A transaction is updated | \Blesta\Core\Util\Events\Observers\Transactions::editAfter() Deprecated:
|
| void | 3.1 |
Users.delete | A user is deleted | \Blesta\Core\Util\Events\Observers\Users::delete() Deprecated: |
| void | 4.3 |
Users.login | A user logs in | \Blesta\Core\Util\Events\Observers\Users::login() Deprecated: |
| void | 3.1 |
Users.logout | A user logs out | \Blesta\Core\Util\Events\Observers\Users::logout() Deprecated: |
| void | 3.1 |
* This field may not be included in the data since it is an optional parameter to submit to the function that calls this event
Working with Events
Each event handler that is invoked when the event is triggered is passed a \Blesta\Core\Util\Events\Common\EventInterface (previously an EventObject). An EventObject will still be passed to plugins for backward compatibility, but this is deprecated behavior.
You can modify the parameters or return value of this event object and the modified event will be passed along to each subsequent handler, and finally returned to the trigger.
To fetch parameters from the \Blesta\Core\Util\Events\Common\EventInterface, or EventObject, invoke the getParams() method. Similarly, to set parameters use the setParams() method.
To set the return value from the \Blesta\Core\Util\Events\Common\EventInterface, or EventObject, invoke the setReturnVal() method. Similarly, to fetch the return value use the getReturnVal() method.