--- /dev/null
+<?php
+
+class CRM_Afform_Page_Verify extends CRM_Core_Page {
+
+ public function run() {
+ $verified = FALSE;
+
+ // get the submission id
+ $sid = CRM_Utils_Request::retrieve('sid', 'Positive', $this, TRUE);
+
+ if (!empty($sid)) {
+ // check submission status
+ $afformSubmissionData = \Civi\Api4\AfformSubmission::get(FALSE)
+ ->addSelect('afform_name', 'status_id:name')
+ ->addWhere('id', '=', $sid)
+ ->execute()->first();
+
+ if (!empty($afformSubmissionData) && $afformSubmissionData['status_id:name'] === 'Pending') {
+ \Civi\Api4\Afform::process(FALSE)
+ ->setName($afformSubmissionData['afform_name'])
+ ->setSubmissionId($sid)
+ ->execute();
+
+ $verified = TRUE;
+ }
+ }
+
+ $this->assign('verified', $verified);
+
+ parent::run();
+ }
+
+}
<mixin>scan-classes@1.0.0</mixin>
<mixin>smarty-v2@1.0.1</mixin>
<mixin>entity-types-php@1.0.0</mixin>
+ <mixin>menu-xml@1.0.0</mixin>
</mixins>
<upgrader>CRM_Afform_Upgrader</upgrader>
</extension>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<menu>
+ <item>
+ <title>Form Submission</title>
+ <path>civicrm/afform/submission/verify</path>
+ <page_callback>CRM_Afform_Page_Verify</page_callback>
+ <access_callback>1</access_callback>
+ <is_public>true</is_public>
+ </item>
+</menu>