![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/LeadBundle/DataFixtures/ORM/ |
<?php namespace Mautic\LeadBundle\DataFixtures\ORM; use Doctrine\Common\DataFixtures\AbstractFixture; use Doctrine\Common\DataFixtures\OrderedFixtureInterface; use Doctrine\Persistence\ObjectManager; use Mautic\CoreBundle\Entity\IpAddress; use Mautic\CoreBundle\Helper\CsvHelper; use Mautic\LeadBundle\Entity\CompanyLead; use Mautic\LeadBundle\Entity\CompanyLeadRepository; use Mautic\LeadBundle\Entity\Lead; use Mautic\LeadBundle\Entity\LeadRepository; class LoadLeadData extends AbstractFixture implements OrderedFixtureInterface { public function load(ObjectManager $manager): void { /** @var LeadRepository $leadRepo */ $leadRepo = $manager->getRepository(Lead::class); /** @var CompanyLeadRepository $companyLeadRepo */ $companyLeadRepo = $manager->getRepository(CompanyLead::class); $today = new \DateTime(); $leads = CsvHelper::csv_to_array(__DIR__.'/fakeleaddata.csv'); foreach ($leads as $count => $l) { $key = $count + 1; $lead = new Lead(); $lead->setDateAdded($today); $ipAddress = new IpAddress(); $ipAddress->setIpAddress($l['ip']); $this->setReference('ipAddress-'.$key, $ipAddress); unset($l['ip']); $lead->addIpAddress($ipAddress); if ($this->hasReference('sales-user')) { $lead->setOwner($this->getReference('sales-user')); } foreach ($l as $col => $val) { $lead->addUpdatedField($col, $val); } $leadRepo->saveEntity($lead); $this->setReference('lead-'.$count, $lead); // Assign to companies in a predictable way $lastCharacter = (int) substr($count, -1, 1); if ($lastCharacter <= 3) { if ($this->hasReference('company-'.$lastCharacter)) { $companyLead = new CompanyLead(); $companyLead->setLead($lead); $companyLead->setCompany($this->getReference('company-'.$lastCharacter)); $companyLead->setDateAdded($today); $companyLead->setPrimary(true); $companyLeadRepo->saveEntity($companyLead); } } } } /** * @return int */ public function getOrder() { return 5; } }