functions = CreateObject('expressoAdmin1_2.functions'); } function write_ldap($dn, $info) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); if (ldap_add($connection, $dn, $info)) { ldap_close($connection); return true; } else { echo 'Erro na escrita no LDAP, funcao so->write_ldap'; ldap_close($connection); return false; } } function exist_computer_uid($computer_cn) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $search = ldap_search($connection, $GLOBALS['phpgw_info']['server']['ldap_context'], "uid=" . $computer_cn . '$'); $result = ldap_get_entries($connection, $search); if ($result['count'] == 0) return false; else return true; } function get_computer_data($uidnumber, $manager_context) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $search = ldap_search($connection, $manager_context, "uidNumber=" . $uidnumber); $result = ldap_get_entries($connection, $search); // Recupera o DN $computer_data['dn'] = $result[0]['dn']; //Recupera o Nome do Computador (CN) $computer_data['computer_cn'] = $result[0]['cn'][0]; //Recupera a flag SAMBA $computer_data['sambaAcctFlags'] = $result[0]['sambaacctflags'][0]; // Recupera a descrição $computer_data['computer_description'] = utf8_decode($result[0]['description'][0]); // Recupera o contexto do email_list $tmp = explode(",", $computer_data['dn']); for ($i = 1; $i < count($tmp); $i++) $computer_data['context'] .= $tmp[$i] . ','; $computer_data['context'] = substr($computer_data['context'],0,(strlen($computer_data['context']) - 1)); $a_tmp = explode("-", $result[0]['sambasid'][0]); array_pop($a_tmp); $computer_data['sambasid'] = implode("-", $a_tmp); return $computer_data; } function delete_computer_ldap($dn) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $result = ldap_delete($connection, $dn); ldap_close($connection); return $result; } function rename_ldap($old_dn, $new_rdn, $new_context) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $result = ldap_rename($connection, $old_dn, $new_rdn, $new_context, true); ldap_close($connection); return $result; } function ldap_add_attribute($ldap_add_attribute, $dn) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $result = ldap_mod_add($connection, $dn, $ldap_add_attribute); ldap_close($connection); //Escreve no log $this->functions->write_log($GLOBALS['phpgw']->accounts->data['account_lid'], 'add attributes in ldap in email list', $dn,'','',''); return $result; } function ldap_remove_attribute($ldap_remove_attribute, $dn) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $result = ldap_mod_del($connection, $dn, $ldap_remove_attribute); ldap_close($connection); //Escreve no log $this->functions->write_log($GLOBALS['phpgw']->accounts->data['account_lid'], 'remove attributes in ldap in email list', $dn,'','',''); return $result; } function ldap_replace_attribute($ldap_replace_attribute, $dn) { $connection = $GLOBALS['phpgw']->common->ldapConnect(); $result = ldap_mod_replace($connection, $dn, $ldap_replace_attribute); ldap_close($connection); return $result; } } ?>