config= $config; $this->dn= $dn; /* Fill translation array */ $this->obtypes= array( "gosaAccount" => array( "text" => _("Generic"), "image" => "penguin.png"), "posixAccount" => array( "text" =>_("UNIX"), "image" => "select_user.png"), "gosaMailAccount" => array("text" => _("Mail"), "image" => "mailto.png"), "sambaSamAccount" => array("text" => _("Samba"), "image" => "select_winstation.png"), "sambaAccount" => array( "text" => _("Samba"), "image" => "select_winstation.png"), "goFaxAccount" => array( "text" => _("FAX"), "image" => "fax_small.png"), "gosaProxyAccount" => array("text" => _("Proxy"), "image" => "select_proxy.png"), "PureFTPdUser" => array( "text" => _("FTP"), "image" => "select_proxy.png"), "posixGroup" => array( "text" => _("Group"), "image" => "select_groups.png"), "gosaDepartment" => array( "text" => _("Department"), "image" => "select_department.png"), "goFonHardware" => array( "text" => _("Phone"), "image" => "select_phone.png"), "gosaApplication" => array("text" => _("Application"), "image" => "select_application.png"), "goServer" => array( "text" => _("Server"), "image" => "select_server.png"), "gotoTerminal" => array( "text" => _("Thin Client"), "image" => "select_terminal.png"), "gotoWorkstation" => array("text" => _("Workstation"), "image" => "select_workstation.png"), "gosaGroupOfNames" => array("text" => _("Object group"), "image" => "select_ogroup.png"), "gotoPrinter" => array( "text" => _("Printer"), "image" => "select_printer.png")); } function execute() { /* Call parent execute */ plugin::execute(); /* Set government mode */ $smarty= get_smarty(); if (isset($_GET['show'])){ $dn= base64_decode($_GET['show']); if (isset($this->fold["$dn"])){ unset($this->fold["$dn"]); } else { $this->fold["$dn"]= "$dn"; } } /* Fill array */ $this->reload(); $smarty->assign("objectList", $this->objectlist); /* Show main page */ return ($smarty->fetch (get_template_path('contents.tpl', TRUE, dirname(__FILE__)))); } function reload() { $ldap= $this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->search("(|(member=".$this->dn.")(memberUid=".$this->uid."))"); $cycle= array("F5F5F5", "ECECEC"); $id= 0; $this->objectlist= ""; while ($attrs= $ldap->fetch()){ /* Add more information? */ $addon= ""; if (in_array($attrs['dn'], $this->fold)){ $memberattr= ""; if (isset($attrs['memberUid'])){ unset($attrs['memberUid']['count']); $memberattr= "memberUid"; } if (isset($attrs['member'])){ unset($attrs['member']['count']); $memberattr= "member"; } if ($memberattr == ""){ continue; } foreach ($attrs[$memberattr] as $uid){ $content= $this->getCacheObject($uid); $addon.= '