index ae1b6b08edd9e3ef5893aa01974b010cc4dd74be..dd922df9649b76bde51fab9c5bec92e232ce33ec 100644 (file)
var $idepartments= array();
var $adepartments= array();
var $tdepartments= array();
+ var $department_info= array();
var $filename = "";
var $last_modified = 0;
* \param string 'basedir' base directory
*
* */
- function __construct($filename, $basedir= "")
+ function config($filename, $basedir= "")
{
$this->parser = xml_parser_create();
$this->basedir= $basedir;
$bases= array();
$servers= array();
foreach ($this->current['REFERRAL'] as $ref){
- $server= preg_replace('%^(.*)/[^/]+$%', '\\1', $ref['URI']);
- $base= preg_replace('%^.*/([^/]+)$%', '\\1', $ref['URI']);
+ $server= preg_replace('%^(.*://[^/]+)/.*$%', '\\1', $ref['URI']);
+ $base= preg_replace('%^.*://[^/]+/(.*)$%', '\\1', $ref['URI']);
$bases[$base]= strlen($base);
$servers[$base]= $server;
}
$types = departmentManagement::get_support_departments();
/* Create a list of attributes to fetch */
- $ldap_values = array("objectClass","gosaUnitTag");
+ $ldap_values = array("objectClass","gosaUnitTag", "description");
$filter = "";
foreach($types as $type){
$ldap_values[] = $type['ATTR'];
foreach($types as $t => $data){
if(in_array($data['OC'],$attrs['objectClass'])){
$type_data = $data;
- break;
+ break;
}
}
- /* Unknown department type -> skip
- */
+ /* Unknown department type -> skip */
if(!count($type_data)) continue;
$dn= $ldap->getDN();
$this->tdepartments[$dn]= "";
+ $this->department_info[$dn]= array("img" => $type_data['IMG'],
+ "description" => isset($attrs['description'][0])?$attrs['description'][0]:"",
+ "name" => $attrs[$type_data['ATTR']][0]);
/* Save administrative departments */
if (in_array_ics("gosaAdministrativeUnit", $attrs['objectClass']) &&
if ($dn == $ignore_dn){
continue;
}
-
$c_dn = convert_department_dn($dn)." (".$type_data['ATTR'].")";
/* Only assign non-root departments */