Create a default form
[MAILPOET-1449]
This commit is contained in:
@ -1,12 +1,12 @@
|
||||
<?php
|
||||
namespace MailPoet\Config;
|
||||
|
||||
use MailPoet\Config\PopulatorData\DefaultForm;
|
||||
use MailPoet\Cron\CronTrigger;
|
||||
use MailPoet\Mailer\MailerLog;
|
||||
use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\NewsletterTemplate;
|
||||
use MailPoet\Models\Form;
|
||||
use MailPoet\Models\Segment;
|
||||
use MailPoet\Models\SendingQueue;
|
||||
use MailPoet\Models\StatisticsForms;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Segments\WP;
|
||||
@ -24,6 +24,7 @@ class Populator {
|
||||
public $prefix;
|
||||
public $models;
|
||||
public $templates;
|
||||
private $default_segment;
|
||||
const TEMPLATES_NAMESPACE = '\MailPoet\Config\PopulatorData\Templates\\';
|
||||
|
||||
function __construct() {
|
||||
@ -87,6 +88,7 @@ class Populator {
|
||||
array_map(array($this, 'populate'), $this->models);
|
||||
|
||||
$this->createDefaultSegments();
|
||||
$this->createDefaultForm();
|
||||
$this->createDefaultSettings();
|
||||
$this->createMailPoetPage();
|
||||
$this->createSourceForSubscribers();
|
||||
@ -195,13 +197,28 @@ class Populator {
|
||||
|
||||
// Default segment
|
||||
if(Segment::where('type', 'default')->count() === 0) {
|
||||
$default_segment = Segment::create();
|
||||
$default_segment->hydrate(array(
|
||||
$this->default_segment = Segment::create();
|
||||
$this->default_segment->hydrate([
|
||||
'name' => __('My First List', 'mailpoet'),
|
||||
'description' =>
|
||||
__('This list is automatically created when you install MailPoet.', 'mailpoet')
|
||||
));
|
||||
$default_segment->save();
|
||||
]);
|
||||
$this->default_segment->save();
|
||||
}
|
||||
}
|
||||
|
||||
private function createDefaultForm() {
|
||||
if(Form::count() === 0) {
|
||||
$factory = new DefaultForm();
|
||||
if(!$this->default_segment) {
|
||||
$this->default_segment = Segment::where('type', 'default')->orderByAsc('id')->limit(1)->findOne();
|
||||
}
|
||||
Form::createOrUpdate([
|
||||
'name' => $factory->getName(),
|
||||
'body' => serialize($factory->getBody()),
|
||||
'settings' => serialize($factory->getSettings($this->default_segment)),
|
||||
'styles' => $factory->getStyles(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user