diff options
Diffstat (limited to 'classes/events.php')
-rw-r--r-- | classes/events.php | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/classes/events.php b/classes/events.php index 5dfb0cf..5b93a9c 100644 --- a/classes/events.php +++ b/classes/events.php @@ -59,7 +59,7 @@ class events { if ($callbacks->valid()) { foreach ($callbacks as $callback) { - self::send($data, $callback); + self::handlerCallback($data, $callback); } } @@ -67,20 +67,34 @@ class events { } /** - * Sending data to the node. + * Processes each callback. * * @param array $data * @param object $callback */ - private static function send($data, $callback) { + private static function handlerCallback($data, $callback) { if ($callback->enable) { - $curl = new curl(); - $package = self::packup($data); - $curl::request($callback->url, $package); + $events = unserialize(gzuncompress(base64_decode($callback->events))); + + if (boolval($events[$data["eventname"]])) { + self::send($data, $callback); + } } } /** + * Sending data to the node. + * + * @param array $data + * @param object $callback + */ + private static function send($data, $callback) { + $curl = new curl(); + $package = self::packup($data); + $curl::request($callback->url, $package); + } + + /** * Packs the data for transmission. * * @param array $data |