__('Add a newsletter subscription form.') ) ); } /** * Save the new widget's title. */ public function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['form'] = (int)$new_instance['form']; return $instance; } /** * Output the widget's option form. */ public function form($instance) { $instance = wp_parse_args( (array)$instance, array( 'title' => __("Subscribe to our Newsletter") ) ); $form_edit_url = admin_url('admin.php?page=mailpoet-form-editor&id='); // set title $title = isset($instance['title']) ? strip_tags($instance['title']) : ''; // set form $selected_form = isset($instance['form']) ? (int)($instance['form']) : 0; // get forms list $forms = Form::getPublished()->orderByAsc('name')->findArray(); ?>

id_base ); // get form $form = Form::getPublished()->findOne($instance['form']); // if the form was not found, return nothing. if($form === false) { return ''; } else { $form = $form->asArray(); $form_type = 'widget'; if(isset($instance['form_type']) && in_array( $instance['form_type'], array('html', 'php', 'iframe', 'shortcode') )) { $form_type = $instance['form_type']; } $settings = (isset($form['settings']) ? $form['settings'] : array()); $body = (isset($form['body']) ? $form['body'] : array()); $output = ''; if(!empty($body)) { $form_id = $this->id_base.'_'.$form['id']; $data = array( 'form_id' => $form_id, 'form_type' => $form_type, 'form' => $form, 'title' => $title, 'styles' => FormRenderer::renderStyles($form, '#'.$form_id), 'html' => FormRenderer::renderHTML($form), 'before_widget' => (!empty($before_widget) ? $before_widget : ''), 'after_widget' => (!empty($after_widget) ? $after_widget : ''), 'before_title' => (!empty($before_title) ? $before_title : ''), 'after_title' => (!empty($after_title) ? $after_title : '') ); // if(isset($_GET['mailpoet_form']) && (int)$_GET['mailpoet_form'] === $form['id']) { // // form messages (success / error) // $output .= '
'; // // success message // if(isset($_GET['mailpoet_success'])) { // $output .= '

'.strip_tags(urldecode($_GET['mailpoet_success']), '

').'

'; // } // // error message // if(isset($_GET['mailpoet_error'])) { // $output .= '

'.strip_tags(urldecode($_GET['mailpoet_error']), '

').'

'; // } // $output .= '
'; // } else { // $output .= '
'; // } // render form $renderer = new Renderer(); $renderer = $renderer->init(); $output = $renderer->render('form/widget.html', $data); $output = do_shortcode($output); } if($form_type === 'widget') { echo $output; } else { return $output; } } } }