Zend_Ldap-LDIF.xml 5.0 KB

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