From 097b79f9c89d9c12bdd324c9a7af7f42e83df50c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=B4me=20Bernigaud?= <come.bernigaud@opensides.be>
Date: Tue, 30 Jun 2015 16:08:11 +0200
Subject: [PATCH] Fixes #3914 Removing uses of class tabs

---
 plugins/addons/dashboard/tabs_dashBoard.inc | 16 ++++++----------
 plugins/config/class_configInLdap.inc       |  5 +++++
 plugins/config/tabs_configInLdap.inc        |  2 +-
 3 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/plugins/addons/dashboard/tabs_dashBoard.inc b/plugins/addons/dashboard/tabs_dashBoard.inc
index 55d3ca84d..646a0c817 100644
--- a/plugins/addons/dashboard/tabs_dashBoard.inc
+++ b/plugins/addons/dashboard/tabs_dashBoard.inc
@@ -19,19 +19,15 @@
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 */
 
-class tabs_dashboard extends tabs
+class tabs_dashboard extends simpleTabs_noSpecial
 {
-
-  function __construct($config, $data, $dn = NULL, $category = 'dashboard', $copied_object = NULL)
+  function __construct($type, $dn, $copied_object = NULL)
   {
-    foreach ($data as $key => $infos) {
-      if (($infos['CLASS'] == 'dashboardNetwork') &&
-          !(class_available('dhcpService') || class_available('serviceDNS'))) {
-        unset($data[$key]);
-      }
+    parent::__construct($type, $dn, $copied_object);
+    if (!class_available('dhcpService') && !class_available('serviceDNS')) {
+      unset($this->by_object['dashboardNetwork']);
+      unset($this->by_name['dashboardNetwork']);
     }
-    $data = array_values($data);
-    parent::__construct($config, $data, $dn, $category);
   }
 
   function save()
diff --git a/plugins/config/class_configInLdap.inc b/plugins/config/class_configInLdap.inc
index 669799ae1..f6736cf62 100644
--- a/plugins/config/class_configInLdap.inc
+++ b/plugins/config/class_configInLdap.inc
@@ -456,6 +456,11 @@ class configInLdap extends simplePlugin
     );
   }
 
+  function compute_dn()
+  {
+    return $this->dn;
+  }
+
   static function get_themes()
   {
     $themesdir  = '../ihtml/themes/';
diff --git a/plugins/config/tabs_configInLdap.inc b/plugins/config/tabs_configInLdap.inc
index 36445f120..aeb29df38 100644
--- a/plugins/config/tabs_configInLdap.inc
+++ b/plugins/config/tabs_configInLdap.inc
@@ -18,7 +18,7 @@
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 */
 
-class tabs_configInLdap extends tabs
+class tabs_configInLdap extends simpleTabs_noSpecial
 {
   function save ()
   {
-- 
GitLab