- Removes validation of MailChimp API key

- Refactors import class
- Creates new method in Newsletter model to select welcome notifications
  for specific segments
- Updates Step 2 (error) and Step 3 (success) notices
- Gives MenuBootstrap class a comprehensible name
This commit is contained in:
Vlad
2016-05-26 18:50:30 -04:00
parent 142421ad48
commit 377498be1d
10 changed files with 49 additions and 51 deletions

View File

@ -5,6 +5,8 @@ if(!defined('ABSPATH')) exit;
class Newsletter extends Model {
public static $_table = MP_NEWSLETTERS_TABLE;
const TYPE_WELCOME = 'wecome';
const TYPE_NOTIFICATION = 'notification';
function __construct() {
parent::__construct();
@ -259,4 +261,25 @@ class Newsletter extends Model {
$newsletter->save();
return $newsletter;
}
}
static function getWelcomeNotificationsForSegments($segments) {
return NewsletterOption::table_alias('options')
->select('options.newsletter_id')
->select('options.value', 'segment_id')
->join(
self::$_table,
'newsletters.id = options.newsletter_id',
'newsletters'
)
->join(
MP_NEWSLETTER_OPTION_FIELDS_TABLE,
'option_fields.id = options.option_field_id',
'option_fields'
)
->whereNull('newsletters.deleted_at')
->where('newsletters.type', 'welcome')
->where('option_fields.name', 'segment')
->whereIn('options.value', $segments)
->findMany();
}
}