From 39dcce13dee7f6384477dcfde4fa4cb967f00636 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come.chilliet@fusiondirectory.org> Date: Tue, 9 Jun 2020 14:42:30 +0200 Subject: [PATCH] :sparkles: feat(errors) Add toArray function for webservice integration issue #6071 --- include/errors/class_FusionDirectoryError.inc | 9 +++++++++ include/errors/class_SimplePluginCheckError.inc | 16 ++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/include/errors/class_FusionDirectoryError.inc b/include/errors/class_FusionDirectoryError.inc index 4fcd6a586..a846a6402 100644 --- a/include/errors/class_FusionDirectoryError.inc +++ b/include/errors/class_FusionDirectoryError.inc @@ -30,4 +30,13 @@ class FusionDirectoryError extends Error $this->htmlMessage = $htmlMessage; parent::__construct(htmlunescape(strip_tags($htmlMessage)), $code, $previous); } + + public function toArray (): array + { + return [ + 'message' => $this->getMessage(), + 'line' => $this->getLine(), + 'file' => $this->getFile(), + ]; + } } diff --git a/include/errors/class_SimplePluginCheckError.inc b/include/errors/class_SimplePluginCheckError.inc index c9679e4b3..56e19de8a 100644 --- a/include/errors/class_SimplePluginCheckError.inc +++ b/include/errors/class_SimplePluginCheckError.inc @@ -43,6 +43,22 @@ class SimplePluginCheckError extends FusionDirectoryError parent::__construct($htmlMessage, $code, $previous); } + public function toArray (): array + { + $array = parent::toArray(); + + if (isset($this->tab)) { + $array['dn'] = $this->tab->parent->getBaseObject()->dn; + $array['tab'] = get_class($this->tab); + } + + if (isset($this->attribute)) { + $array['attribute'] = $this->attribute->getLdapName(); + } + + return $array; + } + public function computeMsgDialogParameters (): array { $html = ''; -- GitLab