Current Path : /home/bitrix/ext_www/vt.yacl.site/ |
Current File : /home/bitrix/ext_www/vt.yacl.site/adtest.php |
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); //If (!$USER->IsAdmin()) // die ('Admin page only!'); Bitrix\Main\Loader::includeModule('ldap'); // oklog('test'); // $ldapUsers = \Bitrix\Main\UserTable::getList([ // 'filter' => ['ACTIVE' => 'Y', 'EXTERNAL_AUTH_ID' => 'LDAP#1'], // 'select' => ['ID', 'EMAIL'], // ])->fetchAll(); // // //// okp($ldapUsers); // foreach ($ldapUsers as $userok) { //// okp($userok['ID']); //// okp($userok['EMAIL']); // $USER->Update($userok['ID'], ['EMAIL' => 'test___' . $userok['EMAIL']]); // } // //// $USER->Update(1352, ['EMAIL' => 'test___ean@vebeng.ru']); // // die(); //// okp($ldapUsers); //$server = CLdapServer::GetList([],[])->Fetch(); // okp($server); echo CLdapServer::Sync(1); //okp($APPLICATION->GetException()); die(); \Bitrix\Main\Loader::includeModule('ldap'); $server = CLdapServer::GetList([],[])->Fetch(); // p($server); // используется ldap-привязка $ldaprdn = $server['ADMIN_LOGIN']; // ldap rdn или dn $ldappass = $server['ADMIN_PASSWORD']; // ассоциированный пароль $url = $server['SERVER']; // соединение с сервером $ldapconn = ldap_connect($url) or die("Не могу соединиться с сервером LDAP."); if ($ldapconn) { @ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); @ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0); @ldap_set_option($ldapconn, LDAP_OPT_SIZELIMIT, COption::GetOptionInt("ldap", "group_limit", 0)); @ldap_set_option($ldapconn, LDAP_OPT_TIMELIMIT, 100); @ldap_set_option($ldapconn, LDAP_OPT_TIMEOUT, 5); @ldap_set_option($ldapconn, LDAP_OPT_NETWORK_TIMEOUT, 5); // привязка к ldap-серверу $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); $dn = $server["BASE_DN"]; // $filter = '(&(objectClass=user)(objectCategory=PERSON))'; $filter = '(&(samaccountname=Loenkoyv))'; $justthese = array("*", 'room', "samaccountname", "сn", "company", "department", 'DisplayName', 'givenname', 'mail', 'mobile', 'name', 'sn', 'tephoneNumber', 'title', 'physicalDeliveryOfficeName'); // okp($ldapconn); // okp($dn); // okp($filter); $sr = ldap_search($ldapconn, $dn, $filter, $justthese); // okp($sr); // okp(ldap_error($ldapconn)); $info = ldap_get_entries($ldapconn, $sr); // foreach ($info as $key => $item) { // if ($key == 'count') // continue; // if (true or strpos($item['givenname'][0], ' ') === false || in_array($item['samaccountname'][0], ['ean', 'chva'])) { // echo $item['samaccountname'][0] . ": [sn]=" . $item['sn'][0] . ', [givenname]=' . $item['givenname'][0] . '<br>'; // } // } okp($info['count']); okp($info[0]); // okp($info[1]); // okp($info[2]); // okp($info); } // //require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>