Settings -> Integrations page. * * @package WPForms\Providers\Provider\Settings * @author WPForms * @since 1.4.7 * @license GPL-2.0+ * @copyright Copyright (c) 2018, WPForms LLC */ abstract class PageIntegrations implements PageIntegrationsInterface { /** * Get the Core loader class of a provider. * * @since 1.4.7 * * @var Core */ protected $core; /** * Integrations constructor. * * @since 1.4.7 * * @param Core $core Core provider object. */ public function __construct( Core $core ) { $this->core = $core; $this->ajax(); } /** * Process the default ajax functionality. * * @since 1.4.7 */ protected function ajax() { // Remove provider from Settings Integrations tab. \add_action( 'wp_ajax_wpforms_settings_provider_disconnect', array( $this, 'ajax_disconnect' ) ); // Add new provider from Settings Integrations tab. \add_action( 'wp_ajax_wpforms_settings_provider_add', array( $this, 'ajax_connect' ) ); } /** * @inheritdoc */ public function display( $active, $settings ) { $connected = ! empty( $active[ $this->core->slug ] ); $accounts = ! empty( $settings[ $this->core->slug ] ) ? $settings[ $this->core->slug ] : array(); $class = $connected && $accounts ? 'connected' : ''; $arrow = 'right'; // This lets us highlight a specific service by a special link. if ( ! empty( $_GET['wpforms-integration'] ) ) { //phpcs:ignore if ( $this->core->slug === $_GET['wpforms-integration'] ) { //phpcs:ignore $class .= ' focus-in'; $arrow = 'down'; } else { $class .= ' focus-out'; } } ?>
core->name ) ); ?>