diff --git a/src/mibew/libs/classes/Mibew/Ban.php b/src/mibew/libs/classes/Mibew/Ban.php index 4ea78304..4b2d5747 100644 --- a/src/mibew/libs/classes/Mibew/Ban.php +++ b/src/mibew/libs/classes/Mibew/Ban.php @@ -180,6 +180,8 @@ class Ban /** * Remove ban from the database. + * + * Triggers {@link \Mibew\EventDispatcher\Events::BAN_DELETE} event. */ public function delete() { @@ -187,11 +189,13 @@ class Ban throw new \RuntimeException('You cannot delete a ban without id'); } - $db = Database::getInstance(); - $db->query( + Database::getInstance()->query( "DELETE FROM {ban} WHERE banid = :id LIMIT 1", array(':id' => $this->id) ); + + $args = array('id' => $this->id); + EventDispatcher::getInstance()->triggerEvent(Events::BAN_DELETE, $args); } /** diff --git a/src/mibew/libs/classes/Mibew/EventDispatcher/Events.php b/src/mibew/libs/classes/Mibew/EventDispatcher/Events.php index 03986261..752f6027 100644 --- a/src/mibew/libs/classes/Mibew/EventDispatcher/Events.php +++ b/src/mibew/libs/classes/Mibew/EventDispatcher/Events.php @@ -33,6 +33,15 @@ final class Events */ const BAN_CREATE = 'banCreate'; + /** + * A ban is deleted. + * + * This event is triggered after a ban has been deleted. An associative + * array with the following items is passed to the event handlers: + * - "id": int, deleted ban ID. + */ + const BAN_DELETE = 'banDelete'; + /** * Cron is run. *