diff --git a/include/errors/class_SimplePluginError.inc b/include/errors/class_SimplePluginError.inc index 38825899f3100bd723e82188a80a70267763b6d5..0bb239ac5cba3383bc9551d0e32ae06035a3da10 100644 --- a/include/errors/class_SimplePluginError.inc +++ b/include/errors/class_SimplePluginError.inc @@ -61,8 +61,8 @@ class SimplePluginError extends FusionDirectoryError { $array = parent::toArray(); - if (isset($this->object)) { - $array['dn'] = $this->object->getBaseObject()->dn; + if (isset($this->object->dn)) { + $array['dn'] = $this->object->dn; } if (isset($this->tab)) { @@ -80,8 +80,8 @@ class SimplePluginError extends FusionDirectoryError { $msg = ''; - if (isset($this->object)) { - $msg .= $this->object->getBaseObject()->dn.' > '; + if (isset($this->object->dn)) { + $msg .= $this->object->dn.' > '; } if (isset($this->tab) && isset($this->tab->parent->by_name[get_class($this->tab)])) { @@ -106,8 +106,8 @@ class SimplePluginError extends FusionDirectoryError $breadcrumbs = []; - if (isset($this->object)) { - $breadcrumbs[] = htmlescape($this->object->getBaseObject()->dn); + if (isset($this->object->dn)) { + $breadcrumbs[] = htmlescape($this->object->dn); } if (isset($this->tab) && isset($this->tab->parent->by_name[get_class($this->tab)])) { diff --git a/include/errors/class_SimplePluginHookError.inc b/include/errors/class_SimplePluginHookError.inc index 86f35c889e016794ce7d0a6fda6a6788814a721a..c7a693a27d3a7901da258b2957d134a17d736a69 100644 --- a/include/errors/class_SimplePluginHookError.inc +++ b/include/errors/class_SimplePluginHookError.inc @@ -46,11 +46,11 @@ class SimplePluginHookError extends SimplePluginError { $html = ''; - if (isset($this->object)) { - $html .= htmlescape($this->object->getBaseObject()->dn.' > '); + if (isset($this->object->dn)) { + $html .= htmlescape($this->object->dn.' > '); } - if (isset($this->tab)) { + if (isset($this->tab) && isset($this->tab->parent->by_name[get_class($this->tab)])) { $html .= htmlescape($this->tab->parent->by_name[get_class($this->tab)].' > '); } diff --git a/include/errors/class_SimplePluginLdapError.inc b/include/errors/class_SimplePluginLdapError.inc index b2830937a8d72d7187d406e7e5cfb807cee388d3..5f05144f6b649f6dba38f4e39762cdf7dfff9c80 100644 --- a/include/errors/class_SimplePluginLdapError.inc +++ b/include/errors/class_SimplePluginLdapError.inc @@ -53,11 +53,11 @@ class SimplePluginLdapError extends SimplePluginError { $html = ''; - if (isset($this->object)) { - $html .= htmlescape($this->object->getBaseObject()->dn.' > '); + if (isset($this->object->dn)) { + $html .= htmlescape($this->object->dn.' > '); } - if (isset($this->tab)) { + if (isset($this->tab) && isset($this->tab->parent->by_name[get_class($this->tab)])) { $html .= htmlescape($this->tab->parent->by_name[get_class($this->tab)].' > '); } diff --git a/include/simpleplugin/class_simpleTabs.inc b/include/simpleplugin/class_simpleTabs.inc index ac2555b169a9d85fe20ffa5b3f690ac2e2e075b1..55f909f0c7332b3acac0367b75ae0f3795b31960 100644 --- a/include/simpleplugin/class_simpleTabs.inc +++ b/include/simpleplugin/class_simpleTabs.inc @@ -73,7 +73,7 @@ class simpleTabs implements FusionDirectoryDialog ); } - $baseobject = NULL; + $this->baseclass = NULL; foreach ($data as $tab) { if (!plugin_available($tab['CLASS'])) { continue; @@ -85,12 +85,11 @@ class simpleTabs implements FusionDirectoryDialog $this->by_name[$tab['CLASS']] = $tab['NAME']; $this->plNotify[$tab['CLASS']] = FALSE; - if ($baseobject === NULL) { - $baseobject = new $tab['CLASS']($this->dn, $attrs_object, $this, TRUE); - $this->by_object[$tab['CLASS']] = $baseobject; + if ($this->baseclass === NULL) { + $this->by_object[$tab['CLASS']] = new $tab['CLASS']($this->dn, $attrs_object, $this, TRUE); $this->baseclass = $tab['CLASS']; } else { - $this->by_object[$tab['CLASS']] = new $tab['CLASS']($this->dn, $baseobject, $this, FALSE); + $this->by_object[$tab['CLASS']] = new $tab['CLASS']($this->dn, $this->by_object[$this->baseclass], $this, FALSE); } $this->by_object[$tab['CLASS']]->set_acl_category($this->acl_category);