X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_tabs.inc;h=729a441d89e576a5cc511accdd7957eee3e1373d;hb=4e21fc2c719f4175c9b0e72ee9fbc95249a16ddf;hp=78147cd0fa6332c23b400a2319e017b6d90e3f28;hpb=da6de1ed136c1659d451e61cf00b950b7cf2e249;p=gosa.git
diff --git a/include/class_tabs.inc b/include/class_tabs.inc
index 78147cd0f..729a441d8 100644
--- a/include/class_tabs.inc
+++ b/include/class_tabs.inc
@@ -38,10 +38,19 @@ class tabs
/* Save dn */
$this->dn= $dn;
$this->config= $config;
+
+ $baseobject= NULL;
foreach ($data as $tab){
$this->by_name[$tab['CLASS']]= $tab['NAME'];
- $this->by_object[$tab['CLASS']]= new $tab['CLASS']($this->config, $this->dn);
+
+ if ($baseobject == NULL){
+ $baseobject= new $tab['CLASS']($this->config, $this->dn);
+ $this->by_object[$tab['CLASS']]= $baseobject;
+ } else {
+ $this->by_object[$tab['CLASS']]= new $tab['CLASS']($this->config, $this->dn, $baseobject);
+ }
+
$this->by_object[$tab['CLASS']]->parent= &$this;
$this->by_object[$tab['CLASS']]->set_acl_category($acl_category);
@@ -81,7 +90,9 @@ class tabs
$obj= $this->by_object[$this->current];
$display.= $obj->execute();
- $this->by_object[$this->current]= $obj;
+ if (is_php4()){
+ $this->by_object[$this->current]= $obj;
+ }
/* Footer for tabbed dialog */
$display.= "";
@@ -97,7 +108,9 @@ class tabs
$obj= $this->by_object[$this->last];
$obj->save_object ();
- $this->by_object[$this->last]= $obj;
+ if (is_php4()){
+ $this->by_object[$this->last]= $obj;
+ }
}
/* Skip if curent and last are the same object */
@@ -113,9 +126,10 @@ class tabs
$this->current, "Saving (current)");
$obj->save_object ();
- $this->by_object[$this->current]= $obj;
+ if (is_php4()){
+ $this->by_object[$this->current]= $obj;
+ }
}
-
}
function gen_tabs()
@@ -141,11 +155,14 @@ class tabs
$display.= "
";
/* Shorten string if its too long for the tab headers*/
- $title= ''._($name).'';
+ $title= _($name);
if (mb_strlen($title, 'UTF-8') > 28){
$title= mb_substr($title,0, 25, 'UTF-8')."...";
}
-
+
+ /* nobr causes w3c warnings so we use to keep the tab name in one line */
+ $title= preg_replace("/ /"," ",$title);
+
if ($_SESSION['js']==FALSE){
$display.= "