/** * 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)); }
/** * 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); }