2
0

Zend_Ldap-LDIF.xml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.ldap.ldif">
  4. <title>Serializing LDAP data to and from LDIF</title>
  5. <sect2 id="zend.ldap.ldif.encode">
  6. <title>Serialize a LDAP entry to LDIF</title>
  7. <programlisting language="php"><![CDATA[
  8. $data = array(
  9. 'dn' => 'uid=rogasawara,ou=営業部,o=Airius',
  10. 'objectclass' => array('top',
  11. 'person',
  12. 'organizationalPerson',
  13. 'inetOrgPerson'),
  14. 'uid' => array('rogasawara'),
  15. 'mail' => array('rogasawara@airius.co.jp'),
  16. 'givenname;lang-ja' => array('ロドニー'),
  17. 'sn;lang-ja' => array('小笠原'),
  18. 'cn;lang-ja' => array('小笠原 ロドニー'),
  19. 'title;lang-ja' => array('営業部 部長'),
  20. 'preferredlanguage' => array('ja'),
  21. 'givenname' => array('ロドニー'),
  22. 'sn' => array('小笠原'),
  23. 'cn' => array('小笠原 ロドニー'),
  24. 'title' => array('営業部 部長'),
  25. 'givenname;lang-ja;phonetic' => array('ろどにー'),
  26. 'sn;lang-ja;phonetic' => array('おがさわら'),
  27. 'cn;lang-ja;phonetic' => array('おがさわら ろどにー'),
  28. 'title;lang-ja;phonetic' => array('えいぎょうぶ ぶちょう'),
  29. 'givenname;lang-en' => array('Rodney'),
  30. 'sn;lang-en' => array('Ogasawara'),
  31. 'cn;lang-en' => array('Rodney Ogasawara'),
  32. 'title;lang-en' => array('Sales, Director'),
  33. );
  34. $ldif = Zend_Ldap_Ldif_Encoder::encode($data, array('sort' => false,
  35. 'version' => null));
  36. /*
  37. $ldif contains:
  38. dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz
  39. objectclass: top
  40. objectclass: person
  41. objectclass: organizationalPerson
  42. objectclass: inetOrgPerson
  43. uid: rogasawara
  44. mail: rogasawara@airius.co.jp
  45. givenname;lang-ja:: 44Ot44OJ44OL44O8
  46. sn;lang-ja:: 5bCP56yg5Y6f
  47. cn;lang-ja:: 5bCP56yg5Y6fIOODreODieODi+ODvA==
  48. title;lang-ja:: 5Za25qWt6YOoIOmDqOmVtw==
  49. preferredlanguage: ja
  50. givenname:: 44Ot44OJ44OL44O8
  51. sn:: 5bCP56yg5Y6f
  52. cn:: 5bCP56yg5Y6fIOODreODieODi+ODvA==
  53. title:: 5Za25qWt6YOoIOmDqOmVtw==
  54. givenname;lang-ja;phonetic:: 44KN44Gp44Gr44O8
  55. sn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJ
  56. cn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJIOOCjeOBqeOBq+ODvA==
  57. title;lang-ja;phonetic:: 44GI44GE44GO44KH44GG44G2IOOBtuOBoeOCh+OBhg==
  58. givenname;lang-en: Rodney
  59. sn;lang-en: Ogasawara
  60. cn;lang-en: Rodney Ogasawara
  61. title;lang-en: Sales, Director
  62. */
  63. ]]></programlisting>
  64. </sect2>
  65. <sect2 id="zend.ldap.ldif.decode">
  66. <title>Deserialize a LDIF string into a LDAP entry</title>
  67. <programlisting language="php"><![CDATA[
  68. $ldif = "dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz
  69. objectclass: top
  70. objectclass: person
  71. objectclass: organizationalPerson
  72. objectclass: inetOrgPerson
  73. uid: rogasawara
  74. mail: rogasawara@airius.co.jp
  75. givenname;lang-ja:: 44Ot44OJ44OL44O8
  76. sn;lang-ja:: 5bCP56yg5Y6f
  77. cn;lang-ja:: 5bCP56yg5Y6fIOODreODieODi+ODvA==
  78. title;lang-ja:: 5Za25qWt6YOoIOmDqOmVtw==
  79. preferredlanguage: ja
  80. givenname:: 44Ot44OJ44OL44O8
  81. sn:: 5bCP56yg5Y6f
  82. cn:: 5bCP56yg5Y6fIOODreODieODi+ODvA==
  83. title:: 5Za25qWt6YOoIOmDqOmVtw==
  84. givenname;lang-ja;phonetic:: 44KN44Gp44Gr44O8
  85. sn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJ
  86. cn;lang-ja;phonetic:: 44GK44GM44GV44KP44KJIOOCjeOBqeOBq+ODvA==
  87. title;lang-ja;phonetic:: 44GI44GE44GO44KH44GG44G2IOOBtuOBoeOCh+OBhg==
  88. givenname;lang-en: Rodney
  89. sn;lang-en: Ogasawara
  90. cn;lang-en: Rodney Ogasawara
  91. title;lang-en: Sales, Director";
  92. $data = Zend_Ldap_Ldif_Encoder::decode($ldif);
  93. /*
  94. $data = array(
  95. 'dn' => 'uid=rogasawara,ou=営業部,o=Airius',
  96. 'objectclass' => array('top',
  97. 'person',
  98. 'organizationalPerson',
  99. 'inetOrgPerson'),
  100. 'uid' => array('rogasawara'),
  101. 'mail' => array('rogasawara@airius.co.jp'),
  102. 'givenname;lang-ja' => array('ロドニー'),
  103. 'sn;lang-ja' => array('小笠原'),
  104. 'cn;lang-ja' => array('小笠原 ロドニー'),
  105. 'title;lang-ja' => array('営業部 部長'),
  106. 'preferredlanguage' => array('ja'),
  107. 'givenname' => array('ロドニー'),
  108. 'sn' => array('小笠原'),
  109. 'cn' => array('小笠原 ロドニー'),
  110. 'title' => array('営業部 部長'),
  111. 'givenname;lang-ja;phonetic' => array('ろどにー'),
  112. 'sn;lang-ja;phonetic' => array('おがさわら'),
  113. 'cn;lang-ja;phonetic' => array('おがさわら ろどにー'),
  114. 'title;lang-ja;phonetic' => array('えいぎょうぶ ぶちょう'),
  115. 'givenname;lang-en' => array('Rodney'),
  116. 'sn;lang-en' => array('Ogasawara'),
  117. 'cn;lang-en' => array('Rodney Ogasawara'),
  118. 'title;lang-en' => array('Sales, Director'),
  119. );
  120. */
  121. ]]></programlisting>
  122. </sect2>
  123. </sect1>