NULL]; //handle additional participant scenario, where we need to insert participant pages on runtime $additionalParticipant = NULL; // check that the controller has some data, hence we dont send the form name // which results in an invalid argument error $values = $controller->exportValues(); //first check POST value then QF if (isset($_POST['additional_participants']) && CRM_Utils_Rule::positiveInteger($_POST['additional_participants'])) { // we need to use $_POST since the QF framework has not yet been called // and the additional participants page is the next one, so need to set this up // now $additionalParticipant = $_POST['additional_participants']; } elseif (isset($values['additional_participants']) && CRM_Utils_Rule::positiveInteger($values['additional_participants'])) { $additionalParticipant = $values['additional_participants']; } if ($additionalParticipant) { $additionalParticipant = CRM_Utils_Type::escape($additionalParticipant, 'Integer'); $controller->set('addParticipant', $additionalParticipant); } //to add instances of Additional Participant page, only if user has entered any additional participants if ($additionalParticipant) { $extraPages = CRM_Event_Form_Registration_AdditionalParticipant::getPages($additionalParticipant); $pages = array_merge($pages, $extraPages); } $additionalPages = [ 'CRM_Event_Form_Registration_Confirm' => NULL, 'CRM_Event_Form_Registration_ThankYou' => NULL, ]; $pages = array_merge($pages, $additionalPages); // CRM-11182 - Optional confirmation screen if (!$is_confirm_enabled && !$is_monetary) { unset($pages['CRM_Event_Form_Registration_Confirm']); } $this->addSequentialPages($pages, $action); } }