2
0
forked from Wavyzz/dolibarr

Mail collection

This commit is contained in:
Faustin
2022-08-12 10:33:06 +02:00
parent 56fa4d3413
commit b226f51ef4
74 changed files with 11961 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
<?php
/*
* File: HasEvents.php
* Category: -
* Author: M.Goldenbaum
* Created: 21.09.20 22:46
* Updated: -
*
* Description:
* -
*/
namespace Webklex\PHPIMAP\Traits;
use Webklex\PHPIMAP\Events\Event;
use Webklex\PHPIMAP\Exceptions\EventNotFoundException;
/**
* Trait HasEvents
*
* @package Webklex\PHPIMAP\Traits
*/
trait HasEvents {
/**
* Event holder
*
* @var array $events
*/
protected $events = [];
/**
* Set a specific event
* @param $section
* @param $event
* @param $class
*/
public function setEvent($section, $event, $class) {
if (isset($this->events[$section])) {
$this->events[$section][$event] = $class;
}
}
/**
* Set all events
* @param $events
*/
public function setEvents($events) {
$this->events = $events;
}
/**
* Get a specific event callback
* @param $section
* @param $event
*
* @return Event
* @throws EventNotFoundException
*/
public function getEvent($section, $event) {
if (isset($this->events[$section])) {
return $this->events[$section][$event];
}
throw new EventNotFoundException();
}
/**
* Get all events
*
* @return array
*/
public function getEvents(){
return $this->events;
}
}