Spaces:
No application file
No application file
File size: 1,509 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
<?php
namespace Mautic\EmailBundle\DataFixtures\ORM;
use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Doctrine\Persistence\ObjectManager;
use Mautic\CoreBundle\Helper\CsvHelper;
use Mautic\CoreBundle\Helper\Serializer;
use Mautic\EmailBundle\Entity\Email;
use Mautic\EmailBundle\Model\EmailModel;
class LoadEmailData extends AbstractFixture implements OrderedFixtureInterface
{
public function __construct(
private EmailModel $emailModel
) {
}
public function load(ObjectManager $manager): void
{
$emails = CsvHelper::csv_to_array(__DIR__.'/fakeemaildata.csv');
foreach ($emails as $count => $rows) {
$email = new Email();
$email->setDateAdded(new \DateTime());
$key = $count + 1;
foreach ($rows as $col => $val) {
if ('NULL' != $val) {
$setter = 'set'.ucfirst($col);
if (in_array($col, ['content', 'variantSettings'])) {
$val = Serializer::decode(stripslashes($val));
}
$email->$setter($val);
}
}
$email->addList($this->getReference('lead-list'));
$this->emailModel->getRepository()->saveEntity($email);
$this->setReference('email-'.$key, $email);
}
}
/**
* @return int
*/
public function getOrder()
{
return 9;
}
}
|