functions = createobject('expressoAdmin1_2.functions'); } function exist_sector_name($sector_name, $context) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $search = ldap_list($connection, $context, "ou=" . $sector_name); $result = ldap_get_entries($connection, $search); if ($result['count'] == 0) return false; else return true; } function write_ldap($dn, $info) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); if (ldap_add($connection, $dn, $info)) { //Escreve no log $this->functions->write_log2($GLOBALS['phpgw']->accounts->data['account_lid'], 'write in ldap', $dn,'','',''); ldap_close($connection); return true; } else { echo 'Erro na escrita no LDAP, funcao write_ldap'; ldap_close($connection); return false; } } function get_sector_users($context) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $justthese = array("cn", "uidNumber", "uid"); $filter="(&(phpgwAccountType=u)(uid=*))"; $search=ldap_search($connection, $context, $filter, $justthese); $result = ldap_get_entries($connection, $search); return $result; } function get_sector_groups($context) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $justthese = array("cn", "gidnumber"); $filter="(&(phpgwAccountType=g)(cn=*))"; $search=ldap_search($connection, $context, $filter, $justthese); $result = ldap_get_entries($connection, $search); return $result; } function get_sector_subsectors($context) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $justthese = array("ou"); $filter="(objectClass=organizationalUnit)"; $search=ldap_search($connection, $context, $filter, $justthese); $result = ldap_get_entries($connection, $search); return $result; } function delete_sector_ldap_recursively($connection, $dn) { //searching for sub entries $search=ldap_list($connection,$dn,"ObjectClass=organizationalUnit",array("")); $info = ldap_get_entries($connection, $search); for($i=0;$i<$info['count'];$i++) { //deleting recursively sub entries $result=$this->delete_sector_ldap_recursively($connection,$info[$i]['dn']); if(!$result) { //return result code, if delete fails return($result); } } return(ldap_delete($connection,$dn)); } } ?>