Subscribe on registration

This commit is contained in:
Jonathan Labreuille
2016-01-14 15:18:44 +01:00
parent f5c7bb87af
commit a63ce3cdac
5 changed files with 129 additions and 29 deletions

View File

@ -9,10 +9,9 @@ class Comment {
const PENDING_APPROVAL = 0;
static function extendForm() {
$subscribe_settings = Setting::getValue('subscribe');
$label = (isset($subscribe_settings['on_comment']['label'])
? $subscribe_settings['on_comment']['label']
: __('Yes, add me to your mailing list.')
$label = Setting::getValue(
'subscribe.on_comment.label',
__('Yes, add me to your mailing list.')
);
print '<p class="comment-form-mailpoet">
@ -73,10 +72,9 @@ class Comment {
}
private static function subscribeAuthorOfComment($comment_id) {
$subscribe_settings = Setting::getValue('subscribe');
$segment_ids = (array)$subscribe_settings['on_comment']['segments'];
$segment_ids = Setting::getValue('subscribe.on_comment.segments', array());
if($subscribe_settings !== null) {
if(!empty($segment_ids)) {
$comment = get_comment($comment_id);
$result = Subscriber::subscribe(

View File

@ -0,0 +1,67 @@
<?php
namespace MailPoet\Subscription;
use \MailPoet\Models\Setting;
use \MailPoet\Models\Subscriber;
class Registration {
static function extendForm() {
$label = Setting::getValue(
'subscribe.on_register.label',
__('Yes, add me to your mailing list.')
);
print '<p class="registration-form-mailpoet">
<label for="mailpoet_subscribe_on_register">
<input
type="checkbox"
id="mailpoet_subscribe_on_register"
value="1"
name="mailpoet[subscribe_on_register]"
/>&nbsp;'.esc_attr($label).'
</label>
</p>';
}
static function onMSRegister($result) {
if(empty($result['errors']->errors)) {
if(
isset($_POST['mailpoet']['subscribe_on_register'])
&& $_POST['mailpoet']['subscribe_on_register']
) {
static::subscribeNewUser(
$result['user_name'],
$result['user_email']
);
}
}
return $result;
}
static function onRegister(
$user_login,
$user_email = null,
$errors = null
) {
if(
isset($_POST['mailpoet']['subscribe_on_register'])
&& $_POST['mailpoet']['subscribe_on_register']
) {
static::subscribeNewUser($user_login, $user_email);
}
}
private static function subscribeNewUser($login, $email) {
$segment_ids = Setting::getValue('subscribe.on_comment.segments', array());
if(!empty($segment_ids)) {
Subscriber::subscribe(
array(
'email' => $email,
'first_name' => $login
),
$segment_ids
);
}
}
}