X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fgeneric%2Freferences%2Fclass_reference.inc;h=4b17529dbbbf318a30ffc91b5e3ebb99f40418d4;hb=62cc124fe8519af476363aa197001bbb9c00e826;hp=5b97749d70f6cc8d92d87cb3d088ea33708bb797;hpb=887c24a5149961d1fc0d00bf71e75bb8d82cf5b2;p=gosa.git diff --git a/plugins/generic/references/class_reference.inc b/plugins/generic/references/class_reference.inc index 5b97749d7..4b17529db 100644 --- a/plugins/generic/references/class_reference.inc +++ b/plugins/generic/references/class_reference.inc @@ -55,6 +55,9 @@ class reference extends plugin function execute() { + /* Call parent execute */ + plugin::execute(); + /* Set government mode */ $smarty= get_smarty(); @@ -79,7 +82,7 @@ class reference extends plugin { $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; @@ -103,6 +106,9 @@ class reference extends plugin } foreach ($attrs[$memberattr] as $uid){ $content= $this->getCacheObject($uid); + if ($content == NULL){ + continue; + } $addon.= '   '.$content['name'].''.$content['description'].''.$content['type'].' '; } } @@ -119,7 +125,7 @@ class reference extends plugin } else { $img= "images/sort_down.png"; } - $this->objectlist.= '\"\" '.$attrs['cn'][0].''.$description.''.$content.' '.$addon; + $this->objectlist.= ' '.$attrs['cn'][0].''.$description.''.$content.' '.$addon; $id++; } @@ -135,15 +141,19 @@ class reference extends plugin } 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]); } @@ -151,11 +161,13 @@ class reference extends plugin 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)); }