X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fgeneric%2Freferences%2Fclass_reference.inc;h=4b17529dbbbf318a30ffc91b5e3ebb99f40418d4;hb=df710618ca2059c0108ea364f35b4036a3c54d4d;hp=d2902e3b928577850d20ed9cc19746aa3beb8967;hpb=3082209baacc737659b444a6de4ed6ef5588faaf;p=gosa.git diff --git a/plugins/generic/references/class_reference.inc b/plugins/generic/references/class_reference.inc index d2902e3b9..4b17529db 100644 --- a/plugins/generic/references/class_reference.inc +++ b/plugins/generic/references/class_reference.inc @@ -57,7 +57,7 @@ class reference extends plugin { /* Call parent execute */ plugin::execute(); -plugin::execute(); + /* Set government mode */ $smarty= get_smarty(); @@ -82,7 +82,7 @@ plugin::execute(); { $ldap= $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); - $ldap->search("(|(member=".$this->dn.")(memberUid=".$this->uid."))"); + $ldap->search("(|(member=".$this->dn.")(memberUid=".$this->uid."))",array("memberUid","member","cn","description","objectClass")); $cycle= array("F5F5F5", "ECECEC"); $id= 0; @@ -106,6 +106,9 @@ plugin::execute(); } foreach ($attrs[$memberattr] as $uid){ $content= $this->getCacheObject($uid); + if ($content == NULL){ + continue; + } $addon.= '   '.$content['name'].''.$content['description'].''.$content['type'].' '; } } @@ -138,15 +141,19 @@ plugin::execute(); } else { $ldap->search("(uid=$dn)", array("cn", "objectClass", "description")); } - $attrs= $ldap->fetch(); - if (isset($attrs['description'])){ - $description= $attrs['description'][0]; + if ($ldap->count()){ + $attrs= $ldap->fetch(); + if (isset($attrs['description'])){ + $description= $attrs['description'][0]; + } else { + $description= "-"; + } + $this->objectCache[$dn]= array( 'name' => $attrs['cn'][0], + 'description' => "$description", + 'type' => $this->createContentString($attrs['objectClass'])); } else { - $description= "-"; + return NULL; } - $this->objectCache[$dn]= array( 'name' => $attrs['cn'][0], - 'description' => "$description", - 'type' => $this->createContentString($attrs['objectClass'])); } return ($this->objectCache[$dn]); } @@ -154,11 +161,13 @@ plugin::execute(); function createContentString($classes) { $result= ""; - foreach ($classes as $class){ - if (isset($this->obtypes[$class])){ - $result.= "\"\" ".$this->obtypes[$class]['text']." "; + if(!is_null($classes)) { + foreach ($classes as $class){ + if (isset($this->obtypes[$class])){ + $result.= "\"\" ".$this->obtypes[$class]['text']." "; + } } - } + } return (preg_replace('/ $/', '', $result)); }