connect.inc 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /*
  3. Default values are "localhost", "cn=Manager,dc=my-domain,dc=com", and password "secret".
  4. Change the LDAP_TEST_* environment values if you want to use another configuration.
  5. */
  6. $host = getenv("LDAP_TEST_HOST") ? getenv("LDAP_TEST_HOST") : "localhost";
  7. $port = getenv("LDAP_TEST_PORT") ? getenv("LDAP_TEST_PORT") : 389;
  8. $base = getenv("LDAP_TEST_BASE") ? getenv("LDAP_TEST_BASE") : "dc=my-domain,dc=com";
  9. $user = getenv("LDAP_TEST_USER") ? getenv("LDAP_TEST_USER") : "cn=Manager,$base";
  10. $sasl_user = getenv("LDAP_TEST_SASL_USER") ? getenv("LDAP_TEST_SASL_USER") : "Manager";
  11. $passwd = getenv("LDAP_TEST_PASSWD") ? getenv("LDAP_TEST_PASSWD") : "secret";
  12. $protocol_version = getenv("LDAP_TEST_OPT_PROTOCOL_VERSION") ? getenv("LDAP_TEST_OPT_PROTOCOL_VERSION") : 3;
  13. $skip_on_bind_failure = getenv("LDAP_TEST_SKIP_BIND_FAILURE") ? getenv("LDAP_TEST_SKIP_BIND_FAILURE") : true;
  14. function ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version) {
  15. $link = ldap_connect($host, $port);
  16. ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, $protocol_version);
  17. ldap_bind($link, $user, $passwd);
  18. return $link;
  19. }
  20. function insert_dummy_data($link, $base) {
  21. // Create root if not there
  22. $testBase = ldap_read($link, $base, '(objectClass=*)', array('objectClass'));
  23. if (ldap_count_entries($link, $testBase) < 1) {
  24. ldap_add(
  25. $link, "$base", array(
  26. "objectClass" => array(
  27. "top",
  28. "organization",
  29. "dcObject"
  30. ),
  31. "o" => "php ldap tests"
  32. )
  33. );
  34. }
  35. ldap_add($link, "o=test,$base", array(
  36. "objectClass" => array(
  37. "top",
  38. "organization"),
  39. "o" => "test",
  40. ));
  41. ldap_add($link, "cn=userA,$base", array(
  42. "objectclass" => "person",
  43. "cn" => "userA",
  44. "sn" => "testSN1",
  45. "userPassword" => "oops",
  46. "telephoneNumber" => "xx-xx-xx-xx-xx",
  47. "description" => "user A",
  48. ));
  49. ldap_add($link, "cn=userB,$base", array(
  50. "objectclass" => "person",
  51. "cn" => "userB",
  52. "sn" => "testSN2",
  53. "userPassword" => "oopsIDitItAgain",
  54. "description" => "user B",
  55. ));
  56. ldap_add($link, "cn=userC,cn=userB,$base", array(
  57. "objectclass" => "person",
  58. "cn" => "userC",
  59. "sn" => "testSN3",
  60. "userPassword" => "0r1g1na1 passw0rd",
  61. ));
  62. }
  63. function remove_dummy_data($link, $base) {
  64. ldap_delete($link, "cn=userC,cn=userB,$base");
  65. ldap_delete($link, "cn=userA,$base");
  66. ldap_delete($link, "cn=userB,$base");
  67. ldap_delete($link, "o=test,$base");
  68. }
  69. ?>