success messages in both context when subscribing to a form
This commit is contained in:
@@ -22,7 +22,7 @@ function(
|
||||
|
||||
form.parsley().on('form:validated', function(parsley) {
|
||||
// clear messages
|
||||
//form.find('.mailpoet_message').hide();
|
||||
form.find('.mailpoet_message > p').hide();
|
||||
|
||||
// resize iframe
|
||||
if(window.frameElement !== null) {
|
||||
@@ -45,15 +45,10 @@ function(
|
||||
action: 'subscribe',
|
||||
data: data
|
||||
}).done(function(response) {
|
||||
if(response.result !== true) {
|
||||
// errors
|
||||
$.each(response.errors, function(index, error) {
|
||||
form
|
||||
.find('.mailpoet_message')
|
||||
.append('<p class="mailpoet_validate_error">'+
|
||||
error+
|
||||
'</p>');
|
||||
});
|
||||
if(response.result === false) {
|
||||
form.find('.mailpoet_validate_error').html(
|
||||
response.errors.join('<br />')
|
||||
).show();
|
||||
} else {
|
||||
// successfully subscribed
|
||||
if(response.page !== undefined) {
|
||||
|
@@ -148,11 +148,11 @@ class Widget extends \WP_Widget {
|
||||
'after_title' => (!empty($after_title) ? $after_title : '')
|
||||
);
|
||||
|
||||
// check if the form was submitted
|
||||
$data['is_submitted'] = (
|
||||
(isset($_GET['mailpoet_form']))
|
||||
// check if the form was successfully submitted via POST (non ajax)
|
||||
$data['success'] = (
|
||||
(isset($_GET['mailpoet_success']))
|
||||
&&
|
||||
((int)$_GET['mailpoet_form'] === (int)$form['id'])
|
||||
((int)$_GET['mailpoet_success'] === (int)$form['id'])
|
||||
);
|
||||
|
||||
// generate security token
|
||||
|
@@ -102,19 +102,20 @@ class Subscribers {
|
||||
if($form_settings !== null) {
|
||||
switch($form_settings['on_success']) {
|
||||
case 'page':
|
||||
$success_page_url = get_permalink($form_settings['success_page']);
|
||||
|
||||
// response depending on context
|
||||
if($doing_ajax === true) {
|
||||
return array(
|
||||
'result' => $result,
|
||||
'page' => get_permalink($form_settings['success_page']),
|
||||
'page' => $success_page_url,
|
||||
'errors' => $errors
|
||||
);
|
||||
} else {
|
||||
// handle success/error messages
|
||||
if($result === false) {
|
||||
Url::redirectBack();
|
||||
} else {
|
||||
Url::redirectTo(get_permalink($form_settings['success_page']));
|
||||
Url::redirectTo($success_page_url);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -124,11 +125,17 @@ class Subscribers {
|
||||
// response depending on context
|
||||
if($doing_ajax === true) {
|
||||
return array(
|
||||
'result' => true,
|
||||
'result' => $result,
|
||||
'errors' => $errors
|
||||
);
|
||||
} else {
|
||||
Url::redirectBack();
|
||||
$params = (
|
||||
($result === true)
|
||||
? array('mailpoet_success' => $form->id)
|
||||
: array()
|
||||
);
|
||||
|
||||
Url::redirectBack($params);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -24,14 +24,18 @@
|
||||
<% endfor %>
|
||||
<% endif %>
|
||||
<%= html | raw %>
|
||||
<div
|
||||
class="mailpoet_message"
|
||||
>
|
||||
|
||||
<p class="mailpoet_validate_success" style="display:none;">
|
||||
<%= form.settings.success_message %>
|
||||
</p>
|
||||
|
||||
<div class="mailpoet_message">
|
||||
<p
|
||||
class="mailpoet_validate_success"
|
||||
<% if not(success) %>
|
||||
style="display:none;"
|
||||
<% endif %>
|
||||
>
|
||||
<%= form.settings.success_message %>
|
||||
</p>
|
||||
<p class="mailpoet_validate_error" style="display:none;">
|
||||
<!-- errors will be displayed here -->
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user