create-berna-stencil 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/.eleventy.js +3 -1
  2. package/.env.example +8 -0
  3. package/.gitignore +2 -1
  4. package/README.md +1 -5
  5. package/bin/create.js +2 -1
  6. package/package.json +71 -70
  7. package/src/.htaccess +18 -0
  8. package/src/api/.htaccess +12 -0
  9. package/src/api/composer.json +6 -0
  10. package/src/api/composer.lock +574 -0
  11. package/src/api/endpoints/protected/secret.php +16 -0
  12. package/src/api/endpoints/protected/send-mail.php +75 -0
  13. package/src/api/endpoints/public/ping.php +16 -0
  14. package/src/api/index.php +95 -0
  15. package/src/api/init.php +43 -0
  16. package/src/api/modules/Response.php +37 -0
  17. package/src/api/vendor/autoload.php +22 -0
  18. package/src/api/vendor/composer/ClassLoader.php +579 -0
  19. package/src/api/vendor/composer/InstalledVersions.php +396 -0
  20. package/src/api/vendor/composer/LICENSE +21 -0
  21. package/src/api/vendor/composer/autoload_classmap.php +15 -0
  22. package/src/api/vendor/composer/autoload_files.php +12 -0
  23. package/src/api/vendor/composer/autoload_namespaces.php +9 -0
  24. package/src/api/vendor/composer/autoload_psr4.php +16 -0
  25. package/src/api/vendor/composer/autoload_real.php +50 -0
  26. package/src/api/vendor/composer/autoload_static.php +86 -0
  27. package/src/api/vendor/composer/installed.json +582 -0
  28. package/src/api/vendor/composer/installed.php +86 -0
  29. package/src/api/vendor/composer/platform_check.php +25 -0
  30. package/src/api/vendor/graham-campbell/result-type/.gitattributes +9 -0
  31. package/src/api/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
  32. package/src/api/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
  33. package/src/api/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
  34. package/src/api/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
  35. package/src/api/vendor/graham-campbell/result-type/.github/workflows/stale.yml +11 -0
  36. package/src/api/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
  37. package/src/api/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
  38. package/src/api/vendor/graham-campbell/result-type/LICENSE +21 -0
  39. package/src/api/vendor/graham-campbell/result-type/README.md +42 -0
  40. package/src/api/vendor/graham-campbell/result-type/composer.json +33 -0
  41. package/src/api/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
  42. package/src/api/vendor/graham-campbell/result-type/src/Error.php +121 -0
  43. package/src/api/vendor/graham-campbell/result-type/src/Result.php +69 -0
  44. package/src/api/vendor/graham-campbell/result-type/src/Success.php +120 -0
  45. package/src/api/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
  46. package/src/api/vendor/phpmailer/phpmailer/.codecov.yml +21 -0
  47. package/src/api/vendor/phpmailer/phpmailer/.editorconfig +15 -0
  48. package/src/api/vendor/phpmailer/phpmailer/.gitattributes +17 -0
  49. package/src/api/vendor/phpmailer/phpmailer/.github/FUNDING.yml +6 -0
  50. package/src/api/vendor/phpmailer/phpmailer/.github/ISSUE_TEMPLATE/bug_report.md +23 -0
  51. package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/Dockerfile +15 -0
  52. package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/entrypoint.sh +5 -0
  53. package/src/api/vendor/phpmailer/phpmailer/.github/dependabot.yml +21 -0
  54. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/docs.yaml +30 -0
  55. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/scorecards.yml +61 -0
  56. package/src/api/vendor/phpmailer/phpmailer/.github/workflows/tests.yml +237 -0
  57. package/src/api/vendor/phpmailer/phpmailer/.phan/config.php +41 -0
  58. package/src/api/vendor/phpmailer/phpmailer/COMMITMENT +46 -0
  59. package/src/api/vendor/phpmailer/phpmailer/LICENSE +502 -0
  60. package/src/api/vendor/phpmailer/phpmailer/README.md +232 -0
  61. package/src/api/vendor/phpmailer/phpmailer/SECURITY.md +37 -0
  62. package/src/api/vendor/phpmailer/phpmailer/SMTPUTF8.md +48 -0
  63. package/src/api/vendor/phpmailer/phpmailer/UPGRADING.md +125 -0
  64. package/src/api/vendor/phpmailer/phpmailer/VERSION +1 -0
  65. package/src/api/vendor/phpmailer/phpmailer/changelog.md +1122 -0
  66. package/src/api/vendor/phpmailer/phpmailer/composer.json +84 -0
  67. package/src/api/vendor/phpmailer/phpmailer/docs/README.md +9 -0
  68. package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_gen_keys.phps +81 -0
  69. package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_sign.phps +46 -0
  70. package/src/api/vendor/phpmailer/phpmailer/examples/README.md +96 -0
  71. package/src/api/vendor/phpmailer/phpmailer/examples/azure_xoauth2.phps +126 -0
  72. package/src/api/vendor/phpmailer/phpmailer/examples/callback.phps +76 -0
  73. package/src/api/vendor/phpmailer/phpmailer/examples/contactform-ajax.phps +146 -0
  74. package/src/api/vendor/phpmailer/phpmailer/examples/contactform.phps +95 -0
  75. package/src/api/vendor/phpmailer/phpmailer/examples/contents.html +17 -0
  76. package/src/api/vendor/phpmailer/phpmailer/examples/contentsutf8.html +23 -0
  77. package/src/api/vendor/phpmailer/phpmailer/examples/exceptions.phps +40 -0
  78. package/src/api/vendor/phpmailer/phpmailer/examples/extending.phps +72 -0
  79. package/src/api/vendor/phpmailer/phpmailer/examples/gmail.phps +106 -0
  80. package/src/api/vendor/phpmailer/phpmailer/examples/gmail_xoauth.phps +121 -0
  81. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.afdesign +0 -0
  82. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.png +0 -0
  83. package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.svg +209 -0
  84. package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer.png +0 -0
  85. package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer_mini.png +0 -0
  86. package/src/api/vendor/phpmailer/phpmailer/examples/mail.phps +35 -0
  87. package/src/api/vendor/phpmailer/phpmailer/examples/mailing_list.phps +96 -0
  88. package/src/api/vendor/phpmailer/phpmailer/examples/pop_before_smtp.phps +60 -0
  89. package/src/api/vendor/phpmailer/phpmailer/examples/send_file_upload.phps +60 -0
  90. package/src/api/vendor/phpmailer/phpmailer/examples/send_multiple_file_upload.phps +60 -0
  91. package/src/api/vendor/phpmailer/phpmailer/examples/sendmail.phps +37 -0
  92. package/src/api/vendor/phpmailer/phpmailer/examples/sendoauth2.phps +100 -0
  93. package/src/api/vendor/phpmailer/phpmailer/examples/simple_contact_form.phps +102 -0
  94. package/src/api/vendor/phpmailer/phpmailer/examples/smime_signed_mail.phps +99 -0
  95. package/src/api/vendor/phpmailer/phpmailer/examples/smtp.phps +62 -0
  96. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_check.phps +60 -0
  97. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_low_memory.phps +117 -0
  98. package/src/api/vendor/phpmailer/phpmailer/examples/smtp_no_auth.phps +53 -0
  99. package/src/api/vendor/phpmailer/phpmailer/examples/ssl_options.phps +81 -0
  100. package/src/api/vendor/phpmailer/phpmailer/get_oauth_token.php +182 -0
  101. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php +26 -0
  102. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php +27 -0
  103. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-as.php +35 -0
  104. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php +27 -0
  105. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php +27 -0
  106. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php +27 -0
  107. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php +27 -0
  108. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bn.php +35 -0
  109. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php +27 -0
  110. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php +28 -0
  111. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php +39 -0
  112. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php +28 -0
  113. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php +33 -0
  114. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php +37 -0
  115. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php +38 -0
  116. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php +28 -0
  117. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php +28 -0
  118. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php +27 -0
  119. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php +27 -0
  120. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php +36 -0
  121. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php +27 -0
  122. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php +27 -0
  123. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php +35 -0
  124. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php +27 -0
  125. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php +27 -0
  126. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php +27 -0
  127. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php +31 -0
  128. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php +28 -0
  129. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php +37 -0
  130. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php +27 -0
  131. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php +27 -0
  132. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php +27 -0
  133. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php +27 -0
  134. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php +27 -0
  135. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php +27 -0
  136. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php +27 -0
  137. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php +27 -0
  138. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php +37 -0
  139. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php +38 -0
  140. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php +33 -0
  141. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php +34 -0
  142. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php +38 -0
  143. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php +33 -0
  144. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php +36 -0
  145. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-si.php +34 -0
  146. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php +30 -0
  147. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php +36 -0
  148. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php +28 -0
  149. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php +28 -0
  150. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php +27 -0
  151. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php +28 -0
  152. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php +38 -0
  153. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php +28 -0
  154. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php +30 -0
  155. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php +27 -0
  156. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php +29 -0
  157. package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php +36 -0
  158. package/src/api/vendor/phpmailer/phpmailer/phpcs.xml.dist +52 -0
  159. package/src/api/vendor/phpmailer/phpmailer/phpdoc.dist.xml +20 -0
  160. package/src/api/vendor/phpmailer/phpmailer/phpunit.xml.dist +36 -0
  161. package/src/api/vendor/phpmailer/phpmailer/src/DSNConfigurator.php +245 -0
  162. package/src/api/vendor/phpmailer/phpmailer/src/Exception.php +40 -0
  163. package/src/api/vendor/phpmailer/phpmailer/src/OAuth.php +139 -0
  164. package/src/api/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php +44 -0
  165. package/src/api/vendor/phpmailer/phpmailer/src/PHPMailer.php +5525 -0
  166. package/src/api/vendor/phpmailer/phpmailer/src/POP3.php +470 -0
  167. package/src/api/vendor/phpmailer/phpmailer/src/SMTP.php +1617 -0
  168. package/src/api/vendor/phpmailer/phpmailer/test/DebugLogTestListener.php +47 -0
  169. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/accessible.txt +1 -0
  170. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/inaccessible.txt +1 -0
  171. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-fr.php +10 -0
  172. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-nl.php +10 -0
  173. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xa_scri_cc.php +9 -0
  174. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xb_scri.php +9 -0
  175. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xc_cc.php +9 -0
  176. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_cc.php +9 -0
  177. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_scri.php +9 -0
  178. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xe.php +9 -0
  179. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xx.php +9 -0
  180. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yy.php +16 -0
  181. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yz.php +16 -0
  182. package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-zz.php +20 -0
  183. package/src/api/vendor/phpmailer/phpmailer/test/Language/TranslationCompletenessTest.php +97 -0
  184. package/src/api/vendor/phpmailer/phpmailer/test/OAuth/OAuthTest.php +76 -0
  185. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddEmbeddedImageTest.php +178 -0
  186. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringAttachmentTest.php +147 -0
  187. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringEmbeddedImageTest.php +161 -0
  188. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddrFormatTest.php +70 -0
  189. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AuthCRAMMD5Test.php +48 -0
  190. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/CustomHeaderTest.php +285 -0
  191. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMTest.php +258 -0
  192. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMWithoutExceptionsTest.php +46 -0
  193. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DSNConfiguratorTest.php +221 -0
  194. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeQTest.php +110 -0
  195. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeStringTest.php +135 -0
  196. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FileIsAccessibleTest.php +103 -0
  197. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FilenameToTypeTest.php +74 -0
  198. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GenerateIdTest.php +75 -0
  199. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GetLastMessageIDTest.php +110 -0
  200. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/HasLineLongerThanMaxTest.php +158 -0
  201. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Html2TextTest.php +231 -0
  202. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ICalTest.php +126 -0
  203. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsPermittedPathTest.php +108 -0
  204. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsValidHostTest.php +107 -0
  205. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/LocalizationTest.php +505 -0
  206. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MailTransportTest.php +261 -0
  207. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MbPathinfoTest.php +171 -0
  208. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MimeTypesTest.php +70 -0
  209. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/NormalizeBreaksTest.php +111 -0
  210. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PHPMailerTest.php +1388 -0
  211. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ParseAddressesTest.php +321 -0
  212. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PunyencodeAddressTest.php +141 -0
  213. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/QuotedStringTest.php +70 -0
  214. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ReplyToGetSetClearTest.php +444 -0
  215. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetErrorTest.php +154 -0
  216. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetFromTest.php +202 -0
  217. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetTest.php +81 -0
  218. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetWordWrapTest.php +120 -0
  219. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Utf8CharBoundaryTest.php +66 -0
  220. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressCustomValidatorTest.php +116 -0
  221. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressTest.php +485 -0
  222. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/WrapTextTest.php +125 -0
  223. package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/XMailerTest.php +75 -0
  224. package/src/api/vendor/phpmailer/phpmailer/test/POP3/PopBeforeSmtpTest.php +139 -0
  225. package/src/api/vendor/phpmailer/phpmailer/test/PreSendTestCase.php +46 -0
  226. package/src/api/vendor/phpmailer/phpmailer/test/Security/DenialOfServiceVectorsTest.php +52 -0
  227. package/src/api/vendor/phpmailer/phpmailer/test/SendTestCase.php +126 -0
  228. package/src/api/vendor/phpmailer/phpmailer/test/TestCase.php +392 -0
  229. package/src/api/vendor/phpmailer/phpmailer/test/fakepopserver.sh +126 -0
  230. package/src/api/vendor/phpmailer/phpmailer/test/fakesendmail.sh +22 -0
  231. package/src/api/vendor/phpmailer/phpmailer/test/runfakepopserver.sh +12 -0
  232. package/src/api/vendor/phpmailer/phpmailer/test/testbootstrap-dist.php +8 -0
  233. package/src/api/vendor/phpmailer/phpmailer/test/validators.php +12 -0
  234. package/src/api/vendor/phpoption/phpoption/.gitattributes +13 -0
  235. package/src/api/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
  236. package/src/api/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
  237. package/src/api/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
  238. package/src/api/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
  239. package/src/api/vendor/phpoption/phpoption/.github/workflows/static.yml +40 -0
  240. package/src/api/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
  241. package/src/api/vendor/phpoption/phpoption/LICENSE +201 -0
  242. package/src/api/vendor/phpoption/phpoption/Makefile +17 -0
  243. package/src/api/vendor/phpoption/phpoption/README.md +201 -0
  244. package/src/api/vendor/phpoption/phpoption/composer.json +50 -0
  245. package/src/api/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
  246. package/src/api/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
  247. package/src/api/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
  248. package/src/api/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -0
  249. package/src/api/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -0
  250. package/src/api/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -0
  251. package/src/api/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -0
  252. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
  253. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
  254. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
  255. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
  256. package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
  257. package/src/api/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
  258. package/src/api/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
  259. package/src/api/vendor/symfony/polyfill-ctype/Ctype.php +232 -0
  260. package/src/api/vendor/symfony/polyfill-ctype/LICENSE +19 -0
  261. package/src/api/vendor/symfony/polyfill-ctype/README.md +12 -0
  262. package/src/api/vendor/symfony/polyfill-ctype/bootstrap.php +50 -0
  263. package/src/api/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -0
  264. package/src/api/vendor/symfony/polyfill-ctype/composer.json +38 -0
  265. package/src/api/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
  266. package/src/api/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -0
  267. package/src/api/vendor/symfony/polyfill-mbstring/README.md +13 -0
  268. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  269. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -0
  270. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
  271. package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -0
  272. package/src/api/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -0
  273. package/src/api/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  274. package/src/api/vendor/symfony/polyfill-mbstring/composer.json +39 -0
  275. package/src/api/vendor/symfony/polyfill-php80/LICENSE +19 -0
  276. package/src/api/vendor/symfony/polyfill-php80/Php80.php +115 -0
  277. package/src/api/vendor/symfony/polyfill-php80/PhpToken.php +106 -0
  278. package/src/api/vendor/symfony/polyfill-php80/README.md +25 -0
  279. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -0
  280. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -0
  281. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -0
  282. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -0
  283. package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -0
  284. package/src/api/vendor/symfony/polyfill-php80/bootstrap.php +42 -0
  285. package/src/api/vendor/symfony/polyfill-php80/composer.json +37 -0
  286. package/src/api/vendor/vlucas/phpdotenv/.editorconfig +15 -0
  287. package/src/api/vendor/vlucas/phpdotenv/.gitattributes +15 -0
  288. package/src/api/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
  289. package/src/api/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
  290. package/src/api/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
  291. package/src/api/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
  292. package/src/api/vendor/vlucas/phpdotenv/.github/workflows/static.yml +40 -0
  293. package/src/api/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
  294. package/src/api/vendor/vlucas/phpdotenv/LICENSE +30 -0
  295. package/src/api/vendor/vlucas/phpdotenv/Makefile +17 -0
  296. package/src/api/vendor/vlucas/phpdotenv/README.md +370 -0
  297. package/src/api/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
  298. package/src/api/vendor/vlucas/phpdotenv/composer.json +60 -0
  299. package/src/api/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
  300. package/src/api/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
  301. package/src/api/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
  302. package/src/api/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -0
  303. package/src/api/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -0
  304. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -0
  305. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -0
  306. package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -0
  307. package/src/api/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -0
  308. package/src/api/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -0
  309. package/src/api/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -0
  310. package/src/api/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -0
  311. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -0
  312. package/src/api/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -0
  313. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -0
  314. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -0
  315. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -0
  316. package/src/api/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -0
  317. package/src/api/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -0
  318. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -0
  319. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -0
  320. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -0
  321. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -0
  322. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -0
  323. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -0
  324. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -0
  325. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -0
  326. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -0
  327. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -0
  328. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -0
  329. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -0
  330. package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -0
  331. package/src/api/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -0
  332. package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -0
  333. package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -0
  334. package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -0
  335. package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -0
  336. package/src/api/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -0
  337. package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -0
  338. package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -0
  339. package/src/api/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -0
  340. package/src/api/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -0
  341. package/src/api/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -0
  342. package/src/api/vendor/vlucas/phpdotenv/src/Validator.php +207 -0
  343. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
  344. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
  345. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
  346. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
  347. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
  348. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
  349. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
  350. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
  351. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
  352. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
  353. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
  354. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
  355. package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
  356. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
  357. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
  358. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
  359. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
  360. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
  361. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
  362. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
  363. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
  364. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
  365. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
  366. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
  367. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
  368. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
  369. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
  370. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
  371. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
  372. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
  373. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
  374. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
  375. package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
  376. package/src/api/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
  377. package/src/api/configExample.php +0 -28
  378. package/src/api/sendEmail.php +0 -131
@@ -0,0 +1,47 @@
1
+ <?php
2
+
3
+ /**
4
+ * PHPMailer - language file tests.
5
+ *
6
+ * PHP version 5.5.
7
+ *
8
+ * @author Marcus Bointon <phpmailer@synchromedia.co.uk>
9
+ * @author Andy Prevost
10
+ * @author Juliette Reinders Folmer
11
+ * @copyright 2010 - 2020 Marcus Bointon
12
+ * @copyright 2004 - 2009 Andy Prevost
13
+ * @copyright 2020 Juliette Reinders Folmer
14
+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
15
+ */
16
+
17
+ namespace PHPMailer\Test;
18
+
19
+ use PHPUnit\Framework\TestListener;
20
+ use Yoast\PHPUnitPolyfills\TestListeners\TestListenerDefaultImplementation;
21
+
22
+ class DebugLogTestListener implements TestListener
23
+ {
24
+ use TestListenerDefaultImplementation;
25
+
26
+ private static $debugLog = '';
27
+
28
+ public function add_error($test, $e, $time)
29
+ {
30
+ echo self::$debugLog;
31
+ }
32
+
33
+ public function add_failure($test, $e, $time)
34
+ {
35
+ echo self::$debugLog;
36
+ }
37
+
38
+ public function start_test($test)
39
+ {
40
+ self::$debugLog = '';
41
+ }
42
+
43
+ public static function debugLog($str)
44
+ {
45
+ self::$debugLog .= $str . PHP_EOL;
46
+ }
47
+ }
@@ -0,0 +1,10 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test overruling an existing translation
7
+ * file with a custom one by passing in a `$langPath` parameter.
8
+ */
9
+
10
+ $PHPMAILER_LANG['empty_message'] = "Custom path test success (fr)";
@@ -0,0 +1,10 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test overruling an existing translation
7
+ * file with a custom one by passing in a `$langPath` parameter.
8
+ */
9
+
10
+ $PHPMAILER_LANG['empty_message'] = 'Custom path test success (nl)';
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test the fall-back logic.
7
+ */
8
+
9
+ $PHPMAILER_LANG['empty_message'] = 'XA Lang-script-country file found';
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test the fall-back logic.
7
+ */
8
+
9
+ $PHPMAILER_LANG['empty_message'] = 'XB Lang-script file found';
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test the fall-back logic.
7
+ */
8
+
9
+ $PHPMAILER_LANG['empty_message'] = 'XC Lang-country file found';
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test the fall-back logic.
7
+ */
8
+
9
+ $PHPMAILER_LANG['empty_message'] = 'XD Lang-country file found';
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test the fall-back logic.
7
+ */
8
+
9
+ $PHPMAILER_LANG['empty_message'] = 'XD Lang-script file found';
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test the fall-back logic.
7
+ */
8
+
9
+ $PHPMAILER_LANG['empty_message'] = 'XE Lang file found';
@@ -0,0 +1,9 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest`.
7
+ */
8
+
9
+ $PHPMAILER_LANG['empty_message'] = 'This file should not be loaded as the path is passed incorrectly';
@@ -0,0 +1,16 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test that arbitrary code in translation files is disregarded.
7
+ */
8
+
9
+ $composer = file_get_contents(__DIR__ . '/../../../composer.json');
10
+
11
+ echo $composer;
12
+
13
+ $PHPMAILER_LANG['extension_missing'] = 'Confirming that test fixture was loaded correctly (yy).';
14
+ $PHPMAILER_LANG['empty_message'] = $composer;
15
+ $PHPMAILER_LANG['execute'] = exec('some harmful command');
16
+ $PHPMAILER_LANG['signing'] = "Double quoted but not interpolated $composer";
@@ -0,0 +1,16 @@
1
+ <?php // lint < 8.5.
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test that arbitrary code in translation files is disregarded.
7
+ *
8
+ * Note: this test fixture uses a syntax (backticks) which has been deprecated in PHP 8.5 and
9
+ * is slated for removal in PHP 9.0.
10
+ * For that reason, the file is excluded from the linting check on PHP 8.5 and above.
11
+ *
12
+ * @phpcs:disable PHPCompatibility.LanguageConstructs.RemovedLanguageConstructs.t_backtickDeprecated
13
+ */
14
+
15
+ $PHPMAILER_LANG['extension_missing'] = 'Confirming that test fixture was loaded correctly (yz).';
16
+ $PHPMAILER_LANG['encoding'] = `ls -l`;
@@ -0,0 +1,20 @@
1
+ <?php
2
+
3
+ /**
4
+ * Test fixture.
5
+ *
6
+ * Used in the `PHPMailer\LocalizationTest` to test that language strings not
7
+ * set via a fixed, known group of array index keys are disregarded.
8
+ */
9
+
10
+ $PHPMAILER_LANG['extension_missing'] = 'Confirming that test fixture was loaded correctly (zz).';
11
+
12
+ // Keys not in the original array.
13
+ $PHPMAILER_LANG['unknown'] = 'Unknown text.';
14
+ $PHPMAILER_LANG['invalid'] = 'Invalid text.';
15
+
16
+ // Keys which exist in the original array, but use the wrong letter case or space instead of underscore.
17
+ $PHPMAILER_LANG['Authenticate'] = 'Overruled text, index not same case';
18
+ $PHPMAILER_LANG['CONNECT_HOST'] = 'Overruled text, index not same case';
19
+ $PHPMAILER_LANG['Data_Not_Accepted'] = 'Overruled text, index not same case';
20
+ $PHPMAILER_LANG['empty message'] = 'Overruled text, index not same case';
@@ -0,0 +1,97 @@
1
+ <?php
2
+
3
+ /**
4
+ * PHPMailer - language file tests.
5
+ *
6
+ * PHP version 5.5.
7
+ *
8
+ * @author Marcus Bointon <phpmailer@synchromedia.co.uk>
9
+ * @author Andy Prevost
10
+ * @copyright 2010 - 2020 Marcus Bointon
11
+ * @copyright 2004 - 2009 Andy Prevost
12
+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
13
+ */
14
+
15
+ namespace PHPMailer\Test\Language;
16
+
17
+ use PHPMailer\PHPMailer\PHPMailer;
18
+ use Yoast\PHPUnitPolyfills\TestCases\TestCase;
19
+
20
+ /**
21
+ * Check language files for missing or excess translations.
22
+ *
23
+ * @group languages
24
+ *
25
+ * @coversNothing
26
+ */
27
+ final class TranslationCompletenessTest extends TestCase
28
+ {
29
+ /**
30
+ * Holds a PHPMailer instance.
31
+ *
32
+ * @var PHPMailer
33
+ */
34
+ private $Mail;
35
+
36
+ /**
37
+ * Run before each test is started.
38
+ */
39
+ protected function set_up()
40
+ {
41
+ $this->Mail = new PHPMailer();
42
+ }
43
+
44
+ /**
45
+ * Test language files for missing and excess translations.
46
+ * All languages are compared with English, which is built-in.
47
+ */
48
+ public function testTranslations()
49
+ {
50
+ $this->Mail->setLanguage('en');
51
+ $definedStrings = $this->Mail->getTranslations();
52
+ $err = '';
53
+ foreach (new \DirectoryIterator(__DIR__ . '/../../language') as $fileInfo) {
54
+ if ($fileInfo->isDot()) {
55
+ continue;
56
+ }
57
+
58
+ $matches = [];
59
+ // Only look at language files, ignore anything else in there.
60
+ if (preg_match('/^phpmailer\.lang-([a-z_]{2,})\.php$/', $fileInfo->getFilename(), $matches)) {
61
+ $lang = $matches[1]; // Extract language code.
62
+ $PHPMAILER_LANG = []; // Language strings get put in here.
63
+ $lines = file($fileInfo->getPathname());
64
+ foreach ($lines as $line) {
65
+ // Translation file lines look like this:
66
+ // `$PHPMAILER_LANG['authenticate'] = 'SMTP-Fehler: Authentifizierung fehlgeschlagen.';`
67
+ // These files are parsed as text and not PHP so as to avoid the possibility of code injection.
68
+ $matches = [];
69
+ if (
70
+ preg_match(
71
+ '/^\$PHPMAILER_LANG\[\'([a-z\d_]+)\'\]\s*=\s*(["\'])(.+)*?\2;/',
72
+ $line,
73
+ $matches
74
+ )
75
+ ) {
76
+ // Overwrite language-specific strings so we'll never have missing translation keys.
77
+ $PHPMAILER_LANG[$matches[1]] = (string)$matches[3];
78
+ }
79
+ }
80
+ }
81
+
82
+ include $fileInfo->getPathname(); // Get language strings.
83
+
84
+ $missing = array_diff(array_keys($definedStrings), array_keys($PHPMAILER_LANG));
85
+ $extra = array_diff(array_keys($PHPMAILER_LANG), array_keys($definedStrings));
86
+ if (!empty($missing)) {
87
+ $err .= "\nMissing translations in $lang: " . implode(', ', $missing);
88
+ }
89
+ if (!empty($extra)) {
90
+ $err .= "\nExtra translations in $lang: " . implode(', ', $extra);
91
+ }
92
+ }
93
+
94
+ // If we have no extra and no missing translations, $err will be empty.
95
+ self::assertEmpty($err, $err);
96
+ }
97
+ }
@@ -0,0 +1,76 @@
1
+ <?php
2
+
3
+ /**
4
+ * PHPMailer - PHP email transport unit tests.
5
+ * PHP version 5.5.
6
+ *
7
+ * @author Marcus Bointon <phpmailer@synchromedia.co.uk>
8
+ * @author Andy Prevost
9
+ * @copyright 2012 - 2020 Marcus Bointon
10
+ * @copyright 2004 - 2009 Andy Prevost
11
+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
12
+ */
13
+
14
+ namespace PHPMailer\Test\OAuth;
15
+
16
+ use PHPMailer\PHPMailer\OAuth;
17
+ use PHPMailer\PHPMailer\OAuthTokenProvider;
18
+ use PHPMailer\PHPMailer\PHPMailer;
19
+ use Yoast\PHPUnitPolyfills\TestCases\TestCase;
20
+
21
+ /**
22
+ * Test OAuth functionality.
23
+ */
24
+ final class OAuthTest extends TestCase
25
+ {
26
+ /**
27
+ * Test OAuth class.
28
+ *
29
+ * @covers PHPMailer\PHPMailer\PHPMailer::getOAuth
30
+ * @covers PHPMailer\PHPMailer\PHPMailer::setOAuth
31
+ * @covers PHPMailer\PHPMailer\OAuth::__construct
32
+ * @covers PHPMailer\PHPMailer\OAuthTokenProvider
33
+ */
34
+ public function testOAuth()
35
+ {
36
+ $PHPMailer = new PHPMailer(true);
37
+ $reflection = new \ReflectionClass($PHPMailer);
38
+ $property = $reflection->getProperty('oauth');
39
+ (\PHP_VERSION_ID < 80100) && $property->setAccessible(true);
40
+ $property->setValue($PHPMailer, true);
41
+ self::assertTrue($PHPMailer->getOAuth(), 'Initial value of oauth property is not true');
42
+
43
+ $options = [
44
+ 'provider' => 'dummyprovider',
45
+ 'userName' => 'dummyusername',
46
+ 'clientSecret' => 'dummyclientsecret',
47
+ 'clientId' => 'dummyclientid',
48
+ 'refreshToken' => 'dummyrefreshtoken',
49
+ ];
50
+
51
+ $oauth = new OAuth($options);
52
+ self::assertInstanceOf(OAuth::class, $oauth, 'Instantiation of OAuth class failed');
53
+ self::assertInstanceOf(OAuthTokenProvider::class, $oauth, 'Instantiation of OAuth class failed');
54
+ $subject = $PHPMailer->setOAuth($oauth);
55
+ self::assertNull($subject, 'setOAuth() is not a void function');
56
+ self::assertInstanceOf(
57
+ OAuth::class,
58
+ $PHPMailer->getOAuth(),
59
+ 'Setting Oauth property to an instance of the OAuth class failed'
60
+ );
61
+ $PHPMailer->setOAuth(new DummyOAuthProvider());
62
+ self::assertInstanceOf(
63
+ OAuthTokenProvider::class,
64
+ $PHPMailer->getOAuth(),
65
+ 'Setting Oauth property to an instance of the OAuth class failed (2)'
66
+ );
67
+ }
68
+ }
69
+
70
+ class DummyOauthProvider implements OAuthTokenProvider
71
+ {
72
+ public function getOauth64()
73
+ {
74
+ return 'oauth';
75
+ }
76
+ }
@@ -0,0 +1,178 @@
1
+ <?php
2
+
3
+ /**
4
+ * PHPMailer - PHP email transport unit tests.
5
+ * PHP version 5.5.
6
+ *
7
+ * @author Marcus Bointon <phpmailer@synchromedia.co.uk>
8
+ * @author Andy Prevost
9
+ * @copyright 2012 - 2020 Marcus Bointon
10
+ * @copyright 2004 - 2009 Andy Prevost
11
+ * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
12
+ */
13
+
14
+ namespace PHPMailer\Test\PHPMailer;
15
+
16
+ use PHPMailer\PHPMailer\Exception;
17
+ use PHPMailer\PHPMailer\PHPMailer;
18
+ use PHPMailer\Test\PreSendTestCase;
19
+
20
+ /**
21
+ * Test adding embedded image(s) functionality.
22
+ *
23
+ * @covers \PHPMailer\PHPMailer\PHPMailer::addEmbeddedImage
24
+ * @covers \PHPMailer\PHPMailer\PHPMailer::createBody
25
+ * @covers \PHPMailer\PHPMailer\PHPMailer::getAttachments
26
+ * @covers \PHPMailer\PHPMailer\PHPMailer::inlineImageExists
27
+ */
28
+ final class AddEmbeddedImageTest extends PreSendTestCase
29
+ {
30
+ /**
31
+ * Test successfully adding an embedded image.
32
+ */
33
+ public function testAddEmbeddedImage()
34
+ {
35
+ $pathToFile = realpath(\PHPMAILER_INCLUDE_DIR . '/examples/images/phpmailer.png');
36
+ $expected = [
37
+ 0 => $pathToFile,
38
+ 1 => 'phpmailer.png',
39
+ 2 => 'phpmailer.png',
40
+ 3 => 'base64',
41
+ 4 => 'image/png',
42
+ 5 => false,
43
+ 6 => 'inline',
44
+ 7 => 'my-attach',
45
+ ];
46
+
47
+ $this->Mail->Body = 'Embedded Image: <img alt="phpmailer" src="' .
48
+ 'cid:my-attach">' .
49
+ 'Here is an image!';
50
+ $this->Mail->Subject .= ': Embedded Image';
51
+ $this->Mail->isHTML(true);
52
+
53
+ // Test attaching the image.
54
+ $result = $this->Mail->addEmbeddedImage(
55
+ $pathToFile,
56
+ 'my-attach',
57
+ 'phpmailer.png',
58
+ 'base64',
59
+ 'image/png'
60
+ );
61
+
62
+ self::assertTrue($result, $this->Mail->ErrorInfo);
63
+ self::assertTrue($this->Mail->inlineImageExists(), 'Embedded image not present in attachments array');
64
+
65
+ $attachments = $this->Mail->getAttachments();
66
+ self::assertIsArray($attachments, 'Attachments is not an array');
67
+ self::assertArrayHasKey(0, $attachments, 'Attachments does not have the expected array entry');
68
+ self::assertSame($expected, $attachments[0], 'Attachment info does not match the expected array');
69
+
70
+ // Test that the image was correctly added to the message body.
71
+ $this->buildBody();
72
+ self::assertTrue($this->Mail->preSend(), $this->Mail->ErrorInfo);
73
+
74
+ $sendMessage = $this->Mail->getSentMIMEMessage();
75
+ $LE = PHPMailer::getLE();
76
+
77
+ self::assertStringContainsString(
78
+ 'Content-Type: image/png; name=phpmailer.png' . $LE,
79
+ $sendMessage,
80
+ 'Embedded image header content type incorrect.'
81
+ );
82
+
83
+ self::assertStringContainsString(
84
+ 'Content-ID: <my-attach>' . $LE,
85
+ $sendMessage,
86
+ 'Embedded image header content ID incorrect.'
87
+ );
88
+
89
+ self::assertStringContainsString(
90
+ 'Content-Disposition: inline; filename=phpmailer.png' . $LE,
91
+ $sendMessage,
92
+ 'Embedded image header content disposition incorrect.'
93
+ );
94
+ }
95
+
96
+ /**
97
+ * Test adding an image without explicitly adding a name for the image will set the name as the existing file name.
98
+ */
99
+ public function testAddingImageWithoutExplicitName()
100
+ {
101
+ $result = $this->Mail->addEmbeddedImage(__FILE__, '123');
102
+ self::assertTrue($result, 'File failed to attach');
103
+
104
+ self::assertTrue($this->Mail->inlineImageExists(), 'Inline image not present in attachments array');
105
+
106
+ $attachments = $this->Mail->getAttachments();
107
+ self::assertIsArray($attachments, 'Attachments is not an array');
108
+ self::assertArrayHasKey(0, $attachments, 'Attachments does not have the expected array entry');
109
+ self::assertSame($attachments[0][1], $attachments[0][2], 'Name is not the same as filename');
110
+ }
111
+
112
+ /**
113
+ * Test that embedding an image fails in select use cases.
114
+ *
115
+ * @dataProvider dataFailToAttach
116
+ *
117
+ * @param string $path Path to the attachment.
118
+ * @param string $cid Content ID for the attachment.
119
+ * @param string $exceptionMessage Unused in this test.
120
+ * @param string $name Optional. Attachment name to use.
121
+ * @param string $encoding Optional. File encoding to pass.
122
+ */
123
+ public function testFailToAttach($path, $cid, $exceptionMessage, $name = '', $encoding = PHPMailer::ENCODING_BASE64)
124
+ {
125
+ $result = $this->Mail->addEmbeddedImage($path, $cid, $name, $encoding);
126
+ self::assertFalse($result, 'Image did not fail to attach');
127
+
128
+ self::assertFalse($this->Mail->inlineImageExists(), 'Inline image present in attachments array');
129
+ }
130
+
131
+ /**
132
+ * Test that embedding an image throws an exception in select use cases.
133
+ *
134
+ * @dataProvider dataFailToAttach
135
+ *
136
+ * @param string $path Path to the attachment.
137
+ * @param string $cid Content ID for the attachment.
138
+ * @param string $exceptionMessage The exception message to expect.
139
+ * @param string $name Optional. Attachment name to use.
140
+ * @param string $encoding Optional. File encoding to pass.
141
+ */
142
+ public function testFailToAttachException(
143
+ $path,
144
+ $cid,
145
+ $exceptionMessage,
146
+ $name = '',
147
+ $encoding = PHPMailer::ENCODING_BASE64
148
+ ) {
149
+ $this->expectException(Exception::class);
150
+ $this->expectExceptionMessage($exceptionMessage);
151
+
152
+ $mail = new PHPMailer(true);
153
+ $mail->addEmbeddedImage($path, $cid, $name, $encoding);
154
+ }
155
+
156
+ /**
157
+ * Data provider.
158
+ *
159
+ * @return array
160
+ */
161
+ public function dataFailToAttach()
162
+ {
163
+ return [
164
+ 'Invalid: non-existent file' => [
165
+ 'path' => 'thisfiledoesntexist',
166
+ 'cid' => 'xyz',
167
+ 'exceptionMessage' => 'Could not access file: thisfiledoesntexist',
168
+ ],
169
+ 'Invalid: invalid encoding' => [
170
+ 'path' => __FILE__,
171
+ 'cid' => 'cid',
172
+ 'exceptionMessage' => 'Unknown encoding: invalidencoding',
173
+ 'name' => 'test.png',
174
+ 'encoding' => 'invalidencoding',
175
+ ],
176
+ ];
177
+ }
178
+ }