X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fgeneric%2Freferences%2Fclass_reference.inc;h=4b17529dbbbf318a30ffc91b5e3ebb99f40418d4;hb=62cc124fe8519af476363aa197001bbb9c00e826;hp=643076dc34ce6e1eaef7111931c69622e6043a47;hpb=e299f0ca47a924516f2afbe4e922f2418b75315c;p=gosa.git
diff --git a/plugins/generic/references/class_reference.inc b/plugins/generic/references/class_reference.inc
index 643076dc3..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));
}