X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_tabs.inc;h=c7666fddff52ffb86e498d1299977eb3bb6f2fb1;hb=8242fde1a538dd582896d842945b121a4bb985d4;hp=aa70a46262944de6fd532aa4bea0eec0d1a6241b;hpb=654d905191af7e2a795fa39957b4c7445102a6cb;p=gosa.git diff --git a/gosa-core/include/class_tabs.inc b/gosa-core/include/class_tabs.inc index aa70a4626..c7666fddf 100644 --- a/gosa-core/include/class_tabs.inc +++ b/gosa-core/include/class_tabs.inc @@ -1,22 +1,24 @@ config= &$config; $baseobject= NULL; - + $this->acl_category = $acl_category; foreach ($data as &$tab){ + + if (!plugin_available($tab['CLASS'])){ + continue; + } + $this->by_name[$tab['CLASS']]= $tab['NAME']; if ($baseobject === NULL){ @@ -55,7 +62,7 @@ class tabs } $this->by_object[$tab['CLASS']]->parent= &$this; - $this->by_object[$tab['CLASS']]->set_acl_category($acl_category); + $this->by_object[$tab['CLASS']]->set_acl_category($this->acl_category); /* Initialize current */ if ($this->current == ""){ @@ -64,9 +71,34 @@ class tabs } } + + /*! \brief Reinitializes the tab classes with fresh ldap values. + This maybe usefull if for example the apply button was pressed. + */ + function re_init() + { + $baseobject= NULL; + foreach($this->by_object as $name => $object){ + $class = get_class($object); + if(in_array($class,array("reference","acl"))) continue; + if ($baseobject === NULL){ + $baseobject= new $class($this->config, $this->dn); + $baseobject->enable_CSN_check(); + $this->by_object[$name]= $baseobject; + } else { + $this->by_object[$name]= new $class($this->config, $this->dn, $baseobject); + } + $this->by_object[$name]->parent= &$this; + $this->by_object[$name]->set_acl_category($this->acl_category); + } + } + function execute() { + /* Ensure that the currently selected tab is valid. */ + if(!isset($this->by_name[$this->current])) $this->current = key($this->by_name); + /* Rotate current to last */ $this->last= $this->current; @@ -179,7 +211,7 @@ class tabs $notify= ""; } - if ($_SESSION['js']==FALSE){ + if (session::get('js')==FALSE){ $display.= "