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));
}