Invision Power Services, Inc. * @copyright (c) Invision Power Services, Inc. * @license https://www.invisioncommunity.com/legal/standards/ * @package Invision Community * @subpackage * @since 11/16/2023 */ namespace IPS\Extensions; /* To prevent PHP errors (extending class does not exist) revealing path */ use IPS\Helpers\Form; if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } abstract class ContactUsAbstract { /** * Process Form * * @param Form $form The form * @param array $formFields Additional Configuration Formfields * @param array $options Type Radio Form Options * @param array $toggles Type Radio Form Toggles * @param array $disabled Type Radio Form Disabled Options * @return void */ abstract public function process( Form &$form, array &$formFields, array &$options, array &$toggles, array &$disabled ) : void; /** * Allows extensions to do something before the form is shown... e.g. add your own custom fields, or redirect the page * * @param Form $form The form * @return void */ abstract public function runBeforeFormOutput( Form $form ) : void; /** * Handle the Form * * @param array $values Values from form * @return bool */ abstract public function handleForm( array $values ) : bool; }