ldap_search_variation6.phpt 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. --TEST--
  2. ldap_search() test
  3. --CREDITS--
  4. Davide Mendolia <idaf1er@gmail.com>
  5. Patrick Allaert <patrickallaert@php.net>
  6. Belgian PHP Testfest 2009
  7. --SKIPIF--
  8. <?php
  9. require_once('skipif.inc');
  10. require_once('skipifbindfailure.inc');
  11. ?>
  12. --FILE--
  13. <?php
  14. include "connect.inc";
  15. $link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
  16. insert_dummy_data($link, $base);
  17. $dn = "$base";
  18. $filter = "(objectclass=person)";
  19. var_dump(
  20. $result = ldap_search(array($link, $link), $dn, $filter),
  21. $result0 = ldap_get_entries($link, $result[0]),
  22. ldap_get_entries($link, $result[1]) === $result0
  23. );
  24. var_dump(
  25. $result = ldap_search(array($link, $link), null, $filter),
  26. ldap_get_entries($link, $result[0]),
  27. ldap_get_entries($link, $result[1])
  28. );
  29. var_dump(
  30. $result = ldap_search(array($link, $link), null, array($filter, $filter)),
  31. ldap_get_entries($link, $result[0]),
  32. ldap_get_entries($link, $result[1])
  33. );
  34. ?>
  35. ===DONE===
  36. --CLEAN--
  37. <?php
  38. include "connect.inc";
  39. $link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version);
  40. remove_dummy_data($link, $base);
  41. ?>
  42. --EXPECTF--
  43. array(2) {
  44. [0]=>
  45. resource(%d) of type (ldap result)
  46. [1]=>
  47. resource(%d) of type (ldap result)
  48. }
  49. array(4) {
  50. ["count"]=>
  51. int(3)
  52. [0]=>
  53. array(14) {
  54. ["objectclass"]=>
  55. array(2) {
  56. ["count"]=>
  57. int(1)
  58. [0]=>
  59. string(6) "person"
  60. }
  61. [0]=>
  62. string(11) "objectclass"
  63. ["cn"]=>
  64. array(2) {
  65. ["count"]=>
  66. int(1)
  67. [0]=>
  68. string(5) "userA"
  69. }
  70. [1]=>
  71. string(2) "cn"
  72. ["sn"]=>
  73. array(2) {
  74. ["count"]=>
  75. int(1)
  76. [0]=>
  77. string(7) "testSN1"
  78. }
  79. [2]=>
  80. string(2) "sn"
  81. ["userpassword"]=>
  82. array(2) {
  83. ["count"]=>
  84. int(1)
  85. [0]=>
  86. string(4) "oops"
  87. }
  88. [3]=>
  89. string(12) "userpassword"
  90. ["telephonenumber"]=>
  91. array(2) {
  92. ["count"]=>
  93. int(1)
  94. [0]=>
  95. string(14) "xx-xx-xx-xx-xx"
  96. }
  97. [4]=>
  98. string(15) "telephonenumber"
  99. ["description"]=>
  100. array(2) {
  101. ["count"]=>
  102. int(1)
  103. [0]=>
  104. string(6) "user A"
  105. }
  106. [5]=>
  107. string(11) "description"
  108. ["count"]=>
  109. int(6)
  110. ["dn"]=>
  111. string(%d) "cn=userA,%s"
  112. }
  113. [1]=>
  114. array(12) {
  115. ["objectclass"]=>
  116. array(2) {
  117. ["count"]=>
  118. int(1)
  119. [0]=>
  120. string(6) "person"
  121. }
  122. [0]=>
  123. string(11) "objectclass"
  124. ["cn"]=>
  125. array(2) {
  126. ["count"]=>
  127. int(1)
  128. [0]=>
  129. string(5) "userB"
  130. }
  131. [1]=>
  132. string(2) "cn"
  133. ["sn"]=>
  134. array(2) {
  135. ["count"]=>
  136. int(1)
  137. [0]=>
  138. string(7) "testSN2"
  139. }
  140. [2]=>
  141. string(2) "sn"
  142. ["userpassword"]=>
  143. array(2) {
  144. ["count"]=>
  145. int(1)
  146. [0]=>
  147. string(15) "oopsIDitItAgain"
  148. }
  149. [3]=>
  150. string(12) "userpassword"
  151. ["description"]=>
  152. array(2) {
  153. ["count"]=>
  154. int(1)
  155. [0]=>
  156. string(6) "user B"
  157. }
  158. [4]=>
  159. string(11) "description"
  160. ["count"]=>
  161. int(5)
  162. ["dn"]=>
  163. string(%d) "cn=userB,%s"
  164. }
  165. [2]=>
  166. array(10) {
  167. ["objectclass"]=>
  168. array(2) {
  169. ["count"]=>
  170. int(1)
  171. [0]=>
  172. string(6) "person"
  173. }
  174. [0]=>
  175. string(11) "objectclass"
  176. ["cn"]=>
  177. array(2) {
  178. ["count"]=>
  179. int(1)
  180. [0]=>
  181. string(5) "userC"
  182. }
  183. [1]=>
  184. string(2) "cn"
  185. ["sn"]=>
  186. array(2) {
  187. ["count"]=>
  188. int(1)
  189. [0]=>
  190. string(7) "testSN3"
  191. }
  192. [2]=>
  193. string(2) "sn"
  194. ["userpassword"]=>
  195. array(2) {
  196. ["count"]=>
  197. int(1)
  198. [0]=>
  199. string(17) "0r1g1na1 passw0rd"
  200. }
  201. [3]=>
  202. string(12) "userpassword"
  203. ["count"]=>
  204. int(4)
  205. ["dn"]=>
  206. string(%d) "cn=userC,cn=userB,%s"
  207. }
  208. }
  209. bool(true)
  210. array(2) {
  211. [0]=>
  212. resource(%d) of type (ldap result)
  213. [1]=>
  214. resource(%d) of type (ldap result)
  215. }
  216. array(1) {
  217. ["count"]=>
  218. int(0)
  219. }
  220. array(1) {
  221. ["count"]=>
  222. int(0)
  223. }
  224. array(2) {
  225. [0]=>
  226. resource(%d) of type (ldap result)
  227. [1]=>
  228. resource(%d) of type (ldap result)
  229. }
  230. array(1) {
  231. ["count"]=>
  232. int(0)
  233. }
  234. array(1) {
  235. ["count"]=>
  236. int(0)
  237. }
  238. ===DONE===