// phpcs:ignore Generic.Commenting.DocComment.MissingShort
/** @noinspection PhpUndefinedConstantInspection */
namespace WPForms\Integrations\ConstantContact\V3;
use WPForms\Integrations\ConstantContact\V3\Settings\FormBuilder;
use WPForms\Integrations\ConstantContact\V3\Settings\PageIntegrations;
use WPForms\Providers\Provider\Core as ProviderCore;
* Class Constant Contact V3 Core.
class Core extends ProviderCore {
* Priority for a provider, that will affect loading/placement order.
const SLUG = 'constant-contact-v3';
public function __construct() {
'name' => $this->get_name(),
'icon' => WPFORMS_PLUGIN_URL . 'assets/images/icon-provider-constant-contact.png',
* Provide an instance of the object, that should process the submitted entry.
* It will use data from an already saved entry to pass it further to a Provider.
public function get_process(): Process {
$process = new Process( $this );
* Provide an instance of the object, that should display provider settings
* on Settings > Integrations page in the admin area.
* @return PageIntegrations
public function get_page_integrations(): PageIntegrations {
$integration = new PageIntegrations( static::get_instance() );
* Provide an instance of the object, that should display provider settings in the Form Builder.
public function get_form_builder(): FormBuilder {
$builder = new FormBuilder( $this );
* Adds "(V3)" to the name if WPFORMS_DEBUG is defined.
private function get_name(): string {
$base = 'Constant Contact';
if ( ! defined( 'WPFORMS_DEBUG' ) || ! WPFORMS_DEBUG ) {