(no commit message) master
authorChristian Weiske <cweiske@cweiske.de>
Mon, 8 Dec 2025 15:48:01 +0000 (16:48 +0100)
committerChristian Weiske <cweiske@cweiske.de>
Mon, 8 Dec 2025 15:48:01 +0000 (16:48 +0100)
ExampleFinisher.php [new file with mode: 0644]

diff --git a/ExampleFinisher.php b/ExampleFinisher.php
new file mode 100644 (file)
index 0000000..de3e199
--- /dev/null
@@ -0,0 +1,28 @@
+<?php\r
+\r
+use In2code\Powermail\Domain\Repository\MailRepository;\r
+use TYPO3\CMS\Core\Utility\GeneralUtility;\r
+use TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager;\r
+\r
+/**\r
+ * The PersistenceManager call is necessary when powermail redirects\r
+ * to a "thank you" page. Otherwise it's persisted automatically.\r
+ *\r
+ * This is with TYPO3v11 and powermail 10.9.2\r
+ */\r
+class ExampleFinisher extends AbstractFinisher\r
+{\r
+    public function submitFinisher(): void\r
+    {\r
+        $apiData = ['foo' => 'bar'];\r
+\r
+        $logAnswer = $this->getMail()->getAnswersByFieldMarker()['postdatalog'];\r
+        $logAnswer->setValue($apiData);\r
+\r
+        $mailRepository = GeneralUtility::makeInstance(MailRepository::class);\r
+        $mailRepository->update($this->getMail());\r
+\r
+        $persistenceManager = GeneralUtility::makeInstance(PersistenceManager::class);\r
+        $persistenceManager->persistAll();\r
+    }\r
+}
\ No newline at end of file