X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fgroups%2Fclass_groupGeneric.inc;h=f25a036f113d683530f88d3b50aa3349dc4d83cf;hb=1d1cd0cb530ce119ec3d8c26183da6795dff7ba2;hp=05d8181e44474bd8f1def33ad977af4391966f21;hpb=ca2dc9674e8e4c3e981965af653a4ef6d3faccf8;p=gosa.git diff --git a/plugins/admin/groups/class_groupGeneric.inc b/plugins/admin/groups/class_groupGeneric.inc index 05d8181e4..f25a036f1 100644 --- a/plugins/admin/groups/class_groupGeneric.inc +++ b/plugins/admin/groups/class_groupGeneric.inc @@ -1,4 +1,5 @@ data,"faiManagement","CLASS"); - if(!empty($tmp)){ - $this->description = preg_replace("/\(.*\)$/","",$this->description); - } - /* Load attributes depending on the samba version */ $this->samba3= ($config->current['SAMBAVERSION'] == 3); $this->orig_dn= $dn; @@ -427,6 +421,7 @@ class group extends plugin } } if(!empty($filter)){ + $ldap->cd($this->config->current['BASE']); $ldap->search("(&(objectClass=gosaAccount)(!(objectClass=gosaUserTemplate))(|".$filter."))",array("uid","sn","givenName")); while($attrs = $ldap->fetch()){ $this->members[$attrs['uid'][0]] = $this->createResultName($attrs); @@ -444,7 +439,16 @@ class group extends plugin /* Create display list of users matching regex & filter */ $this->displayUsers = array(); - $filter = "(&(objectClass=gosaAccount)(!(objectClass=gosaUserTemplate))(!(uid=*$))(|(uid=".$regex.")(sn=".$regex.")(givenName=".$regex.")))"; + + /* Set tag attribute if we've tagging activated */ + $tag= ""; + $ui= get_userinfo(); + if ($ui->gosaUnitTag != "" && isset($this->config->current['STRICT_UNITS']) && + preg_match('/TRUE/i', $this->config->current['STRICT_UNITS'])){ + $tag= "(gosaUnitTag=".$ui->gosaUnitTag.")"; + } + + $filter = "(&(objectClass=gosaAccount)$tag(!(objectClass=gosaUserTemplate))(!(uid=*$))(|(uid=".$regex.")(sn=".$regex.")(givenName=".$regex.")))"; /* Search in current tree or within subtrees depending on the checkbox from filter section */ if($gufilter['SubSearchGroup']){ @@ -498,7 +502,7 @@ class group extends plugin $ldap= $this->config->get_ldap_link(); $ldap->rmdir($this->dn); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), _("Removing group failed")); /* Delete references to object groups */ $ldap->cd ($this->config->current['BASE']); @@ -581,24 +585,6 @@ class group extends plugin } } - /* If release management is enabled .... - Append release name to description tag .. - #FIXME release name within description is a very bad solution, use ldap attribute instead - */ - $tmp = search_config($this->config->data,"faiManagement","CLASS"); - if(!empty($tmp)){ - if(isset($this->parent)){ - if(isset($this->parent->by_object['appgroup'])){ - $baseObj = $this->parent->by_object['appgroup']; - if($baseObj->is_account){ - if(isset($baseObj->Release)){ - $this->description .= " (".trim($baseObj->Release).")"; - } - } - } - } - } - plugin::save(); /* Remove objectClass for samba/phone support */ @@ -688,7 +674,7 @@ class group extends plugin /* Save data. Using 'modify' implies that the entry is already present, use 'add' for new entries. So do a check first... */ - $ldap->cat ($this->dn); + $ldap->cat ($this->dn, array('dn')); if ($ldap->fetch()){ /* Modify needs array() to remove values :-( */ if (!count ($this->memberUid)){ @@ -713,7 +699,7 @@ class group extends plugin $ldap->$mode($this->attrs); $ret= 0; - if (show_ldap_error($ldap->get_error())){ + if (show_ldap_error($ldap->get_error(), _("Saving group failed"))){ $ret= 1; }