Example #1
0
/**
 * Saves the custom HTML provider data.
 *
 * @since 2.0.0
 */
function optin_monster_ajax_save_custom_html()
{
    $optin_id = absint($_POST['id']);
    $data = array('content' => stripslashes($_POST['content']));
    $api = optin_monster_ajax_get_email_provider('custom');
    $ret = $api->authenticate($data, $optin_id);
    die(json_encode(true));
}
Example #2
0
 /**
  * Collects the data for and opts-in a visitor.
  *
  * @since 2.0.0
  *
  * @global object $wpdb The WordPress DB object.
  * @return void
  */
 protected function do_optinmonster()
 {
     // Make sure an optin ID was set.
     if (!isset($this->data['optin_id'])) {
         die(json_encode(array('error' => __('No optin ID could be found. Please try again.', 'optin-monster'))));
     }
     // Collect and prepare the data.
     $meta = get_post_meta($this->data['optin_id'], '_om_meta', true);
     $provider = isset($meta['email']['provider']) ? $meta['email']['provider'] : false;
     // Make sure a provider has been set.
     if (!$provider || 'none' == $provider) {
         die(json_encode(array('error' => __('No email provider has been set for this optin. Please try again.', 'optin-monster'))));
     }
     // Grab the provider object.
     $provider = optin_monster_ajax_get_email_provider($provider);
     // Load the data interfaces.
     require plugin_dir_path(__FILE__) . 'ajax-do-optin.php';
     require plugin_dir_path(__FILE__) . 'track-datastore.php';
     // Create the datastore interface objects.
     global $wpdb;
     $lead_store = new Optin_Monster_Lead_Datastore($wpdb);
     $track_store = new Optin_Monster_Track_Datastore($this->data['optin_id']);
     // Save the optin object.
     add_filter('optin_monster_lead_response', array($this, 'pass_lead'), 10, 2);
     $this->route = new Optin_Monster_Ajax_Do_Optin($this->data, $provider, $lead_store, $track_store);
     remove_filter('optin_monster_lead_response', array($this, 'pass_lead'), 10, 2);
 }