diff --git a/include/class_tabs.inc b/include/class_tabs.inc
index 72068da0016c6764971745c4a0584673e9cd0e50..8e2d42ca4861c77d3dd7305f14edb0c3610c4ce8 100644 (file)
--- a/include/class_tabs.inc
+++ b/include/class_tabs.inc
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()
$display.= "<td style=\"vertical-align:bottom;width:1px;\">";
/* Shorten string if its too long for the tab headers*/
- $title= '<nobr>'._($name).'</nobr>';
+ $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.= "<div class=\"$style[$index]\"><input type=\"submit\" name=\"$class\"".
" class=\"$style[$index]\" value=\"$title\"";
function set_acl($acl)
{
- /* Set local acl */
- $this->acl= $acl;
-
- /* Setup for all plugins */
- foreach ($this->by_object as $key => $obj){
- $sacl= get_module_permission($acl, "$key", $this->dn);
- $obj->acl= $sacl;
- $this->by_object[$key]= $obj;
- }
+ /* Look for attribute in ACL */
+ trigger_error("Don't use tabs::set_acl() its obsolete.");
}
function delete()
*/
function getCopyDialog()
{
- $ret = "";
- $this->SubDialog = false;
- foreach ($this->by_object as $key => $obj){
- if($obj->is_account){
- $tmp = $this->by_object[$key]->getCopyDialog();
- if($tmp['status'] == "SubDialog"){
- $this->SubDialog = true;
- return($tmp['string']);
- }else{
- $ret .= $tmp['string'];
- }
- }
- }
- return($ret);
+ $ret = "";
+ $this->SubDialog = false;
+ foreach ($this->by_object as $key => $obj){
+ if($obj->is_account){
+ $tmp = $this->by_object[$key]->getCopyDialog();
+ if($tmp['status'] == "SubDialog"){
+ $this->SubDialog = true;
+ return($tmp['string']);
+ }else{
+ if(!empty($tmp['string'])){
+ $ret .= $tmp['string'];
+ $ret .= "<p class='seperator'> </p>";
+ }
+ }
+ }
+ }
+ return($ret);
}
foreach ($this->by_object as $name => $obj){
if ($first){
$first= FALSE;
-echo "Setting base to ".$obj->acl_base."<br>";
$base= $obj->acl_base;
} else {
-echo "Transfering $base to $name<br>";
$obj->set_acl_base($base);
$this->by_object[$name]= $obj;
}
}
}
-
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>