例496 そのDNで項目を取得
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $hm = $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local'); /* $hm は下記の構造の配列 array( 'dn' => 'cn=Hugo Müller,ou=People,dc=my,dc=local', 'cn' => array('Hugo Müller'), 'sn' => array('Müller'), 'objectclass' => array('inetOrgPerson', 'top'), ... ) */
例497 与えられたDNが存在するかチェック
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $isThere = $ldap->exists('cn=Hugo Müller,ou=People,dc=my,dc=local');
例498 与えられたDNの子供を数える
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $childrenCount = $ldap->countChildren( 'cn=Hugo Müller,ou=People,dc=my,dc=local');
例499 LDAPツリーを検索
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $result = $ldap->search('(objectclass=*)', 'ou=People,dc=my,dc=local', Zend_Ldap_Ext::SEARCH_SCOPE_ONE); foreach ($result as $item) { echo $item["dn"] . ': ' . $item['cn'][0] . PHP_EOL; }
例500 LDAPに新規項目を追加
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $entry = array(); Zend_Ldap_Attribute::setAttribute($entry, 'cn', 'Hans Meier'); Zend_Ldap_Attribute::setAttribute($entry, 'sn', 'Meier'); Zend_Ldap_Attribute::setAttribute($entry, 'objectClass', 'inetOrgPerson'); $ldap->add('cn=Hans Meier,ou=People,dc=my,dc=local', $entry);
例501 LDAPから存在する項目を削除
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $ldap->delete('cn=Hans Meier,ou=People,dc=my,dc=local');
例502 LDAPに存在する項目を更新
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $hm = $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local'); Zend_Ldap_Attribute::setAttribute($hm, 'mail', 'mueller@my.local'); Zend_Ldap_Attribute::setPassword($hm, 'newPa$$w0rd', Zend_Ldap_Attribute::PASSWORD_HASH_SHA1); $ldap->update('cn=Hugo Müller,ou=People,dc=my,dc=local', $hm);
例503 LDAP項目をその全ての派生物と共に再帰的にコピー
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $ldap->copy('cn=Hugo Müller,ou=People,dc=my,dc=local', 'cn=Hans Meier,ou=People,dc=my,dc=local', true);
例504 LDAP項目をその全ての派生物と共に再帰的に異なるサブツリーに移動
$options = array(/* ... */); $ldap = new Zend_Ldap($options); $ldap->bind(); $ldap->moveToSubtree('cn=Hugo Müller,ou=People,dc=my,dc=local', 'ou=Dismissed,dc=my,dc=local', true);