X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fclass_tabs.inc;h=729a441d89e576a5cc511accdd7957eee3e1373d;hb=4ef5a0ec2c799536446dd29d5d828488cc14608f;hp=777c87426e2bc6cb27017eb2f84182c2cc00daed;hpb=9696d7ac19a62168c8969c29ff0a4e2707d743c0;p=gosa.git
diff --git a/include/class_tabs.inc b/include/class_tabs.inc
index 777c87426..729a441d8 100644
--- a/include/class_tabs.inc
+++ b/include/class_tabs.inc
@@ -33,23 +33,32 @@ class tabs
var $by_object= array();
var $SubDialog = false;
- function tabs($config, $data, $dn)
+ function tabs($config, $data, $dn, $acl_category= "")
{
/* 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);
/* Initialize current */
if ($this->current == ""){
$this->current= $tab['CLASS'];
}
}
-
}
function execute()
@@ -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.= "