Zend_Ldap-LDIF.xml 5.3 KB

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