first commit
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
defined( 'ABSPATH' ) or exit;
|
||||
|
||||
/**
|
||||
* Class MC4WP_Ninja_Forms_Integration
|
||||
*
|
||||
* @ignore
|
||||
*/
|
||||
class MC4WP_Ninja_Forms_Integration extends MC4WP_Integration {
|
||||
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $name = 'Ninja Forms';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $description = 'Subscribe visitors from your Ninja Forms forms.';
|
||||
|
||||
|
||||
/**
|
||||
* Add hooks
|
||||
*/
|
||||
public function add_hooks() {
|
||||
add_action( 'mc4wp_integration_ninja_forms_subscribe', array( $this, 'subscribe_from_ninja_forms' ), 10, 7 );
|
||||
}
|
||||
|
||||
public function subscribe_from_ninja_forms( $email_address, $merge_fields, $list_id, $double_optin = true, $update_existing = false, $replace_interests = false, $form_id = 0 ) {
|
||||
// set options from parameters (coming from action)
|
||||
$orig_options = $this->options;
|
||||
$this->options['double_optin'] = $double_optin;
|
||||
$this->options['update_existing'] = $update_existing;
|
||||
$this->options['replace_interests'] = $replace_interests;
|
||||
$this->options['lists'] = array( $list_id );
|
||||
|
||||
$data = $merge_fields;
|
||||
$data['EMAIL'] = $email_address;
|
||||
|
||||
$this->subscribe( $data, $form_id );
|
||||
|
||||
// revert to original options
|
||||
$this->options = $orig_options;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function is_installed() {
|
||||
return class_exists( 'Ninja_Forms' );
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 3.0
|
||||
* @return array
|
||||
*/
|
||||
public function get_ui_elements() {
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $form_id
|
||||
* @return string
|
||||
*/
|
||||
public function get_object_link( $form_id ) {
|
||||
return '<a href="' . admin_url( sprintf( 'admin.php?page=ninja-forms&form_id=%d', $form_id ) ) . '">Ninja Forms</a>';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user