core = $core; } /** * Receive all wpforms_process_complete params and do the actual processing. * * @since 1.4.7 * * @param array $fields Array of form fields. * @param array $entry Submitted form content. * @param array $form_data Form data and settings. * @param int $entry_id ID of a saved entry. */ abstract public function process( $fields, $entry, $form_data, $entry_id ); /** * Process conditional logic for a connection. * * @since 1.4.7 * * @param array $fields Array of form fields. * @param array $form_data Form data and settings. * @param array $connection All connection data. * * @return bool */ protected function process_conditionals( $fields, $form_data, $connection ) { if ( empty( $connection['conditional_logic'] ) || empty( $connection['conditionals'] ) || ! function_exists( 'wpforms_conditional_logic' ) ) { return true; } $process = wpforms_conditional_logic()->process( $fields, $form_data, $connection['conditionals'] ); if ( ! empty( $connection['conditional_type'] ) && $connection['conditional_type'] === 'stop' ) { $process = ! $process; } return $process; } /** * Get provider options, saved on Settings > Integrations page. * * @since 1.4.7 * * @return array */ protected function get_options() { return wpforms_get_providers_options( $this->core->slug ); } }